설정파일의 구조
hosts 설정 파일
설치를 위해서는 대상 서버들의 IP 주소와 설치시 사용할 여러 옵션들을 설정할 수 있다. 이 설정들은 /opt/khan/provisioning/cli/hosts-….sample 파일에 저장된다.
sample 파일을 복사하여 설치에 사용하면 된다.
JBoss EWS와 JBoss EAP를 설치할 때는 hosts-ews-httpd-jboss-eap.sample 설정파일을 사용하고, Apache HTTPD와 Apache Tomcat을 설치할 때는 hosts-apache-httpd-tomcat.sample설정파일을 사용하면 된다.
hosts-apache-httpd-jboss-eap.sample 파일은 아파치 웹서버와 JBoss EAP를 설치하기 위한 설정이고, hosts-ews2-httpd-tomcat.sample은 JBoss EWS의 웹서버와 Tomcat을 설치하기 위한 설정이다.
| 샘플 파일구성 | WAS 서버 | WEB 서버 |
|---|---|---|
hosts-ews-httpd-jboss-eap.sample | JBoss EAP 6.x 버전 | JBoss EWS(Apache) 2.0.1 버전 |
hosts-apache-httpd-jboss-eap.sample | JBoss EAP 6.x 버전 | Apache 2.2.25 컴파일 버전 |
hosts-apache-httpd-tomcat.sample | Tomcat 7.0.42 버전 | Apache 2.2.25 컴파일 버전 |
hosts-ews2-httpd-tomcat.sample | JBoss EWS(Tomcat ) 2.0.1 버전 | JBoss EWS(Apache) 2.0.1 버전 |
위의 표와 같이 설치할 수 있는 샘 플 설정파일들이 제공되고 있다. 실제 구성 시 이 파일을 복사하여 사용한다.
접속 대상 서버가 SSH포트로 22번 포트를 사용하지 않거나, pem 파일을 사용하여 로그인하는 시스템 환경이거나, 중간 경유서버를 이용하는 경우 등 다양한 접속환경이 있다. 이런 상황에 대해서 5장에서 설명하고 있으니, 참고하라.
hosts- 파일의 전체적인 구조는 아래와 같다.
# --------------------------------------------------------
# OPENMARU Installer - JBoss EAP 6.1, EWS 2.0.1
#
# contact : service@opennaru.com
# --------------------------------------------------------
[jboss-eap] 🡺 JBoss EAP가 설치될 서버 IP를 지정
# ========================================================
192.168.0.21 seq=0
192.168.0.22 seq=1
192.168.0.23 seq=2
# ========================================================
…중략…
[jboss-eap:vars] 🡺 JBoss EAP 설치시 사용하는 옵션
PRODUCT_SHORTNAME=JBossEAP6
PRODUCT_FULLNAME=JBoss EAP 6.2.0
…중략…
[jboss-ews] 🡺 JBoss EWS가 설치될 서버 IP를 지정
# ========================================================
# EWS가 설치될 서버 IP 목록
# wseq는 머신의 번호로 0부터 일련번호 숫자를 지정합니다.
# --------------------------------------------------------
192.168.0.11 wseq=0
192.168.0.12 wseq=1
# ========================================================
…중략…
[jboss-ews:vars] 🡺 JBOss EWS 설치시 사용하는 옵션
EWS=yes
EWS_PRODUCT_SHORTNAME=JBossEWS2
EWS_PRODUCT_FULLNAME=JBoss EWS 2.0.1
…중략…
[jboss-eap] 섹션에는 JBoss EAP가 설치될 서버 IP를 지정하고, [jboss-eap:vars]는 JBoss EAP설치시 사용할 옵션을 설정한다.
[jboss-eap] 항목은 서버 IP machine_id, is_eap_first_server를 지정한다. machine_id는 EAP서버 인스턴스의 이름을 생성할 때 사용되는 머신의 번호를 설정한다. JBoss EAP 서버 인스턴스 이름을 생성할 때는 server11, server12, server21, server22와 같이 생성하게 되는데, 이때 두자리 숫자중 첫번째 숫자가 머신의 번호, 두번째 숫자는 인스턴스의 번호로 사용한다. 이렇게 설정하면 모든 인스턴스 이름만으로도 어떤 서버의 어떤 인스턴스인지 곧바로 판단할 수 있기 때문에 이런 방식의 인스턴스 Naming을 사용한다.

인스턴스 구성 방법

