Heartbeat V2 클러스터 구성중 장애난 노드 복구하는 방법..
Recovery Fail Node..
Environment
– Nodes : Node1(151), Node2(152), Node3(153)
– Heartbeat Version2
– iSCSI target/initiator
Problem
‘Node2’시스템에 장애가 발생하여, ‘Node2’가 갖고 있던 자원을 ‘Node1’으로 Failover 시킨후 shutdown되었다. 이런 상황에서 새로운 노드를 구성하여 이전의 클러스터를 복구해야 한다.
1. ‘Node2’와 동일한 구성의 노드를 생성한다.
# vi /etc/host
210.220.224.151 Node1
210.220.224.152 Node2
210.220.224.155 Node3
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Node2
GATEWAY=210.220.224.129
# sysctl -w kernel.hostname=’Node2′
# locale -a | grep ‘en’
…
en_US.utf8
# vi /etc/sysconfig/i18n
LANG=”en_US.utf8″
SUPPORTED=”en_US.UTF-8:en_US:en:ko_KR.UTF-8:ko_KR:ko”
SYSFONT=”latarcyrheb-sun16″
# yum -y install iscsi-initiator-utils
// ‘/etc/iscsi.config’, ‘/etc/scsi_id.config’ 파일을 수정한다.
# yum -y install lm_sensors
# wget http://mirror.secuidc.com/centos/4.5/extras/i386/RPMS/heartbeat-pils-2.1.2-3.el4.centos.i386.rpm
# yum -y install OpenIPMI
# yum -y install OpenIPMI-devel
# wget http://mirror.secuidc.com/centos/4.5/extras/i386/RPMS/heartbeat-stonith-2.1.2-3.el4.centos.i386.rpm
# wget http://mirror.secuidc.com/centos/4.5/extras/i386/RPMS/heartbeat-2.1.2-3.el4.centos.i386.rpm
# wget http://mirror.secuidc.com/centos/4.5/extras/i386/RPMS/heartbeat-gui-2.1.2-3.el4.centos.i386.rpm
// ‘authkeys’, ‘ha.cf’파일을 복사한다. 해당 디렉토리 ‘/etc/ha.d’
# scp 210.220.224.151:/etc/udev/rules.d/20-mapping.rules /etc/udev/rules.d/
//공유 자원에 대한 가상디바이스 설정을 유지하기 위한 rule.
# mkdir /Node1
# mkdir /Node2
# mkdir /Node3
# scp 210.220.224.151:/etc/init.d/Node* /etc/init.d/
Node1_httpd 100% 3044 3.0KB/s 00:00
Node2_httpd 100% 3044 3.0KB/s 00:00
Node3_httpd 100% 3044 3.0KB/s 00:00
//각 노드에서 동작하는 아파치 스크립트.(LSB 타입)
2. 노드에 기본적으로 동작하는 프로세스를 실행한다.
# service iscsi start
Checking iscsi config: [ OK ]
Loading iscsi driver: [ OK ]
mknod: `/dev/iscsictl’: File exists
Starting iscsid: [ OK ]
# iscsi-ls
# mount /dev/NodeB1 /Node2
3. 새로운 노드를 추가한다.(이전과 동일한 uuid를 갖는 노드를 추가시..)
# crmadmin -N
normal node: node3 (3c2efc55-2a5f-4103-939f-36a2f1cf01b6)
normal node: node1 (b2b23ef4-8486-4f58-9b43-8f05ff2f919a)
normal node: node2 (0e5e22ab-b224-42d9-abce-99aba6163d87) //장애난 노드
Node1, Node3> 각 노드에서 장애난 노드의 정보를 삭제한다.
# cd /var/lib/heartbeat
# rm -rf ./delhostcache
Node1> 이전 노드의 uui를 갖는 새로운 노드를 추가한다.
# crmadmin -N
normal node: node3 (3c2efc55-2a5f-4103-939f-36a2f1cf01b6)
normal node: node1 (b2b23ef4-8486-4f58-9b43-8f05ff2f919a)
normal node: node2 (0e5e22ab-b224-42d9-abce-99aba6163d87) //장애난 노드의 uuid 값을 복사한다.
Node2>
# crm_uuid -w 0e5e22ab-b224-42d9-abce-99aba6163d87
# service heartbeat start
Starting High-Availability services: [ OK ]
//이전과 동일한 uuid값을 갖는 노드로 인식하기 때문에 아무런 문제 없이 서비스가 fail_back 된다.
relaxing