환경설정
TJES를 실행시키기 위해서는 Tmax 환경과 TJES 환경을 미리 설정해야 한다. 본 절에서는 TJES에서 필요로 하는 Tmax 환경 설정에 대해 기술한다.
TJES 환경설정의 세부 내용은 OpenFrame Batch "환경설정 안내서"의 tjes, tjesmgr, print, tjclrun, rc 서브젝트를 참고한다. |
1. Tmax 설정
Tmax 서버로 운영되는 OpenFrame에서 TJES를 실행하기 위해서는 Tmax의 설치 및 환경설정은 필수적이다. OpenFrame을 최초 설치하는 경우 Tmax 환경은 자동으로 기본값으로 등록되며, 기본값을 변경하고자 할 경우 다음의 단계로 다시 설정할 수 있다.
-
Tmax 서버의 구동을 중지한다.
$ tmdown
-
"$TMAXDIR/config/XXX.m"의 파일을 열어서 환경을 재설정한다.
-
변경한 환경을 적용한다.
$ cfl -i $TMAXDIR/config/XXX.m
-
Tmax 서버를 재구동한다.
$ tmboot
상기 예제에서 XXX.m 환경파일의 변경 방법에 대해서는 "Tmax 설치 안내서"를 참고한다. |
1.1. Tmax 서버
TJES의 운영을 위해서 다음의 서버들이 구동되어 있어야 한다.
-
TJES 서버
서버명 역할 obmjschd
JOB 스케줄러
obmjinit
JOB Initiator
obmjmsvr
JOB 매니저
obmjhist
JOB 히스토리
obmjspbk
JOB SPOOL 백업
ofrpmsvr
프린터 매니저
obmtsmgr
TSO 업무 처리
obmtscmd (optional)
TSO 명령어 처리(obmtscmd는 ISPF 서비스를 사용하는 환경에만 제공되는 서버이다.)
-
TJES 관련 서버
서버명 역할 ofrsasvr
보안 관리
ofrlhsvr
Lock handle 할당
ofruisvr
사용자 인터페이스 담당 서버
ofrcmsvr
콘솔 관리
OpenFrame을 설치하는 경우 TJES 서버와 TJES 관련 서버들은 자동으로 등록된다.
다음은 Tmax 환경에 등록된 TJES 서버의 예제이다.
obmjschd SVGNAME = svg_domain,MIN = 1, MAX = 1, SVRTYPE=UCS, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmjinit SVGNAME = svg_node1,MIN = 1, MAX = 1, SVRTYPE=UCS, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmjmsvr SVGNAME = svg_node1, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmjhist SVGNAME = svg_domain, MIN = 1, MAX = 1, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmjspbk SVGNAME = svg_domain, MIN = 1, MAX = 1, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" ofrpmsvr SVGNAME = svg_domain, MIN = 1, MAX = 1, SVRTYPE=UCS, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmtsmgr SVGNAME = svg_domain, MIN = 1, MAX = 1, SVRTYPE=UCS, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmtscmd SVGNAME = svg_node1, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"
위의 내용 중에 SVGNAME=svg_domain은 전체 노드 중에 한 곳에서만 구동되어야 한다는 것을 의미한다. MIN=1, MAX=1로 되어있는 설정은 하나의 서버만이 구동되어야 함을 의미한다. 따라서 obmjschd의 경우는 전체 노드 중에 한 곳에서만 하나의 서버만으로 구동되고, obmjinit의 경우는 노드마다 하나의 서버만으로 구동된다. 또한, obmjmsvr의 경우는 노드마다 여러 개의 서버들이 구동될 수 있다. 사이트 부하 상황에 맞춰 MIN을 설정해서 사용한다. 주어지지 않으면 MIN=1 이다.
TJES 관련 서버의 설정에 관해서는 OpenFrame Base "Base 안내서"를 참고한다. |
상기 서버들을 구동시키고 정상적으로 서버가 구동되고 있는지 확인하는 방법은 다음과 같다.
-
Tmax 서버 구동
$ tmboot
-
Tmax 서버들의 상태 조회
$ tmadmin $$1 node (tmadm): si
다음은 Tmax 서버가 정상적으로 동작하고 있는지 결과를 보여주는 화면으로 status가 RDY이면 서버가 구동 중인 상태이고, NRDY이면 서버가 다운된 상태를 나타낸다.
------------------------------------------------------------------------ clh svrname (svri) status count qcount qpcount emcount ------------------------------------------------------------------------ 0 obmjmsvr ( 11) RDY 0 0 0 0 0 obmjschd ( 12) RDY 0 0 0 0 0 obmjinit ( 13) RDY 1 0 0 0 0 obmjhist ( 14) RDY 0 0 0 0 0 obmjspbk ( 15) RDY 0 0 0 0 0 ofrpmsvr ( 16) RDY 0 0 0 0 0 obmtsmgr ( 17) RDY 0 0 0 0 0 obmtscmd ( 18) RDY 0 0 0 0
-
Tmax 서버 구동 중지
$ tmdown
tmadmin을 통해 Tmax 서버를 조회한 경우 서버가 NRDY 상태인 경우에는 서버 로그를 통해서 원인을 파악할 수 있다. 서버 로그는 Tmax에서 생성되는 파일로 $TMAXDIR/log/ulog 디렉터리에서 찾아볼 수 있다.
Tmax 관련 내용은 “Tmax Administration Guide”를 참고한다. |
1.2. 멀티 노드 설정
TJES를 멀티 노드로 운영하기 위해서는 다음과 같은 몇 가지 추가 설정이 필요하다. 참고로 같은 도메인에 속한 모든 노드의 Tmax 설정파일은 동일해야 한다.
다음은 NODE1과 NODE2로 멀티 노드 TJES를 구현하는 경우에 대한 설명이다.
-
NODE 추가
멀티 노드로 설정하고자 하는 모든 노드를 추가해야 한다. 예는 다음과 같다.
*NODE DEFAULT: DOMAINNAME = "domofb" NODE1 HOSTNAME = "tmaxof1", IP = "192.168.1.1", TMAXHOME = "$OPENFRAME_HOME/tmax", TMAXDIR = "$OPENFRAME_HOME/tmax", APPDIR = "$OPENFRAME_HOME/server", TLOGDIR = "$OPENFRAME_HOME/tmax/log/tlog", ULOGDIR = "$OPENFRAME_HOME/tmax/log/ulog", SLOGDIR = "$OPENFRAME_HOME/tmax/log/slog", CLHOPT = " -o $OPENFRAME_HOME/tmax/log/clh.log -e /$OPENFRAME_HOME/tmax/log/clh.err", TPORTNO = 9400, SHMKEY = 94000, RACPORT = 9450 NODE2 HOSTNAME = "tmaxof2", IP = "192.168.1.2", TMAXHOME = "$OPENFRAME_HOME/tmax", TMAXDIR = "$OPENFRAME_HOME/tmax", APPDIR = "$OPENFRAME_HOME/server", TLOGDIR = "$OPENFRAME_HOME/tmax/log/tlog", ULOGDIR = "$OPENFRAME_HOME/tmax/log/ulog", SLOGDIR = "$OPENFRAME_HOME/tmax/log/slog", CLHOPT = " -o $OPENFRAME_HOME/tmax/log/clh.log -e /$OPENFRAME_HOME/tmax/log/clh.err", TPORTNO = 9400, SHMKEY = 94000, RACPORT = 9450
-
SVRGROUP 절 수정
SVRGROUP 절에 새로운 노드에 해당하는 서버 그룹 추가와 동일한 서버를 구동하기 위한 COUSIN 설정, fail-over를 위한 svg_domain의 BACKUP 설정이 필요하다.
svg_domain NODENAME = "NODE1",BACKUP="svg_domain2" svg_domain2 NODENAME = "NODE2" svg_node1 NODENAME = "NODE1",COUSIN="svg_node2" svg_node2 NODENAME = "NODE2"
-
ROUTING 절 추가 및 서비스에 ROUTING 명시
멀티 노드 구성을 위해 몇몇 서비스는 Tmax의 Data-Driven-Routing 기능을 사용한다. 이때 라우팅에 사용하는 데이터는 노드이름이다. SERVICE 절은 전체가 아닌 수정되어야 하는 서비스만 나열한다.
*ROUTING rt_nodename FIELD = "FIELD/FB_NODENAME", RANGES = "'NODE1':svg_node1,'NODE2':svg_node2,*:svg_node1" *SERVICE OBMJMSVRJDETAIL SVRNAME = obmjmsvr, ROUTING = rt_nodename OBMJINITCTLNODE SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITCTLJOB SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITCTLINIT SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITRUN SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITSTATUS SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITCHECK SVRNAME = obmjinit, ROUTING = rt_nodename