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-configuration
을 false로
설정해야 합니다. 예를 들면 다음과 같습니다.
<domain-controller> <remote username="$local" security-realm="ManagementRealm" ignore-unused-configuration="false"> <discovery-options> ... </discovery-options> </remote> </domain-controller>
호스트 컨트롤러를 도메인 컨트롤러로 승격
- 원래 도메인 컨트롤러가 중지되었는지 확인합니다.
- 관리 CLI를 사용하여 새 도메인 컨트롤러가 될 호스트 컨트롤러에 연결합니다.
다음 명령을 실행하여 새 도메인 컨트롤러 역할을 하도록 호스트 컨트롤러를 구성합니다.
/host=backup:write-attribute(name=domain-controller.local, value={})
다음 명령을 실행하여 호스트 컨트롤러를 다시 로드합니다.
reload --host=HOST_NAME
이 호스트 컨트롤러가 이제 도메인 컨트롤러 역할을 합니다.