위 그림과 같이 인스턴스를 구성하기 위해 다음과 같이 설정한다.
그룹 설정
먼저 그룹 을 설정한다.
그룹명:도메인이름:멀티캐스트IP:JMS멀티캐스트IP:MOD_CLUSTER_IP:프로파일명:소켓파인딩그룹이름
GROUP_NAMES=admin:admin.test.co.kr:230.10.1.1:231.70.1.1:224.1.1.105:full-ha:full-ha-sockets
# --------------------------------------------------------
# 인스턴스에서 사용할 그룹의 이름을 지정합니다. 인스턴스 그룹명은 GROUPS에 있는 이름입니다.
#
# 그룹명:도메인이름:멀티캐스트IP:JMS멀티캐스트IP:MOD_CLUSTER_IP:프로파일명:소켓파인딩그룹이름
# --------------------------------------------------------
# 멀티캐스트 주소 기본값 : 230.1.0.1
# JMS 멀티캐스트 주소 기본값 : 231.7.0.1
# MOD_CLUSTER 멀티캐스트 주소 기본값 : 224.0.1.105
# --------------------------------------------------------
# profile에 대한 socket binding 선택
# default ==> standard-sockets
# ha ==> ha-sockets
# full ==> full-sockets
# full-ha ==> full-ha-sockets
# --------------------------------------------------------
GROUP_NAMES=admin:admin.test.co.kr:230.10.1.1:231.70.1.1:224.1.1.105:full-ha:full-ha-sockets
GROUP_NAMES=front:front.test.co.kr:230.10.2.1:231.70.2.1:224.1.1.105:ha:ha-sockets
GROUP_NAMES=test :test.test.co.kr :230.10.3.1:231.70.3.1:224.1.1.105:ha:ha-sockets
- 멀티캐스트 IP 지정
멀티캐스트에 사용할 IP를 지정한다.
기 본값은 230.1.0.1로 다른 서비스에 사용하는 서로 다른 도메인은 각기 다른 멀티캐스트 IP를 사용하도록 변경한다. 같은 네트워크내에 같은 멀티캐스트 IP를 사용하는 JBoss가 설치되어 있다면 서로 통신이 되어 같은 클러스터에 묶일 수 있기 때문에 멀티캐스트 IP를 변경하여야 한다. 이후 설명하는 JMS 멀티캐스트 IP와 mod_cluster 멀티캐스트 IP도 마찬가지로 서로 다른 서비스 도메인은 다른 IP를 사용하도록 한다.
- JMS 멀티캐스트 IP지정
JMS - HornetQ에서 클러스터링을 위해 사용하는 멀티캐스트 IP를 지정한다. 기본값은 231.7.0.1 이다.
mod_cluster멀티캐스트 IP 지정
mod_cluster에서 사용하는 멀티캐스트 IP를 지정한다. 기본값은 224.0.1.105이다.
머신별 인스턴스 설정
다음 각 머신별 인스턴스를 설정한다.
INSTANCE_NAMES에 인스턴스 이름, 포트 오프셋, 그룹명, 스탠드얼론 인스턴스에서 사용할 프로파일명을 컴마로 구분하여 정의한다.
INSTANCE_NAMES에서 지정하면 위에서 부터 순서대로 머신마다 인스턴스를 생성한다.
인스턴스이름:포트OFFSET:그룹명:사용할_profile_파일명,
INSTANCE_NAMES=admin11:100:admin:standalone-full-ha.xml, front11:200:front:standalone-ha.xml, test11:300:test:standalone-ha.xml
# --------------------------------------------------------
#
# 인스턴스이름:포트OFFSET:그룹명:사용할_profile_파일명,
#
# 머신 IP seq 0번 부터 머신별로 설치할 인스턴스 이름들을 지정한다.
# profile 파일명에는 standalone.xml, standalone-ha.xml, standalone-full.xml, standalone-full-ha.xml를 사용할 수 있다.
#
# --------------------------------------------------------
INSTANCE_NAMES=admin11:100:admin:standalone-full-ha.xml, front11:200:front:standalone-ha.xml, test11:300:test:standalone-ha.xml
INSTANCE_NAMES=admin21:100:admin:standalone-full-ha.xml, front21:200:front:standalone-ha.xml, test21:300:test:standalone-ha.xml
INSTANCE_NAMES=front31:100:front:standalone-ha.xml, test31:200:test:standalone-ha.xml
JBoss EAP 설정
JBoss EAP 기본 변수이름
[jboss-eap:vars] 로 시작하는 부분이 JBoss EAP의 설치 환경을 설정하는 부분이며, 아래 제품이름은 변경하지 않는다.
# --------------------------------------------------------
# JBoss EAP Hosts 변수
# --------------------------------------------------------
[jboss-eap:vars]
#
# 기본값, 변경하지 말 것
#
PRODUCT_SHORTNAME=JBossEAP6
PRODUCT_FULLNAME=JBoss EAP 6.2.0
JBoss 설치 디렉토리
JBoss가 설치될 디렉토리를 지정한다. 예를 들어 /svc/test/was를 지정하면, JBoss EAP는 /svc/test/was/jboss-eap-6.1 디렉토리에 설치된다.
#
# JBoss를 설치할 디렉토리 이름
# JBoss는 $SVC_WAS_HOME/jboss-eap-6.1 에 설치됩니다.
#
SVC_WAS_HOME=/svc/test/was
JBoss도메인 디렉토리
JBoss 인스턴스들이 설치될 디렉토리이다. Standalone 모드라면 /svc/test/was/domains/server11, /svc/test/was/domains/server21 디렉토리에 인스턴스들이 생성된다.
#
# JBoss 도메인을 구성할 디렉토리 명
#
SVC_DOMAIN_HOME=/svc/test/was/domains
사용할 템플릿 이름
설치에 사용할 설정 템플릿 프로파일을 지정한다. /opt/khan/provisioning/cli/templates 아래의 디렉토리 이름을 PROFILE로 지정할 수 있다. 고객사 환경에 맞추어 추가되는 설정이 있다면, default 프로파일을 복사하여, 설정 파일을 수정하여 사용하면 된다.
#
# OPENMARU Installer의 템플릿 프로파일 이름
#
# /opt/khan/provisioning/cli/templates 아래의 디렉토리 명
#
PROFILE=default
JBoss 로그 디렉토리
별도의 디렉토리(파티션)에 로그를 보관하는 경우가 많은데, 별도의 로그 디렉토리 위치를 지정하면 된다. 설치되면 JBoss 인스턴스들의 로그 디렉토리는 지정된 로그 디렉토리로 심볼릭 링크로 연결된다.
#
# JBoss 로그가 저장될 디렉토리 명
#
WAS_LOG_DIR=/svc/test/logs/was
#
# JBoss 로그를 인스턴스 디렉토리 아래에 생성하려면 디렉토리를 지정하지 않음
#WAS_LOG_DIR=
설치할 JDK 버전 설정
설치할 JDK 버전을 ‘1.6’ 또는 ‘1.7’로 지정한다. JDK는 RPM 버전을 이용하여 설치되며, 자동 설치시 alternatives 명령을 이용하여 시스템 디폴트 Java로 설정한다.
#
# 설치할 JDK 버전, RPM으로 설치됨
#
# 1.6, 1.7을 사용 할 수 있음
#
JDK_VERSION=1.6
JBoss 관리자 사용자 및 그룹
JBoss를 운영할 관리자의 Linux 계정 정보를 입력한다. 자동 설치시 adduser 명령을 이용하여 계정을 생성한다. 사용자의 Home 디렉토리는 위에서 설정한 SVC_WAS_HOME가 된다. 자동 설치시 JBoss 사용자의 .bash_profile, .bashrc 파일이 추가된다. JBoss 운영시 편리하게 사용할 수 있는 alias들이 추가된다.
#
# JBoss 관리 사용자 그룹, 사용자
#
EAP_USER=jboss
EAP_GROUP=jboss
JBoss 인스턴스 JVM Heap 크기 지정
JBoss 인스턴스의 Heap 크기를 지정한다. Heap Min, Max 메모리 크기와 PermGen 메모리 크기를 설정한다. 기본값은 아주 작게 설정되어 있으니, 운영 머신을 설정하려면, min, max를 적어도 1G 이상으로 설정하고 PermGen 크기를 256m 이상으로 설정한다.
#
# JVM Heap Settings
#
jvm_heap_min=64m
jvm_heap_max=128m
jvm_permgen_max=256m
JBoss 도메인 컨트롤러 IP 지정
도메인 모드로 설치할 때, 도메인 컨트롤러의 IP를 지정한다.
#
# domain controller가 될 서버의 IP 주소
#
domain_controller=192.168.0.22
standalone 모드의 외부 배포 디렉토리 지정
standalone 모드로 설치할 때, 각 인스턴스 디렉토리의 deployments 디렉토리 외에 시스템의 별도 외부 경로를 지정하여 deployments 디렉토리와 같이 사용할 수 있도록 한다.
#
# 외부 애플리케이션 deployment 디렉토리
#
deployment_dir=/svc/test/was/domains/applications