DRBD 설치
설치 조건
서버 2대 필요
HostName
|
|
Address
|
Node1
|
Master
|
192.168.1.231
|
Node2
|
backup
|
192.168.1.232
|
rpm 파일 필요
drbd83-utils-8.3.15-1.el6.elrepo.x86_64.rpm
elrepo-release-6-6.el6.elrepo.noarch.rpm
kmod-drbd83-8.3.15-1.el6_3.elrepo.x86_64.rpm
1) 디렉토리 설정 (두
서버 적용)
Mkdir /usr/local/drbd -- > 이 경로에 rpm 파일을
넣는다.
Cd /usr/local/drbd
2) RPM 설치 (두
서버 적용)
[root@localhost drbd]# rpm -Uvh
drbd83-utils-8.3.15-1.el6.elrepo.x86_64.rpm
[root@localhost drbd]# rpm -Uvh
kmod-drbd83-8.3.15-1.el6_3.elrepo.x86_64.rpm
[root@localhost drbd]# rpm -Uvh
elrepo-release-6-6.el6.elrepo.noarch.rpm
3) 스토리지 mount
[root@jun1 drbd.d]# fdisk –l – 스토리지
확인
예) /dev/sdb1 가 있으므로 스토리지 사용
생성해야 할 경우
[root@jun1 drbd.d]# fdisk /dev/sdb
Command (m for help) : n
P 입력후
Artition number(1-4) : 1 <- 1입력하는
이유는 첫 스토리지 생성
Irst cylinder (263-391, default 263) :
263 <- default 입력
Ast cylinder, + cylinders or + size[K,
M,G] (263-391, default 391) :
사용할 데이터 크기 입력
Command (m for help) : w <- 저장
[root@jun1 drbd.d]# fdisk –l – 스토리지
확인
/dev/sdb1 나올것 입니다.
3) DRBD 설정 파일 만들기 (두
서버 적용)
리눅스 설치시 /dev/mapper/vg_node1_lv_drbd 경로를
설치 해둠
[root@jun1 drbd.d]# vi /etc/drbd.d/s3i.res
resource s3i
{
startup
{
wfc-timeout 30;
outdated-wfc-timeout 20;
degr-wfc-timeout 30;
}
net {
cram-hmac-alg sha1;
shared-secret sync_disk;
}
syncer {
rate 10M;
al-extents 257;
on-no-data-accessible io-error;
}
on node1
{
device /dev/drbd0;
disk /dev/mapper/vg_node1-lv_drbd; #스토리지 경로
address 192.168.1.231:7788;
flexible-meta-disk internal;
}
on node2
{
device /dev/drbd0;
disk /dev/mapper/vg_node1-lv_drbd; #스토리지 경로
address 192.168.1.232:7788;
meta-disk internal;
}
}
4) Server Host 정보 입력 (두
서버 적용)
[root@jun1 drbd.d]# vi /etc/hosts
192.168.1.97 jun1
192.168.1.98 jun2
5) 메타 디바이스 설정
- service drbd start 실행
* 주의 : Metadata 생성전 DRBD 볼륨으로 사용할 공간은 파일시스템이 생성되어 있지 않아야한다.
미리 파일시스템이 생성된 상태라면 아래와 같은 에러가 발생할 경우
Command 'drbdmeta 1 v08 /dev/xxx internalcreate-md' terminated with
exit code 40
dd를 이용하여 MBR 영역을 없애주어야한다.
dd if=/dev/zero of=/dev/mapper/vg_node1-lv_drbd bs=1M count=128
#Metadata 생성 명령
- drbdadm create-md all
위 명령을 수행하면 device 에 지정했던(/dev/drbd0) 디바이스가 생성된다.
6) DRBD primary 만들기(primary 에서 명령)
DRBD
가 처음실행되면 secondary/secondary로 동작한다. 이를 primary/secondary로 만들어 mirroring이 진행될 수 있게 해야한다.
primary
로 사용할 drbd-1 호스트에서 아래의 명령을 호출한다.
drbdadm -- --overwrite-data-of-peer
primary all
모니터링 명령으로는
$
cat /proc/drbd
확인할 수 있다.
7) drbd mount 하기
Primary
가 된 서버만 mount 가 가능하며
현재 /dev/drbd0
으로 sync가 맞춰 있다.
mkfs -t ext4 -j /dev/drbd0 <- 파일 시스템 변경
mount /dev/drbd0 /data
master 서버에서
마운트한 디렉토리에 적절한 크기의 데이터를 삽입후
primary / secondary를 변경
(master 서버)
#umount /data
#drbdsetup /dev/drbd0 secondary
(slave 서버)
#drbdsetup /dev/drbd0 primary
#mount /dev/drbd0 /data
동일하게 데이터가 입력된 것이 확인 가능합니다.