DRBD 설치
설치 환경
OS : Ubuntu 14.014 LTS
DRBD : DRBD 8.4.4
primary ip : 192.168.3.11
primary hostname : drbd-1
primary device : /dev/sdb # 실제 mirroring 할 디바이스
secondary ip : 192.168.3.12
secondary hostname : drbd-2
secondary device : /dev/sdc # 실제 mirroring 할 디바이스
1. /etc/hosts(primary , secondary 둘다 설정)
drbd 설정시 hostname 을 통해 노드를 구분함으로 이를 /etc/hosts파일에 등록해야한다.
$ vi /etc/hosts
192.168.3.11 drbd-1
192.168.3.12 drbd-2
2. 패키지 설치 및 kernel module 로드(primary , secondary 둘다 설정)
$ sudo apt-get install drbd8-utils
$ sudo modprobe drbd
module 로드 확인
$ lsmod | grep drbd
3. DRBD 설정(primary , secondary 둘다 설정)
설정 파일은 /etc/drbd.d/ 에 넣으면 된다. 이전 버전의 경우는 /etc/drbd.conf 이다.
현재는 /etc/drbd.conf 에서 /etc/drbd.d/ 하위의 설정파일을 불러 오는 방법을 쓴다.
$ cat /etc/drbd.conf
# You can find an example in /usr/share/doc/drbd.../drbd.conf.example
include "drbd.d/global_common.conf";
include "drbd.d/*.res";
# drbd 설정 파일 만들기
$ sudo vi /etc/drbd.d/{name}.res
resource "{resource_name}"
{
protocol {A | B | C};
disk {on-io-error detach;}
syncer {
}
on {primary-hostname} {
device /dev/{drbd_logical_name};
disk /dev/{raw_device_name};
address {ip}:{port};
meta-disk internal;
}
on {secondary-hostname} {
device /dev/{drbd_logical_name};
disk /dev/{raw_device_name};
address {ip}:{port};
meta-disk internal;
}
}
resource "test01"
{
protocol C;
disk {on-io-error detach;}
syncer {
}
on drbd-1 {
device /dev/drbd0;
disk /dev/sdb;
address 192.168.3.11:7791;
meta-disk internal;
}
on drbd-2 {
device /dev/drbd0;
disk /dev/sdc;
address 192.168.3.12:7791;
meta-disk internal;
}
}
위 설정을 보면 drbd-1의 /dev/sdb 와 drbd-2의 /dev/sdc 간 mirroring 을 한다는 것이다.
4. DRBD 실행(primary , secondary 둘다 )
drbd-1$ sudo service drbd start
drbd-2$ sudo service drbd start
5. METADATA 생성(primary , secondary 둘다 )
* 주의 : Metadata 생성전 DRBD 볼륨으로 사용할 공간은 파일시스템이 생성되어 있지 않아야한다.
미리 파일시스템이 생성된 상태라면 아래와 같은 에러가 발생할 경우
Command 'drbdmeta 1 v08 /dev/xxx internalcreate-md' terminated with exit code 40
dd를 이용하여 MBR 영역을 없애주어야한다.
$ dd if=/dev/zero of=/dev/sdb bs=1M count=128
# Metadata 생성 명령
$ sudo drbdadm create-md all
위 명령을 수행하면 device 에 지정했던(/dev/drbd0) 디바이스가 생성된다.
6. DRBD primary 만들기(primary 에서 명령)
DRBD 가 처음실행되면 secondary/secondary로 동작한다. 이를 primary/secondary로 만들어 mirroring이 진행될 수 있게 해야한다.
primary 로 사용할 drbd-1 호스트에서 아래의 명령을 호출한다.
$ sudo drbdadm primary {resource_name}
# 위의 예제 설정에서는 resource_name 이 test01이었다.
예) $ sudo drbdadm primary test01

댓글목록
등록된 댓글이 없습니다.