1. 스크립트를 클러스터 리소스에 등록

– mysql init 스크립트를 등록하는 예제이다.

– 빨간색 부분 수정 또는 추가 필요

– node 1에서만 추가, 수정할 것

[root@NODE01 ~] # vim /etc/cluster/cluster.conf

<?xml version="1.0"?>
<cluster config_version="75" name="mycluster">  –> cluster.conf 수정 후 version 값 1 증가
        <clusternodes>
                <clusternode name="node01" nodeid="1">
                        <fence>
                                <method name="Method01">
                                        <device name="vmfence" port="RHEL63-1" ssl="on" uuid="564d16d2-1684-83d6-50ea-81d4b8a77cef"/>
                                </method>
                        </fence>
                </clusternode>
                <clusternode name="node02" nodeid="2">
                        <fence>
                                <method name="Method02">
                                        <device name="vmfence" port="RHEL63-2" ssl="on" uuid="564d7ca4-ca7a-a599-ade5-a2ae362b0b06"/>
                                </method>
                        </fence>
                </clusternode>
        </clusternodes>
        <cman expected_votes="1" two_node="1"/>
        <fencedevices>
                <fencedevice agent="fence_vmware_soap" ipaddr="fence" login="root" name="vmfence" passwd="!ost123" power_wait="10"/>
        </fencedevices>
        <rm>
                <failoverdomains>
                        <failoverdomain name="myfail" ordered="1" restricted="1">
                                <failoverdomainnode name="node01" priority="1"/>
                                <failoverdomainnode name="node02" priority="1"/>
                        </failoverdomain>
                </failoverdomains>
                <resources>
                        <ip address="192.168.0.177/24" sleeptime="10"/>
                        <fs device="/dev/vg_1/lv_1" fsid="28078" mountpoint="/share" name="iscsi01"/>
                        <fs device="/dev/vg_3/lv_1" fsid="28079" mountpoint="/share3" name="iscsi02"/>
                        <script file="/etc/init.d/mysql" name="mysql"/>   —> 추가, svc01 서비스의 mysql ref에 대한 /etc/init.d/mysql 스크립트를 지정
                        <clusterfs device="/dev/vg_2/lv_1" fsid="39669" fstype="gfs2" mountpoint="/share2" name="mygfs"/>
                        <script file="/etc/init.d/httpd" name="apache"/>
                        <ip address="192.168.0.178/24" sleeptime="10"/>
                        <ip address="192.168.0.179/24" sleeptime="10"/>
                </resources>
                <service domain="myfail" name="svc01" recovery="relocate">
                        <script ref="mysql"/>   —> 추가, svc01 이라는 서비스에 등록 (mysql 명칭은 상황에 맞게 작성)
                        <fs ref="iscsi01"/>
                        <fs ref="iscsi02"/>
                        <ip ref="192.168.0.177/24"/>
                        <clusterfs ref="mygfs"/>
                        <script __independent_subtree="1" ref="apache"/>
                        <ip __independent_subtree="1" ref="192.168.0.178/24"/>
                </service>
                <service domain="myfail" name="svc02" recovery="relocate">
                        <script ref="mysql"/>
                        <fs ref="iscsi01"/>
                        <fs ref="iscsi02"/>
                        <ip ref="192.168.0.177/24"/>
                        <clusterfs ref="mygfs"/>
                        <script __independent_subtree="1" ref="apache"/>
                        <ip __independent_subtree="1" ref="192.168.0.178/24"/>
                </service>
                <service domain="myfail" name="svc02" recovery="relocate">
                        <script __independent_subtree="1" ref="apache"/>
                        <clusterfs ref="mygfs"/>
                        <ip __independent_subtree="1" ref="192.168.0.179/24"/>
                </service>
        </rm>
</cluster>

 

2. 수정한 cluster.conf의 xml 구문 오류 체크

[root@NODE01 ~] # ccs_config_validate
Configuration validates   –> 문제 없을 경우 validates 출력

 

3. 클러스터에 업데이트 반영하기

방법이 두가지가 있다.

1) 방법 1  (온라인 적용 가능)

[root@NODE01 ~] # cman_tool version -r

–> ricci 를 통해 2번 NODE와 통신을 한다. ricci 유저에 대한 비밀번호를 물어 볼 수 있음. 그러면 비번 입력.

–> 정상적으로 반영이 되면 아무런 출력 없이 다음 커맨드로 떨어 짐.

–> 2번 NODE의 cluster.conf 파일이 버전업 되었는지 확인해 볼 것.

–> 등록한 스크립트가 구동 중인지 NODE01에서 ps로 확인

    (또는 NODE01의  /var/log/cluster/rgmanager.log 를 확인해서 rgmanager [script] Executing /etc/init.d/mysql status 구문이 찍히는지 확인)

2) 방법 2 (서비스 정지 필요)

[root@NODE01 ~] # scp /etc/cluster/cluster.conf  NODE02:/etc/cluster

–> NODE01의 수정된 cluster.conf 를 NODE02로 복사

–> ricci의 비밀번호를 몰라도 cluster.conf 파일을 동기화 할 수 있다.

[root@NODE01 ~] # clusvadm -d svc01

–> svc01 서비스 정지

[root@NODE01 ~] # clusvadm -e svc01 -m NODE01

–> svc01 서비스를 NODE01에 기동

–> 클러스터 재구동 후 프로세스 확인

rhcs 리소스 추가.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다