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 된다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

1 Response

페이스북/트위트/구글 계정으로 댓글 가능합니다.