문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
os:debian:drbd [2007/09/09 01:09] 222.238.62.148 |
os:debian:drbd [2007/09/09 01:31] (현재) 222.238.62.148 |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Configuring DRBD in a Debian OpenSSI Cluster ====== | ====== Configuring DRBD in a Debian OpenSSI Cluster ====== | ||
- | ===== Overview About DRBD(The Distributed Replicated Block Device) | + | ===== Overview About DRBD ===== |
+ | - DRBD is The Distributed Replicated Block Device. | ||
===== 요구사항(Requirements) ===== | ===== 요구사항(Requirements) ===== | ||
줄 14: | 줄 15: | ||
fs-cluster 10.0.0.30 | fs-cluster 10.0.0.30 | ||
</ | </ | ||
+ | |||
===== 과정(Procedure) ===== | ===== 과정(Procedure) ===== | ||
+ | ==== DRBD 모듈설치 ==== | ||
+ | - 양쪽 장비(both hosts) 모두 컴파일하고, | ||
+ | # apt-get install drbd0.7-module-source | ||
+ | # apt-get install drbd0.7-utils | ||
+ | # apt-get install dpatch | ||
+ | # cd /usr/src | ||
+ | # tar -zxf drbd0.7.tar.gz | ||
+ | # cd / | ||
+ | # module-assistant prepare | ||
+ | # module-assistant automatic-install drbd0.7-module-source | ||
+ | | ||
+ | | ||
+ | # cd /usr/src | ||
+ | # dpkg -i drbd0.7-module-2.4.27-2-k7_0.7.10-3+2.4.27-8_i386.deb | ||
+ | </ | ||
+ | ==== DRBD 구성 ==== | ||
+ | - 양쪽 장비에 / | ||
+ | resource drbd-resource-0 { | ||
+ | protocol C; | ||
+ | incon-degr-cmd "halt -f"; # killall heartbeat would be a good alternative :-> | ||
+ | disk { | ||
+ | on-io-error panic; | ||
+ | } | ||
+ | syncer { | ||
+ | rate 10M; # Note: ' | ||
+ | } | ||
+ | on host-a { | ||
+ | device | ||
+ | disk /dev/hda8; | ||
+ | address | ||
+ | meta-disk | ||
+ | } | ||
+ | on host-b { | ||
+ | device | ||
+ | disk /dev/hda8; | ||
+ | address | ||
+ | meta-disk | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | - 양쪽장비에서 DRBD를 실행한다. < | ||
+ | # / | ||
+ | </ | ||
+ | - 장비 중 하나를 Primary 로 선언한다.< | ||
+ | host-a: # drbdadm primary all | ||
+ | </ | ||
+ | - DRBD 지정한다.< | ||
+ | host-a: # drbdsetup /dev/drbd0 primary --do-what-I-say | ||
+ | </ | ||
+ | - Primary 장비에서 DRBD를 위한 파일시스템을 활성화시킨다.< | ||
+ | host-a: # mkreiserfs / | ||
+ | prefer) | ||
+ | host-a: # mkdir /share | ||
+ | host-a: # mkdir / | ||
+ | host-a: # mount /dev/drbd0 / | ||
+ | </ | ||
+ | - Primary 장비에서 NFS 아래의 공유디렉토리를 생성한다.< | ||
+ | host-a: # mkdir / | ||
+ | </ | ||
+ | - 양쪽노드에 NFS 설정을 한다. | ||
+ | - Debian 패키지를 설치한다.< | ||
+ | # apt-get install nfs-kernel-server | ||
+ | </ | ||
+ | - NFS 서버를 정지시킨다.< | ||
+ | # / | ||
+ | </ | ||
+ | - / | ||
+ | # echo "/ | ||
+ | </ | ||
+ | - 양쪽장비의 NFS 서비스를 자동으로 실행되지 않게 한다.< | ||
+ | # update-rc.d -f nfs-kernel-server remove | ||
+ | (for non-Debian systems you can probably just delete / | ||
+ | nfs or / | ||
+ | </ | ||
+ | - Primary 장비에서 nfs 설정을 공유디스크에 카피하고, | ||
+ | host-a: # mv / | ||
+ | host-a: # ln -s / | ||
+ | </ | ||
+ | - / | ||
+ | # vi / | ||
+ | ... | ||
+ | ' | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ==== heartbeat 설정 ==== | ||
+ | - 패키지를 설치한다.< | ||
+ | # apt-get install heartbeat | ||
+ | </ | ||
+ | - 양쪽 장비의 / | ||
+ | keepalive 1 | ||
+ | deadtime 10 | ||
+ | warntime 5 | ||
+ | initdead 60 | ||
+ | udpport 694 | ||
+ | baud 19200 | ||
+ | serial /dev/ttyS0 | ||
+ | ucast eth0 10.0.0.20 | ||
+ | auto_failback off | ||
+ | watchdog / | ||
+ | node node-a | ||
+ | node node-b | ||
+ | </ | ||
+ | * auto_failback is off; we should not fail back unless a human has confirmed that the DRBD state is consistent | ||
+ | - heartbeat resource 생성한다.< | ||
+ | # echo ' | ||
+ | # chmod 755 / | ||
+ | </ | ||
+ | - / | ||
+ | host-a | ||
+ | Filesystem::/ | ||
+ | killnfsd \ | ||
+ | nfs-common \ | ||
+ | nfs-kernel-server \ | ||
+ | Delay::3::0 \ | ||
+ | IPaddr:: | ||
+ | </ | ||
+ | - HA 서버로부터 마운트시킨다.< | ||
+ | client-a: # mkdir /mnt/hafs | ||
+ | client-a: # echo " | ||
+ | client-a: # mount -a | ||
+ | </ | ||
+ | ===== References ===== | ||
+ | - http:// |