8.5. 관리형 도메인 설정
8.5.1. 단일 머신에서 관리형 도메인 설정
jboss.domain.base.dir
속성을 사용하여 단일 시스템에서 여러 호스트 컨트롤러를 실행할 수 있습니다.
단일 시스템에서 두 개 이상의 JBoss EAP 호스트 컨트롤러를 시스템 서비스로 구성하는 것은 지원되지 않습니다.
도메인 컨트롤러의
EAP_HOME/domain
디렉터리를 복사합니다.$ cp -r EAP_HOME/domain /path/to/domain1
호스트 컨트롤러의
EAP_HOME/domain
디렉터리를 복사합니다.$ cp -r EAP_HOME/domain /path/to/host1
/path/to/domain1
을 사용하여 도메인 컨트롤러를 시작합니다.$ EAP_HOME/bin/domain.sh --host-config=host-master.xml -Djboss.domain.base.dir=/path/to/domain1
/path/to/host1
을 사용하여 호스트 컨트롤러를 시작합니다.$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml -Djboss.domain.base.dir=/path/to/host1 -Djboss.domain.master.address=IP_ADDRESS -Djboss.management.native.port=PORT
참고호스트 컨트롤러를 시작할 때
jboss.domain.master.address
속성을 사용하여 도메인 컨트롤러의 주소를 지정해야 합니다.또한 이 호스트 컨트롤러는 도메인 컨트롤러와 동일한 시스템에서 실행되므로 도메인 컨트롤러의 관리 인터페이스와 충돌하지 않도록 관리 인터페이스를 변경해야 합니다. 이 명령은
jboss.management.native.port
속성을 설정합니다.
이러한 방식으로 시작된 각 인스턴스는 기본 설치 디렉터리의 나머지 리소스(예: EAP_HOME/modules/
)를 공유하지만 jboss.domain.base.dir
에서 지정하는 디렉터리의 도메인 구성을 사용합니다.
8.5.2. 두 시스템에서 관리형 도메인 설정
이 예제를 실행하도록 방화벽을 구성해야 할 수도 있습니다.
두 시스템에서 관리형 도메인을 생성할 수 있습니다. 여기서 한 시스템은 도메인 컨트롤러이고 다른 시스템은 호스트입니다. 자세한 내용은 도메인 컨트롤러 정보를 참조하십시오.
-
IP1
= 도메인 컨트롤러의 IP 주소 (머신 1) -
IP2
= 호스트의 IP 주소 (머신 2)
두 시스템에서 관리형 도메인 생성
시스템 1에서
도메인 컨트롤러에서 호스트를 인증할 수 있도록 관리 사용자를 추가합니다.
add-user.sh
스크립트를 사용하여 호스트 컨트롤러의 관리 사용자(HOST_NAME
)를 추가합니다. 마지막 프롬프트에yes
로 응답하고 제공된 시크릿 값(<secret value="SECRET_VALUE" /
> )을 확인합니다. 이 시크릿 값은 호스트 컨트롤러 구성에 사용됩니다.도메인 컨트롤러를 시작합니다.
전용 도메인 컨트롤러에 사전 구성된
host-master.xml
구성 파일을 지정합니다. 또한jboss.bind.address.management
속성을 설정하여 도메인 컨트롤러를 다른 시스템에 볼 수 있도록 합니다.$ EAP_HOME/bin/domain.sh --host-config=host-master.xml -Djboss.bind.address.management=IP1
머신 2에서
사용자 자격 증명을 사용하여 호스트 구성을 업데이트합니다.
EAP_HOME/domain/configuration/host-slave.xml
을 편집하고 호스트 이름(HOST_NAME
) 및 시크릿 값(SECRET_VALUE
)을 설정합니다.<host xmlns="urn:jboss:domain:1.6" name="HOST_NAME"> <management> <security-realms> <security-realm name="ManagementRealm"> <server-identities> <secret value="SECRET_VALUE" /> </server-identities> ...
호스트 컨트롤러를 시작합니다.
슬레이브 호스트 컨트롤러에 사전 구성된
host-slave.xml
구성 파일을 지정합니다. 또한jboss.domain.master.address
속성을 설정하여 도메인 컨트롤러에 연결하고jboss.bind.address
속성을 설정하여 호스트 컨트롤러 바인딩 주소를 설정합니다.$ EAP_HOME/bin/domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=IP1 -Djboss.bind.address=IP2
이제 시작 시 --controller
매개변수로 도메인 컨트롤러 주소를 지정하여 관리 CLI에서 도메인을 관리할 수 있습니다.
$ EAP_HOME/bin/jboss-cli.sh --connect --controller=IP1
또는 http://IP1:9990
.에서 관리 콘솔에서 도메인을 관리할 수 있습니다.
8.5.3. JBoss EAP 6 인스턴스를 관리하도록 JBoss EAP 7 도메인 컨트롤러 구성
JBoss EAP 7 도메인 컨트롤러는 다음 조건이 충족되는 한 이전 버전의 JBoss EAP를 실행하는 호스트와 서버를 관리할 수 있습니다.
- JBoss EAP 인스턴스는 JBoss EAP 6.2 이상이어야 합니다.
- 도메인 컨트롤러의 JBoss EAP 버전은 관리하는 호스트 컨트롤러의 버전보다 크거나 같아야 합니다.
JBoss EAP 7 관리형 도메인에서 JBoss EAP 6 인스턴스를 성공적으로 관리하려면 다음 작업을 완료합니다.
이러한 작업이 완료되면 관리 CLI를 사용하여 JBoss EAP 7 도메인 컨트롤러에서 JBoss EAP 6 서버 및 구성을 관리할 수 있습니다. JBoss EAP 6 호스트는 배치 처리와 같은 새로운 JBoss EAP 7 기능을 활용할 수 없습니다.
관리 콘솔은 최신 버전의 JBoss EAP에 최적화되어 있으므로 JBoss EAP 6 호스트, 서버 및 프로필을 업데이트하는 데 사용해서는 안 됩니다. JBoss EAP 7 관리형 도메인에서 JBoss EAP 6 구성을 관리할 때 대신 관리 CLI를 사용하십시오.
8.5.3.1. JBoss EAP 7 도메인 컨트롤러에 JBoss EAP 6 구성 추가
도메인 컨트롤러가 JBoss EAP 6 서버를 관리할 수 있도록 하려면 JBoss EAP 7 도메인 구성에 JBoss EAP 6 구성 세부 정보를 제공해야 합니다. JBoss EAP 6 프로필, 소켓 바인딩 그룹 및 서버 그룹을 JBoss EAP 7 domain.xml
구성 파일에 복사하여 이 작업을 수행할 수 있습니다.
JBoss EAP 7 구성의 기존 이름과 충돌하는 경우 리소스의 이름을 변경해야 합니다. 또한 적절한 동작을 보장하기 위해 추가 조정 도 있습니다.
다음 절차에서는 JBoss EAP 6 기본
프로필, standard-sockets
소켓 바인딩 그룹 및 main-server-group
서버 그룹을 사용합니다.
-
JBoss EAP 7
domain.xml
구성 파일을 편집합니다. 해당 JBoss EAP 6 프로필을 JBoss EAP 7
domain.xml
파일에 복사합니다.이 절차에서는 JBoss EAP 6
기본
프로필이 복사되고 이름이 Cryostat6-default로 변경되었다
고 가정합니다.JBoss EAP 7
domain.xml
<profiles> ... <profile name="eap6-default"> ... </profile> </profiles>
이 프로필에서 사용하는 필요한 확장 기능을 추가합니다.
JBoss EAP 6 프로필에서 JBoss EAP 7에 더 이상 존재하지 않는 하위 시스템을 사용하는 경우 JBoss EAP 도메인 구성에 적절한 확장 기능을 추가해야 합니다.
JBoss EAP 7
domain.xml
<extensions> ... <extension module="org.jboss.as.configadmin"/> <extension module="org.jboss.as.threads"/> <extension module="org.jboss.as.web"/> <extensions>
해당 JBoss EAP 6 소켓 바인딩 그룹을 JBoss EAP 7
domain.xml
파일에 복사합니다.이 절차에서는 JBoss EAP 6
standard-sockets
소켓 바인딩 그룹이 복사되고 이름이 Cryostat6-standard-sockets
로 변경되었다고 가정합니다.JBoss EAP 7
domain.xml
<socket-binding-groups> ... <socket-binding-group name="eap6-standard-sockets" default-interface="public"> ... </socket-binding-group> </socket-binding-groups>
해당 JBoss EAP 6 서버 그룹을 JBoss EAP 7
domain.xml
파일에 복사합니다.이 절차에서는 JBoss EAP 6
main-server-group
서버 그룹이 복사되고 이름이 Cryostat6-main-server-group
으로 변경되었다고 가정합니다. 또한 JBoss EAP 6 프로필, Cryostat6-default 및 JBoss EAP 6 소켓 바인딩 그룹, Cryostat
를 사용하도록 이 서버 그룹을 업데이트해야 합니다.6-
standard-socketsJBoss EAP 7
domain.xml
<server-groups> ... <server-group name="eap6-main-server-group" profile="eap6-default"> ... <socket-binding-group ref="eap6-standard-sockets"/> </server-group> </server-groups>
8.5.3.2. JBoss EAP 6 프로필의 동작 업데이트
JBoss EAP 버전과 원하는 동작에 따라 JBoss EAP 6 인스턴스에서 사용하는 프로필에 대한 추가 업데이트가 필요합니다. 기존 JBoss EAP 6 인스턴스에서 사용하는 하위 시스템 및 구성에 따라 추가 변경이 필요할 수 있습니다.
JBoss EAP 7 도메인 컨트롤러를 시작하고 관리 CLI를 시작하여 다음 업데이트를 수행합니다. 이 예에서는 JBoss EAP 6 프로필이 Cryostat 6-default인
것으로 가정합니다.
8080
-validation
하위 시스템을 제거합니다.JBoss EAP 7은
ee
하위 시스템에서 8080 검증 기능을 자체 하위 시스템인ans-validation
로 이동했습니다. JBoss EAP 7 도메인 컨트롤러에서 레거시ee
하위 시스템을 확인하는 경우 새ans-validation
하위 시스템을 추가합니다. 그러나 JBoss EAP 6 호스트는 이 하위 시스템을 인식하지 않으므로 제거해야 합니다.JBoss EAP 7 도메인 컨트롤러 CLI
/profile=eap6-default/subsystem=bean-validation:remove
CDI 1.0 동작을 설정합니다.
이는 JBoss EAP 7에서 사용된 이후 CDI 버전의 동작과 달리 JBoss EAP 6 서버에 대한 CDI 1.0 동작을 원하는 경우에만 필요합니다. CDI 1.0 동작을 원하는 경우
weld
하위 시스템을 다음과 같이 업데이트합니다.JBoss EAP 7 도메인 컨트롤러 CLI
/profile=eap6-default/subsystem=weld:write-attribute(name=require-bean-descriptor,value=true) /profile=eap6-default/subsystem=weld:write-attribute(name=non-portable-mode,value=true)
JBoss EAP 6.2에 대한 데이터 소스 통계를 활성화합니다.
이는 JBoss EAP 6.2 서버에서 프로필을 사용하는 경우에만 필요합니다. JBoss EAP 6.3에서는
통계를 수집하지 않는 통계 사용
속성을 도입했지만 기본값은false
로 표시되지만 JBoss EAP 6.2 동작은 통계를 수집하는 것이었습니다. JBoss EAP 6.2 호스트와 최신 JBoss EAP 버전을 실행하는 호스트에서 이 프로필을 사용하는 경우 허용되지 않는 호스트 간에 해당 동작이 일관되지 않습니다. 따라서 JBoss EAP 6.2 호스트에서 사용하기 위한 프로필은 데이터 소스를 다음과 같이 변경해야 합니다.JBoss EAP 7 도메인 컨트롤러 CLI
/profile=eap6-default/subsystem=datasources/data-source=ExampleDS:write-attribute(name=statistics-enabled,value=true)
8.5.3.3. JBoss EAP 6 서버의 서버 그룹 설정
서버 그룹의 이름을 변경한 경우 JBoss EAP 7 구성에 지정된 새 서버 그룹을 사용하도록 JBoss EAP 6 호스트 구성을 업데이트해야 합니다. 이 예에서는 JBoss EAP 7 domain.xml
에 지정된 Cryostat 6-main-server-group
서버 그룹을 사용합니다.
JBoss EAP 6 host-slave.xml
<servers> <server name="server-one" group="eap6-main-server-group"/> <server name="server-two" group="eap6-main-server-group"> <socket-bindings port-offset="150"/> </server> </servers>
호스트는 호스트가 실행 중인 것보다 최신 버전의 JBoss EAP에 도입된 기능 또는 구성 설정을 사용할 수 없습니다.
8.5.3.4. JBoss EAP 6 인스턴스가 JBoss EAP 7 업데이트를 수신하지 못하도록 방지
관리형 도메인의 도메인 컨트롤러는 구성 업데이트를 호스트 컨트롤러에 전달합니다. host-exclude
구성을 사용하여 특정 버전에서 숨겨야 하는 리소스를 지정해야 합니다. JBoss EAP 6 버전에 대해 적절한 사전 구성된 host-exclude
옵션을 선택합니다( EAP62
,EAP63
,EAP64
또는 EAP64z
).
host-exclude
구성의 active-server-groups
속성은 특정 버전에서 사용하는 서버 그룹 목록을 지정합니다. 이러한 서버 그룹과 관련 프로필, 소켓 바인딩 그룹 및 배포 리소스는 이 버전의 호스트에서 사용할 수 있지만 다른 모든 파일은 이러한 호스트에서 숨겨집니다.
이 예에서는 버전이 JBoss EAP 6.4.z이고 JBoss EAP 6 서버 그룹인 Cryostat 6-main-server-group
을 활성 서버 그룹으로 추가한다고 가정합니다.
JBoss EAP 7 도메인 컨트롤러 CLI
/host-exclude=EAP64z:write-attribute(name=active-server-groups,value=[eap6-main-server-group])
필요한 경우 active-socket-binding-groups
특성을 사용하여 서버에서 사용하는 추가 소켓 바인딩 그룹을 지정할 수 있습니다. 이는 active-server-groups
에 지정된 서버 그룹과 연결되지 않은 소켓 바인딩 그룹에만 필요합니다.