본문 바로가기
운영체제 (LNX,WIN)

Linux 이중화 (High-Availability) 구성 방법

by 날으는물고기 2009. 1. 14.

Linux 이중화 (High-Availability) 구성 방법

1. Heartbeat RPM 다운
http://ftp.daum.net/centos/5/extras/i386/RPMS/ 에서 (또는 x86_64)

heartbeat-2.1.3-3.el5.centos.i386.rpm
heartbeat-gui-2.1.3-3.el5.centos.i386.rpm
heartbeat-ldirectord-2.1.3-3.el5.centos.i386.rpm
heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm

2. libnet RPM 다운
http://ftp.daum.net/centos/5/extras/i386/RPMS/ 에서 (또는 x86_64)

libnet-1.1.2.1-2.rf.i386.rpm

3. RPM 설치
rpm -ivh heartbeat-pils-2.1.3-3.el5.centos.i386.rpm
rpm -ivh heartbeat-stonith-2.1.3-3.el5.centos.i386.rpm
rpm -ivh --nodeps heartbeat-ldirectord-2.1.3-3.el5.centos.i386.rpm
rpm -ivh heartbeat-gui-2.1.3-3.el5.centos.i386.rpm
rpm -ivh heartbeat-2.1.3-3.el5.centos.i386.rpm
rpm -ivh heartbeat-2.1.3-3.el5.centos.i386.rpm (처음 설치 시 error가 나는데 다시 하면 정상설치됨)

rpm -ivh libnet-1.1.2.1-2.rf.i386.rpm

4. heartbeat 설정 복사

/usr/share/doc/heartbeat-2.1.3/ 에 있는
ha.cf, haresources, authkeys 파일을
/etc/ha.d/로 복사한다.

cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/

5. ha.cf 파일을 다음과 같이 변경한다.

debugfile /var/log/ha-debug #디버그 메세지를 기록할 파일 설정
logfile /var/log/ha-log  #그 외의 메시지를 기록할 파일 설정
logfacility     local0  
keepalive 2    #두 노드간에 얼마나 자주 heartbeat를 주고받을 것인가를 설정(sec)
deadtime 30   #서버가 죽었다고 판단 하는 시간 설정(sec)
initdead 120   #서버 시작후 대기 시간(sec)
udpport 694   #heartbeat 통신포트
bcast   eth0   #heartbeat 를 보낼 NIC 설정(bond가 되는지는 확인필요)        
auto_failback on  #FailOver를 사용할지 여부
node WAS1    #마스터 서버 nodename
node WAS2    #슬레이브 서버 nodename (순서가 중요하다.)
uuidfrom nodename #설치CD등으로 까는경우 uuid가 중복되서 이상해지는 경우가 생기는 것을 nodename으로 결정하도록

6. haresources 설정

nodename 대표IP/subnetbit/broadcastIP 서비스이름
이떄 nodename은 master의 nodename을 기록한다.

ex) WAS1 192.168.0.222/24/192.168.0.255 httpd smb

7. authkyes 설정

auth 1
#1 crc
#2 sha1 HI!
1 md5 Hello!

(아마 암호화 방법과 Hello! 부분을 이중화 하는 서버가 같게 설정하면 되는 것 같다)

chmod 600 authkeys (해주지 않으면 heartbeat 서비스 실행시 오류가 난다)

8. hosts 설정

/etc/hosts 파일을 열고 이중화하는 서버의 IP와 nodename 을 기록

192.168.0.200 WAS1
192.168.0.201 WAS2

9. hostname 설정

/etc/sysconfig/network 에서 HOSTNAME 부분을 각각의 서버에 맞게 설정한다.

10. 실행할 서비스 등록

실행할 서비스를 /etc/ha.d/resource.d/에 링크를 건다.
resource.d에 링크를 걸어줄 수 있는 것은 service 형태이거나
스크립트로 start, stop으로 실행/중지를 할 수 있는 형태인 경우에만 가능하다.

ex) ln -s /etc/rc.d/init.d/httpd /etc/ha.d/resource.d/httpd

11. 서비스 등록

chkconfig --add heartbeat

12. reboot 으로 확인

참고사이트 : www.linux-ha.org

출처 : http://edica.tistory.com/
728x90

댓글