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
동일하게 데이터가 입력된 것이 확인 가능합니다.
'Server' 카테고리의 다른 글
cat , tail 명령어 정리 (0) | 2019.09.16 |
---|---|
리눅스 Tar 압축, 풀기 (0) | 2016.08.09 |
쉘 스크립트 FOR 사용법 (0) | 2015.12.07 |
쉘 스크립트 IF 사용법 (0) | 2015.12.07 |
drbd 설치 (0) | 2015.11.12 |