HP-UX

서비스가드 스크립트 도와주세요.

 
watermelonyu
교수

서비스가드 스크립트 도와주세요.

많은 자료를 접하게 되어서 더 혼란스러워졌습니다. 정리하는 차원에서 여쭙고 싶습니다.

(정리가 안되어서 일도 못하고 있습니다)



SERVICE_NAME 설정에 스크립트를 하나 넣습니다. 이 스크립트는 여러개의 프로세스를 순서대로 기동하게 만들었습니다.



문제1. 이 스크립트에는 기동과 정지를 할수 있는 스크립트를 만들어야 하나요?



문제2. 만약 문제1같이 기동/정지 스크립트라 면 기동할때의 인수와 정지할때의 인수는 어떻게 해야하나요?



문제3. 위의 스크립트로 여러개의 프로세스가 순차적으로 기동되었는데, 그중 하나가 다운되면 나머지 프로세스는 강제로 서비스가드가 정지시키나요? 아니면 스크립트의 정지를 사용해서 멈추게 하나요?



문제4 볼륨그룹을 활성화 시켜주는 명령어가 이 스크립트에 들어갈 필요가 있는지요?

VGCHANGE를 보아도 vgchange -a e밖에 안넣는거 대상 VG를 지정해주는 곳이 안보이네요. 어디서 활성화를 해주는지 모르겠습니다.



문제2. function customer_defined_run_cmds항목에서SERVICE_NAME 에 적어넣은 스크립트를 기동시키는지요? 그렇다면 function customer_defined_run_cmds은 제가 수정을 해야하는지 아니면 명령어로 저절로 만들어 지는지요?



이상입니다.



아직 서비스가드를 직접만져보지 못해서 늘 질문만 하고 있습니다.

어쩌다가 서비스가드도 모르면서 설계를 하고 있어 난감합니다.

외지라 한국 사람접하기도 힘들거니와 서비스가드를 물어볼 기회도 별로 없네요. 늘 포럼에 도움으로 살아남고 있습니다. 잘부탁드립니다.



2 응답 2
고재진
중학생

서비스가드 스크립트 도와주세요.

안녕하세요..

문제 1

SERVICE_NAME

이 부분은 스크립트를 이름을 넣는 부분입니다.

SERVICE_CMD

여기에 스크립트를 넣습니다.(정확히말하면 스크립트 위치겠죠.)

스크립트의 기동과 정지가 혹시 application의 process나 데몬을

실행시키거나 정지시키는 스크립트라면 pkg의 cntl 파일에

function customer_defined_run_cmds,

function customer_defined_halt_cmds 에 넣어야 됩니다.



문제 2

문제 1처럼 따로 넣기때문에 인수가 필요하지는 않을것 같습니다.



문제 3

SERVICE_CMD에서 프로세스를 체크하는 스크립트를 어떻게 짰는냐가

중요할것 같습니다. 여기서 프로세스 하나만 다운되도 체크하는 스크립트라면 SERVICE_RESTART에서 -r 옵션을 얼마주었냐에 따라 재기동을

시도합니다.

예를 들어0이라면 PKG가 다운되거나 다른노드로 넘어갑니다.



문제 4

SERVICE_NAME

SERVICE_CMDS

SERVICE_RESTART

부분은 프로세스를 모니터하는 스크립트를 넣는곳입니다.

DISK ACTIVE는 넣을 필요가 없습니다.



잘찾아 보시면 VG 이부분이 있을겁니다.

여기다가 넣으시면 됩니다.



그럼 즐거운 하루되세요.
양계전
초등학생

서비스가드 스크립트 도와주세요.

문제 1,2 일반적으로 SERVICE STARTUP 스크립트와 셧다운 스크립트는

적당한곳에 SHELL 스크립트로 만들어서

pkg.conf 파일에있는 템플릿중에 아래와같이 하시면 됩니다

아래의 내용은 run, halt 스크립트를 /etc/cmcluster/pkg/pkg.cntl

을 참조하여 하겠다는 뜻입니다



RUN_SCRIPT /etc/cmcluster/pkg/pkg.cntl

RUN_SCRIPT_TIMEOUT NO_TIMEOUT

HALT_SCRIPT /etc/cmcluster/pkg/pkg.cntl

HALT_SCRIPT_TIMEOUT NO_TIMEOUT





pkg.cntl파일의



function customer_defined_run_cmds

/etc/cmcluster/pkg/oracle_starup.sh

function customer_defined_halt_cmds

/etc/cmcluster/pkg/oracle_shutdown.sh



이런식으로 가동과 정지의 스크립트를 넣습니다.



문제3 스크립트로 인해서 프로세스가 여러개 뜬다고 하셨는데

이는 monitoring 스크립트를 짜셔서 해당 프로세스를 monitoring을 하셔서 재스타트 및 pkg를 다른 노드로 이관이 될수 있게 해야합니다

monitoring 스크립트는 일반적으로 SERVICE_CMD 이쪽에 정의를 합니다



ex) SERVICE_CMD="/etc/cmcluster/oracle2/oracle2.sh"



문제4 vg 활성화 시켜주는 스크립트는 필요없구요.



pkg.cntl 파일에 정의를 해주시면 됩니다

VG="vg04"; LV="/dev/vg04/lvol1"; FS="/ora1"

VG="vg05"; LV="/dev/vg05/lvol1"; FS="/ora2"



이렇게 share disk들을 정의를 해주시면 해당 pkg들이 다른 노드로 넘어갈때 마다 mount가 자동으로 되는것입니다



보통 pkg.cnlt.log에 log가 남으니 pkg를 다른 node쪽으로 넘기실때



참고하셔서 보시면 되겠습니다.



두서없이 적다보니 설명이 엉망징창입니다..