HP-UX

서비스가드 패키지 구성과 관련하여

 
주낙권
조언자

서비스가드 패키지 구성과 관련하여

Active-Active 방식으로 동작하는 DB를 service guard로 구성

하려고 합니다.(Oracle 아님)



DB Process를 모니터링하고 있다가, 만약 DB Process가 죽으면 현재 Active node에서 실행되고 있는 Package를 Standby로 넘기려고 합니다.





Script파일에 다음과 같이 써주기만 하면 될까요?

ps -ef |grep -v grep | grep -q "db process"



조언 주시면 감사하겠습니다.

1 응답 1
김병수
본과생

서비스가드 패키지 구성과 관련하여

DB가 oracle 인 경우의 예입니다.



1. Package Configuration에 서비스 추가

# vi /etc/cmcluster/pkg1/pkg1.conf



# To configure a service, uncomment the following lines and

# fill in the values for all of the keywords.

#

#SERVICE_NAME

#SERVICE_FAIL_FAST_ENABLED

#SERVICE_HALT_TIMEOUT



SERVICE_NAME oramon1

SERVICE_FAIL_FAST_ENABLED NO

SERVICE_HALT_TIMEOUT 300



2. Package control script에 서비스 추가 => Oracle Daemon Fail시에 2회 재시도

# vi /etc/cmcluster/pkg1/pkg1.cntl



#SERVICE_NAME=""

#SERVICE_CMD=""

#SERVICE_RESTART=""



SERVICE_NAME=oramon1

SERVICE_CMD="/etc/cmcluster/pkg1/pkg1.mon"

SERVICE_RESTART="-r 2"



3. Oracle monitor Shell script작성

# vi /etc/cmcluster/pkg1/pkg1.mon



#!/usr/bin/sh



while true

do

ORA1=`ps -ef | grep ora | grep -v grep | grep pmon_SID1 | wc -l`

ORA2=`ps -ef | grep ora | grep -v grep | grep smon_SID1 | wc -l`

ORA3=`ps -ef | grep ora | grep -v grep | grep reco_SID1 | wc -l`

ORA4=`ps -ef | grep ora | grep -v grep | grep lgwr_SID1 | wc -l`

ORA5=`ps -ef | grep ora | grep -v grep | grep ckpt_SID1 | wc -l`

let ORANO=ORA1+ORA2+ORA3+ORA4+ORA5



if

then

echo "########################################"

echo " Oracle Daemon Failed "

echo "########################################"

exit

fi



sleep 30

done





그럼~~~