본문 바로가기

Linux

CentOS 6이하에서 VIP 이중화 설정하기 (heartbeat)

반응형

1. CentOS에 서버 고유 각각 이름을 설정

 

 bash
# vi /etc/sysconfig/network
# service network restart
# uname -n

 

server 1번 network 파일 내용

 

server 2번 network 파일 내용

1번 서버에 HOSTNAME="1번 서버 이름"

2번 서버에 HOSTNAME="2번 서버 이름"

 

 

필자는 krujysv1, krujysv2로 각각 이름을 설정해주었습니다.

(i 혹은 insert를 사용하여 편집 후 esc -> wq! 를 사용하여 파일 저장)

 

파일 저장 후

service network restart로 호스트 이름을 적용

 

적용 후

uname -n으로 hostname이 적용되어있는지 확인

 

 

2. 이중화할 각 서버 IP를 확인

 

서버 1번의 eth0 IP
서버 2번의 eth0 IP

 

3. 각 서버가 서로의 호스트 명을 알 수 있도록 설정

 bash
# vi /etc/hosts

 

1,2번 서버 host 파일

두 서버 hosts 파일에 각각 동일하게 설정해 줍니다.

 

192.168.99.252 krujysv1 (1번 서버 IP, 1번서버 호스트명)

192.168.99.240 krujysv2 (2번 서버 IP, 2번서버 호스트명)

 


아래부터는 1, 2번 서버 공통으로 적용해주시면 됩니다.

 

 

4. 이중화 모듈인 Heartbeat 설치

 

yum을 사용하여 이중화 프로그램인 heartbeat를 설치합니다.

 

bash
# yum -y install heartbeat

 

 

5. 설치된 샘플 파일을 복사합니다.

 

bash
# cp /usr/share/doc/heartbeat-3.0.4/authkeys /etc/ha.d/
# cp /usr/share/doc/heartbeat-3.0.4/haresources /etc/ha.d/
# cp /usr/share/doc/heartbeat-3.0.4/ha.cf /etc/ha.d/

 

필요한 heartbeat 파일 복사

6. 인증키의 권한, 파일을 설정합니다.

 

bash
# chmod 600 /etc/ha.d/authkeys
# vi /etc/ha.d/authkeys

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

:wq

 

인증키 파일 편집  
authkeys 파일 수정

 

 

7. heartbeat 설정 파일을 수정합니다.

bash
# vi /etc/ha.d/ha.cf


logfacility local0
auto_failback off


logfile /var/log/ha-log
keepalive 2
deadtime 30
initdead 120
ucast eth0 192.168.99.240
udpport 694

node krujysv1
node krujysv2

 

옵션 기능
auto_failback Standby가 동작 중일 때 Active서버가 복구되면
자동으로 Active 서버로 VIP를 넘겨주는 옵션
logfile heartbeat 프로세스의 로그 파일 경로
keepalive 상대 노드에 보내는 신호 주기 (초)
deadtime 상대 노드가 죽었다고 판단하는 시간 (초)
initdead 서버 기동 후 대기 시간 (초)
ucast [네트워크 어댑터] 신호를 송신 할 경로
udpport 사용 할 udp port 번호 지정
node 이중화 할 서버 이름을 입력
(active -> standby 순서로 입력)

 

 

heartbeat 옵션 설정 파일

 

기본 옵션 확인 및 변경(ha.cf)
맨 아래 옵션 추가(ha.cf)

 

 

※ ucast eth0 옵션에서는

   1번 서버에서는 2번 서버의 IP를,

   2번 서버에서는 1번 서버의 IP를 입력해준다. 

 

 

 

 

8. haresources 파일 수정

bash
# vim haresources

krujysv01 192.168.99.248

haresources 파일 수정
양쪽 모두 1번 서버의 이름, VIP를 기입한다.

 

※ 위와 같이 입력 시

양쪽 서버 모두 1번 서버의 hostname + VIP 형태로 작성한다. 

 

 

9. 서버 시작 시 자동으로 실행되게 설정

 

bash
# chkconfig --add heartbeat
# chkconfig | grep heartbeat

# reboot
# ip addr | grep secondary

 

시작프로그램으로 등록

 

위와 같이 등록 후에는 서버 부팅 시에 프로세스가 자동으로 실행되게 됩니다.

 

등록 후에 1번 서버 -> 2번 서버 순서대로 재 부팅 후 

# ip addr | grep secondary 명령어로 VIP를 확인할 수 있습니다.

VIP가 설정된 모습

 

반응형