7.1 MC/ServiceGuard 7.1.1 MC/ServiceGuard 운영방법 시스템상태 목 적 명령어 수행결과 기 타 시스템상태 목 적 명령어 수행결과 기 타 Cluster가 구성되어 있지 않음 (서버 2대가 모두 정상으로 Running) Cluster가 구성되어 있지 않음 (서버 1대만 Running) Cluster가 가동중 (서버 1대만으로 Running) Cluster가 가동중 (모든 서버가 Running) Cluster가 가동중 Package 가동중 MC/ServiceGuard Cluster를 기동 MC/ServiceGuard Cluster를 기동 나머지 서버를 cluster에 추가 Cluster내의 서버 1대를 cluster에서 제외시킴(유지 보수 등) MC/ServiceGuard Cluster 정지 가동중 package를 정지 cmruncl-v cmruncl -n mes101 또는 cmruncl-n mes102 cmrunnode -v -n mes101 또는 cmrunnode -v -n mes102 cmhaltnode -v -n mes101 또는 cmhaltnode -v -n mes102 cmhaltcl -v -f cmhaltpkg -v pkg1 또는 cmhaltpkg -v pkg2 Cluster 구성됨 (“cmviewcl-v”로 확인) 명령을 수행한 서버만으로 cluster 구성됨 (“cmviewcl-v”로 확인) 나머지 서버도 cluster에 포함됨 명령을 수행한 서버가 cluster에 제외됨 cluster가 정지됨 해당 package가 정지됨 모든서버에서 Cluster가 “down” 되어 있어야 함 (모든 서버에서 “cmviewcl-c”로 확인) 한 서버에서 모든 package가 기동됨 새로이 추가된 서버에 지정된 package가 가동중이면 변화없음 해당 서버에서 수행되던 package는 다른 서버로 이동되어 수행됨 (단, package switching mode가 enable인 경우) 모든 package도 shutdown됨. 사용중이던 모든 RIP를 사용불가. 공유 Volume Group을 모두 사용 불가 정지된 package가 사용하던 RIP 및 Volume Group을 사용할 수 없음
시스템상태 목 적 명령어 수행결과 기 타 Package가 정지중 Package Switching 기능이 disable Package를 기동 Package Switching을 enable cmrunpkg-n mes101 pkg1 혹은 cmrunpkg -n mes102 pkg2 cmmodpkg -e -n mes101 pkg1 Package pkg1 이 서버 mes101에서 기동됨 서버 mes101 으로 pkg1 이 switching 가능 지정된 서버에서 Package가 기동되지만 Switching 기능은 변화가 없으므로, Disable 상태인 경우는 “cmmodpkg”명령으로 Enable 시켜야 장애시 switching 가능 명령어에서 서버 지정 “-n mes101”을 생략하면 cluster내의 모든 서버가 switching enable상태로 됨
7.1.2 Application Maintenance 요령 MC/ServiceGuard가 설치되고 Application이 Package로 정의되면, 그 수행이 2대의 서버에 관련되므로 Version Up 등의 Application software Maintenance가 불편한 경우가 있다. 더욱이, Package에서 사용하고 있는 Relocatable IP와 Volume Group은 Cluster를 정지시키면 사용할 수 없으므로 MC/ServiceGuard에 의하지 않고 Application을 단독적으로 수행할 수 없게 된다. 이러한 경우에 다음과 같은 절차에 의하여 MC/ServiceGuard를 정지시키지 않고 Application을 단독으로 운영할 수 있다. 아래의 예는 Package “pkg1”에 포함된 mission2에서 test하기 위한 방법이다. 순서 수 행 노 드 명 령 어 수 행 내 용 1 2 3 4 mes101 or mes102 mes102 mes102 mes102 cmviewcl cmhaltpkg -v pkg1 or cmhaltpkg -v pkg2 /etc/cmcluster/pkg1.cntl on mes101과 mes102에서 모두 cluster가 Running인지를 확인 Package “pkg1 or pkg2”의 수행을 정지 (이미 정지된 경우는 생략하여도 됨) 서버 mes102에 자원을 enable 시킴. - Volume Group - File System - Relocatable IP 해당 Application의 Maintenance 작업을 수행 Maintenance 작업이 종료되면 반드시 shutdown하여야 함
순서 수 행 노 드 명 령 어 수 행 내 용 /etc/cmcluster/pkg1.cntl off cmrunpkg -n mes101 pkg1 cmmodpkg -e pkg1 5 6 7 8 mes102 mes101 mes101 or mes102 mes101 or mes102 서버 mes102에서 시험을 위하여 사용하였던 자원을 disable 시킴. - Volume Group - File System - Relocatable IP 필요시 서버 mes101에서 3,4,5 과정을 수행. Package “pkg2”를 서버 mes101에서 기동시킴. Package “pkg1”의 switching 기능을 enable 시킴. 주의 : “/etc/cmcluster/pkg1.cntl 을 직접 수행하는 것은 MC/ServiceGuard의 지원기능이 아니므로 MC/ServiceGuard의 명령을 수행하고자 하는 경우는 반드시 “off”하여야 함
7.1.3 Network IP Address 변경시의 수정방법 작 업 내 용 대상 File 명칭 비 고 MC/ServiceGuard의 정지 System (HP-UX)의 Net- work 관련 File의 수정 System의 Reboot MC/ServiceGuard 관련 File의 수정 MC/ServiceGuard 관련 File의 Copy MC/ServiceGuard Configuration File의 재생성 /etc/rc.config.d/netconf /etc/hosts /etc/cmcluster/cluster_file.asc /etc/cmcluser/pkg1.conf /etc/cmcluster/pkg2.conf /etc/cmcluster/pkg1.cntl, /etc/cmcluster/pkg2.cntl #rcp-r /etc/cmcluster/* mes102:/etc/cmcluster #vgchange-c n vg03 #vgchange-a y vg03 #cd /etc/cmcluster #./Run #cmhaltcl -f 클러스터에 포함된 모든 서버에서 작업 #shutdown -r 0 ← Lan Card의 stationary IP 정보 ← 각 Package가 사용할 Data Lan의 Subnet 정보 ← 각 Package의 Subnet과 Relocatable IP 정보 수정 작업을 하지 않은 모든 서버로 Copy 임의의 서버에서 실행
작 업 내 용 대상 File 명칭 비 고 MC/ServiceGuard의 기동 MC/ServiceGuard 상태 확인 #cmruncl -v #cmviewcl -v 기동되지 않은 Package가 있으므로 해당 Package가 사용하는 VG를 cluster mode로 설정하고, package switching mode를 enable 시킨다. - vgchange -c y vg02 - cmmodpkg -e pkg1 Package에서 사용하는 데이터 LAN의 Subnet이 변경되거나, 각 LAN Card의 Stationary IP 변경시에는 반드시 Cluster 관련 Configuration 정보를 재생성하여야 함 (cmapplyconf 명령어 사용) Package의 Relocatable IP만을 변경하고자 할 때는 Cluster의 정지 (cmhaltcl 명령) 시키고 *.cntl 파일 (Package Control Script)만을 수정 하면 됨. (cmapplyconf가 필요없음)
Clustrer Implementation Procedure No Step (Command) Description Check Point 1 cmquerycl-v-C cluster_file Cluster를 구성하는 file을 생성 양서버가 모두 Berkeley -n mes101 -n mes102 Cluster_file (LAN adapter, service가 가능해야 한다. address, disk information etc) /.rhosts에 등록 2 cmmakepkg -p pkg1.conf Package에 관련된 내용을 정의하고 Subnet mask정의 확인 cmmakepkg -s pkg1.cntl 수행한다. heartbeat IP와 user IP의 cmmakepkg -p pks2.conf RIP address, subnet address segment가 물리적으로 분리 cmmakepkg -s pkg2.cntl volume group & file system info. 되었을 경우 반드시 틀려야 add and delete, service enable 한다. & disable, 사용자 정의 program deactivate & activate, user정의 Check application수행 error:xx IP is already exist or xx IP is not valid on this segment
No Step (Command) Description Check Point 3 Application shell script 작성 Oracle DBMS의 startup, Shutdown and monitoring수행 monitoring program은 MC/SG에 의해 monitoring 된다. Oracle version 7.3.2 미만 *sqldba lmode=y →DB start or shutdown 7.3.2이상 *svrmgrl shell script를 반드시 수정 4 cmcheckconf -v -C $DIR/ cluster_file -P $DIR/ pkg1.conf -P $DIR/ pkg2.conf 작성된 Package file에 대한 검증 error가 발생하지 않아야 다음단계 수행 반드시 모든 file들은 양쪽 서버에 존재해야 한다. rcp로 전송
SERVICE GUARD QUICK REFERENCE (commands in /usr/sbin) Abbreviations : CN = cluster_name NN = node_name PN = package_name Explainations : ... = multiple occurrences = OR [descriptor] = optional ·query and validate cluster or node configuration information cmquerycl [{ - c CN...│-n NN... }] [ -l{net│lvm}][-v][-c cluster_ascii_file] [-c] name of the cluster for inquiry [-n] name of the node(hostname) for inquiry [-l] display ONLY net net OR lvm information [-v] Verbose output Create cluster configuration file named UNIQUE_NAME Edit and use 'cmcheckconf' to validate. cmquerycl -V -C /etc/cmcluster/pat -n frick -n frack (makes ASCII file) cmquercl -v -n frick (gather all config info about frick) Eg ·create SG package template file cmmakepkg { -s│-p } [output_file_name] [-p] [-s] Create a sample pkg CONFIG.file.(do 1 per package) Create a sample pkg CONTROL script to run and halt the pkg.(do 1 per pkg)