8.5. 도메인 컨트롤러 검색 및 페일오버

관리형 도메인을 설정할 때 각 호스트 컨트롤러는 도메인 컨트롤러에 연결하는 데 필요한 정보로 구성해야 합니다. JBoss EAP에서 각 호스트 컨트롤러는 도메인 컨트롤러를 찾기 위한 여러 옵션으로 구성할 수 있습니다. 호스트 컨트롤러는 성공할 때까지 옵션 목록을 반복합니다.

기본 도메인 컨트롤러에 문제가 있는 경우 백업 호스트 컨트롤러를 도메인 비상사로 승격 할 수 있습니다. 이렇게 하면 호스트 컨트롤러가 승격되고 나면 새 도메인 컨트롤러로 자동으로 페일오버할 수 있습니다.

8.5.1. 도메인 검색 옵션 구성

다음은 도메인 컨트롤러를 찾기 위한 여러 옵션을 사용하여 호스트 컨트롤러를 구성하는 방법의 예입니다.

예제: 여러 도메인 컨트롤러 옵션이 있는 호스트 컨트롤러

<domain-controller>
  <remote security-realm="ManagementRealm">
    <discovery-options>
      <static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote}" host="172.16.81.100" port="${jboss.domain.master.port:9990}"/>
      <static-discovery name="backup" protocol="${jboss.domain.master.protocol:remote}" host="172.16.81.101" port="${jboss.domain.master.port:9990}"/>
    </discovery-options>
  </remote>
</domain-controller>

정적 검색 옵션에는 다음과 같은 필수 속성이 포함됩니다.

name
이 도메인 컨트롤러 검색 옵션의 이름입니다.
호스트
원격 도메인 컨트롤러의 호스트 이름입니다.
port
원격 도메인 컨트롤러의 포트.

위의 예에서 첫 번째 검색 옵션은 성공할 것으로 예상되는 옵션입니다. 두 번째 방법은 페일오버 상태에서 사용될 수 있습니다.

8.5.2. 캐시된 도메인 구성으로 호스트 컨트롤러 시작

호스트 컨트롤러는 --cached-dc 옵션을 사용하여 도메인 컨트롤러에 연결하지 않고 시작할 수 있지만 호스트 컨트롤러는 이전에 도메인 컨트롤러에서 로컬로 도메인 구성을 캐시해야 합니다. 이 --cached-dc 옵션으로 호스트 컨트롤러를 시작하면 도메인 컨트롤러에서 호스트 컨트롤러의 도메인 구성을 캐시합니다.

$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml --cached-dc

그러면 이 호스트 컨트롤러가 도메인 컨트롤러 연결 없이 현재 서버를 일시적으로 관리하는 데 필요한 정보가 포함된 EAP_HOME/domain/configuration/ 디렉터리에 domain.cached-remote.xml 파일이 생성됩니다.

참고

기본적으로 --cached-dc 옵션을 사용하면 이 호스트 컨트롤러에서 사용하는 구성만 캐시하므로 전체 도메인의 도메인 컨트롤러로 승격할 수 없습니다. 호스트 컨트롤러가 도메인 컨트롤러 역할을 할 수 있도록 전체 도메인 구성을 캐싱하는 방법에 대한 자세한 내용은 도메인 구성 캐시를 참조하십시오.

--cached-dc 로 이 호스트 컨트롤러를 시작할 때 도메인 컨트롤러를 사용할 수 없는 경우 호스트 컨트롤러는 domain.cached-remote.xml 파일에 저장된 캐시된 구성을 사용하기 시작합니다. 이 파일이 있어야 합니다. 그렇지 않으면 호스트 컨트롤러가 시작되지 않습니다.

이 상태에서 호스트 컨트롤러는 도메인 구성을 수정할 수 없지만 서버를 시작하고 배포를 관리할 수 있습니다.

캐시된 구성으로 시작된 후에도 호스트 컨트롤러는 도메인 컨트롤러에 계속 다시 연결을 시도합니다. 도메인 컨트롤러를 사용할 수 있게 되면 호스트 컨트롤러가 자동으로 다시 연결하고 도메인 구성을 동기화합니다. 일부 구성을 변경하려면 호스트 컨트롤러를 다시 로드해야 할 수 있습니다. 이러한 경우 호스트 컨트롤러에 경고가 기록됩니다.

8.5.3. 호스트 컨트롤러가 도메인 컨트롤러로 작동하도록 승격

기본 도메인 컨트롤러에 문제가 발생하는 경우 호스트 컨트롤러가 도메인 컨트롤러 역할을 하도록 승격할 수 있습니다. 호스트 컨트롤러는 먼저 도메인 컨트롤러에서 로컬로 도메인 구성을 캐시 해야 승격 할 수 있습니다.

도메인 구성 캐시

도메인 컨트롤러가 되고자 할 수 있는 모든 호스트 컨트롤러에 --backup 옵션을 사용합니다.

$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml --backup

그러면 전체 도메인 구성의 복사본이 포함된 EAP_HOME/domain/configuration/ 디렉터리에 domain.cached-remote.xml 파일이 생성됩니다. 호스트 컨트롤러가 도메인 컨트롤러 역할을 하도록 재구성되면 이 구성이 사용됩니다.

참고

ignore-unused-configuration 특성은 특정 호스트에 대해 캐시할 구성 양을 결정하는 데 사용됩니다. true 값은 이 호스트 컨트롤러와 관련된 구성만 캐시하므로 도메인 컨트롤러로 이수할 수 없습니다. false 값은 전체 도메인 구성이 캐시됨을 의미합니다.

backup 인수는 속성의 기본값을 false 로 하여 전체 도메인을 캐시합니다. 그러나 host.xml 파일에서 이 속성을 설정하면 해당 값이 사용됩니다.

또한 --cached-dc 옵션을 사용하여 도메인 구성의 복사본을 생성할 수도 있지만, 전체 도메인을 캐시하려면 host.xml 에서 ignore-unused-configurationfalse로 설정해야 합니다. 예를 들면 다음과 같습니다.

<domain-controller>
  <remote username="$local" security-realm="ManagementRealm" ignore-unused-configuration="false">
    <discovery-options>
      ...
    </discovery-options>
  </remote>
</domain-controller>
호스트 컨트롤러를 도메인 컨트롤러로 승격
  1. 원래 도메인 컨트롤러가 중지되었는지 확인합니다.
  2. 관리 CLI를 사용하여 새 도메인 컨트롤러가 될 호스트 컨트롤러에 연결합니다.
  3. 다음 명령을 실행하여 새 도메인 컨트롤러 역할을 하도록 호스트 컨트롤러를 구성합니다.

    /host=backup:write-attribute(name=domain-controller.local, value={})
  4. 다음 명령을 실행하여 호스트 컨트롤러를 다시 로드합니다.

    reload --host=HOST_NAME

이 호스트 컨트롤러가 이제 도메인 컨트롤러 역할을 합니다.