DRBD & HeartBeat
1. DRBD(Distributed Replicated Block Device)란?
- HA Cluster를 구성하기 위한 Block 단위로 분산 복제하는 장치이다.
2. DRBD 환경 구성
1) 환경 : CentOS 6
2) DRBD Disk 생성
- DRBD의 경우 동기화 대상 서버와 Disk를 Block 단위로 동기화하여 양측 서버간 동일한 데이터를 유지해주는 장치이다.
- 이에 'Server 1', 'Server 2' 간 동일한 크기의 Disk를 생성한다.
* DRBD 구성 시 OS 설치 중 파티션 구성에서 설정해주면 편하다.
파티션 구성 시 DRBD로 사용될 파티션에는 별도 mount는 지정하지 않도록 설정한다.
3. DRBD 설치
# yum install -y drbd84-utils kmod-drbd84 heartbeat |
4. Kernel에 DRBD 적용
# modprobe drbd |
5. DRBD 환경 설정 ( Server 1, Server 2 동일하게 적용 )
# vi /etc/drbd.d/global_common.conf
global { |
# vi /etc/drbd.d/drbd.res
resource drbd { |
6. Heartbeat 구성
1) Heartbeat 설정 파일
- 경로 : /etc/ha.d/
- ha.cf : Heartbeat 환경 설정
- haresources : Heartbeat에서 관리할 resource 설정
2) 설정
# vi /etc/ha.d/ha.cf debugfile /var/log/ha-debug # Debug 로그 파일 설정 logfile /var/log/ha-log # 로그 파일 경로 keepalive 2 # 서버 간 HealthCheck 주기 (초 단위) deadtime 10 # 서버가 죽었다고 판단하는 시간(초 단위) warntime 10 # Heartbeat 지연 발생 시 경고 발생 시간 (초 단위) initdead 120 # Heartbeat 처음 구동 시 응답 대기 시간 (초 단위) => 설정된 시간 이후에도 응답 없을 시 상대 측 서버가 죽었다고 판단 udpport 694 # 서버 간 통신 Port #bcast em2 # 서버 간 통신 방법, 브로드캐스트의 경우 보안상 권장하지 않음 mcast eth0 225.0.0.192 694 1 0 # 서버간 통신 시 멀티 캐스트를 이용하여 통신하도록 설정 ucast (상대 서버 IP) # 서버간 통신 시 유니캐스트로 통신 auto_failback on # 장애시 자동 복구 설정 respawn hacluster /usr/lib64/heartbeat/ipfail # Heartbeat이 모니터링할 프로그램을 지정 node (hostname, 1번 서버) # uname -n 으로 출력되는 이름 node (hostname, 2번 서버) # uname -n 으로 출력되는 이름 ping (IP) # HealthCheck 대상 IP Primary# vi /etc/ha.d/haresources primary(hostname) drbddisk::drbd Filesystem::/dev/drbd0::/home/mysql::ext4 IPaddr2::(VIP)/24/eth0:0 mysqld Secondary#secondary(hostname) drbddisk::drbd Filesystem::/dev/drbd0::/home/mysql::ext4 IPaddr2::(VIP)/24/eth0:0 mysqld # vi /etc/hosts (1번 서버 IP) (hostname) (2번 서버 IP) (hostname) |