OS
오픈소스 디스크 이중화 DRBD
- 비아웹 오래 전 2024.07.01 15:21 인기
-
- 214
- 0
안녕하세요
호스팅 전문기업 비아웹입니다.
Linux 에서 HA 구성에 사용되는 DRBD 에 대해 기록 남깁니다.
- 간략한 구성은 이상의 이미지와 같이 서버의 특정 영역의 데이터를 실시간으로 동기화하는 솔루션입니다.
- 추가적인 프로그램을 통해 양방향 동기화 역시 가능합니다.
1. 테스트 구성
- OS : CentOS 7.9
- SELINUX=disabled
- 양 서버간 iptables 허용
hostname | IP | 추가디스크 (dev/sdb) |
node1 | 192.168.20.19 | 5G |
node2 | 192.168.20.20 | 5G |
2. node1 / node2 hostname 설정
- hostname 설정
# node1
hostnamectl set-hostname node1
# node2
hostnamectl set-hostname node2
- /etc/hosts 설정 (node1 / node2 모두)
192.168.20.19 node1
192.168.20.20 node2
3. drbd 프로그램 설치 (node1 / node2 모두)
yum install elrepo-release
yum install kmod-drbd90 drbd90-utils
4. drbd 설정 (node1 / node2 모두)
- /etc/drbd.d/global_common.conf (protocol C; 추가)
net {
protocol C; # 프로토콜 설정
- 리소스 추가 /etc/drbd.d/drbd.res
resource drbd {
on node1 {
device /dev/drbd0;
disk /dev/sdb1;
meta-disk internal;
address 192.168.20.19:7789;
}
on node2 {
device /dev/drbd0;
disk /dev/sdb1;
meta-disk internal;
address 192.168.20.20:7789;
}
}
리소스 이름(drbd)은 원하는 이름으로 설정
5. resource 초기화 / up / 상태 확인 (node1 / node2 모두)
- 리소스 초기화
drbdadm create-md drbd
- 리소스 up
drbdadm up drbd
- 디스크 연결 상태 확인
lsblk
- drbd 상태 확인
drbdadm status drbd
drbdsetup status drbd --verbose --statistics # 상세
6. drbd 디스크 설정 ( node1)
drbdadm primary --force drbd
drbdadm status drbd
- node1 drbd status
- node2 drbd status
7. 디스크 초기화 (node1)
# drbd 디스크 fdisk를 통한 파티션 생성
mkfs.xfs /dev/drbd0
8. mount 및 데이터 sync 테스트 시나리오
mount /dev/drbd0 /var/lib/mysql/ # node1
# mysql data import
# node1 down
# node2 drbd0 마운트 후 mariadb start
cf. 이상의 테스트는 수동 failover
- 이상의 테스트를 통해 node1 에서 node2 로의 데이터 동기화 테스트가 정상 완료되었습니다.
- drbd 를 통한 데이터 동기화는 자동으로 이루어지나, disk 마운트 및 서비스 기동은 수작업으로 진행되었습니다.
- HA 서비스 구성을 위한 자동화된 상태 모니터링 및 failover 를 위해서는 keepalived, heartbeat, pacemaker 등을 이용하여 추가적인 프로그램 설정 필요합니다.
감사합니다.
서버호스팅 전문기업 비아웹
- 이전글CentOS 7 bonding 설정2024.07.01
- 다음글소프트웨어 로드발란스 haproxy2024.07.01
댓글목록
등록된 댓글이 없습니다.