OS

2024.07.01 15:21

오픈소스 디스크 이중화 DRBD

  • 비아웹 오래 전 2024.07.01 15:21 인기
  • 136
    0

안녕하세요 

호스팅 전문기업 비아웹입니다.


Linux 에서 HA 구성에 사용되는 DRBD 에 대해 기록 남깁니다.

drbd.png

 - 간략한 구성은 이상의 이미지와 같이 서버의 특정 영역의 데이터를 실시간으로 동기화하는 솔루션입니다.

- 추가적인 프로그램을 통해 양방향 동기화 역시 가능합니다.


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

 

dr1.JPG

 

 3. drbd 프로그램 설치 (node1 / node2 모두) 

yum install elrepo-release

yum install kmod-drbd90 drbd90-utils

 dr2.JPG

 

dr3.JPG

 

 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)은 원하는 이름으로 설정

dr4.JPG

 

5. resource 초기화 / up / 상태 확인 (node1 / node2 모두)

- 리소스 초기화

drbdadm create-md drbd

dr6.JPG

  

- 리소스 up

drbdadm up drbd

dr7.JPG

  

- 디스크 연결 상태 확인

lsblk

dr8.JPG


- drbd 상태 확인 

drbdadm status drbd

drbdsetup status drbd --verbose --statistics  # 상세 

dr9.JPG

 

 6. drbd 디스크 설정 ( node1) 

drbdadm primary --force drbd

drbdadm status drbd

 

 - node1 drbd status

dr10.JPG

 

- node2 drbd status

dr10-1.JPG

 

 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

 dr11.JPG

  

cf. 이상의 테스트는 수동 failover 

- 이상의 테스트를 통해 node1 에서 node2 로의 데이터 동기화 테스트가 정상 완료되었습니다.

- drbd 를 통한 데이터 동기화는 자동으로 이루어지나, disk 마운트 및 서비스 기동은 수작업으로 진행되었습니다.

- HA 서비스 구성을 위한 자동화된 상태 모니터링 및 failover 를 위해서는 keepalived, heartbeat, pacemaker 등을 이용하여 추가적인 프로그램 설정 필요합니다.


감사합니다.

서버호스팅 전문기업 비아웹

  • 공유링크 복사

    댓글목록

    등록된 댓글이 없습니다.