CentOS5.2 DRBD設定

目次

導入環境

  • CentOS 5.2
  • DRBD
    • drbd82-8.2.6-1.el5.centos
    • kmod-drbd82-xen-8.2.6-2

両ノードで行う作業

grub.confのバックアップ

drbdをインストールするとgrub.confが書き換えられOSが起動できなくなるため、
grub.confをバックアップしておき、drbdインストール後、戻す。
※原因調査中。

# cp -ip /boot/grub/grub.conf ~/

drbdのインストール

# yum install binutils drbd82 kmod-drbd82-xen

grub.confの戻し

# cp -ip ~/grub.conf /boot/grub/grub.conf

drbdモジュールの読み込み

# modprobe drbd

drbd.confの編集

# cp -ip /etc/drbd.conf /etc/drbd.conf.org
# vi /etc/drbd.conf
~~~~ 以下追記 ~~~~
resource r0 {
  protocol C;
  device     /dev/drbd0;
  disk       /dev/VolGroup00/drbd_lv;
  meta-disk  internal; 

  on cent52-171.berrystyle.jp {
    address    192.168.16.171:7789;
  } 

  on cent52-172.berrystyle.jp {
    address    192.168.16.172:7789;
  }
}

同期するデバイス(LV)の作成

# lvcreate -L 128M -n drbd_lv VolGroup00

同期するデバイスの初期化

# drbdadm create-md r0
↑何回かenterキーを押す

iptables DRBD許可設定

# iptables -I RH-Firewall-1-INPUT -s 192.168.16.XXX/32 -m state --state NEW -m tcp -p tcp --dport 7789 -j ACCEPT
↑192.168.16.XXX の部分はそれぞれのノードで相手方のノードを設定
# service iptables save

drbdサービス開始

# service drbd start 

Masterノード側作業

Primaryノード設定

# drbdadm -- --overwrite-data-of-peer primary all

両ノード作業

デバイス(LV)の同期待ち

# watch cat /proc/drbd
↑同期が取れるまで待ち

Master側作業

drbdデバイス上にext3ファイルシステム作成

# mke2fs -j /dev/drbd0

drbdデバイスのマウント

# mkdir /mnt/drbd
# mount /dev/drbd0 /mnt/drbd

Slave側作業

drbdデバイスのマウント用マウントポイント作成

# mkdir /mnt/drbd

確認テスト(その1:Master異常終了->Slave切り替え)

Masgterノード上でファイル書き込み

# echo "TEST" >  /mnt/drbd/testfile
# ls -l /mnt/drbd/testfile
# cat /mnt/drbd/testfile

Masterノードの停止

# sync; sync ; halt -f 

Secondaryノードステータス確認

# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5- i386-build, 2008-10-03 11:42:48
 0: cs:WFConnection st:Secondary/Unknown ds:UpToDate/DUnknown C r---
    ns:0 nr:139759 dw:139759 dr:0 al:0 bm:8 lo:0 pe:0 ua:0 ap:0 oos:0
↑「cs:WFConnection st:Secondary/Unknown」の確認
#

Slaveノードステータス変更

# drbdadm primary r0

Slaveノードステータス確認

# cat /proc/drbd

version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-i386-build, 2008-10-03 11:42:48

0: cs:WFConnection st:Primary/Unknown ds:UpToDate/DUnknown C r---
   ns:0 nr:114673 dw:114673 dr:0 al:0 bm:7 lo:0 pe:0 ua:0 ap:0 oos:0
↑「st:Primary/Unknown」の確認
#

新Primaryノードでdrbdデバイスのマウント

# mount /dev/drbd0 /mnt/drbd

Slaveノードでdrbdデバイス上のテストファイル確認

# ls -l /mnt/drbd/testfile
# cat /mnt/drbd/testfile

確認テスト(その2:Slave->Master切り戻し)

Slaveノードでdrbdデバイスのアンマウント

# umount /mnt/drbd

SlaveノードのSecondary設定

# drbdadm secondary r0

MasterノードのPrimary設定

# drbdadm primary r0

drbdデバイスのマウント

# mount /dev/drbd0 /mnt/drbd

Masterノードでdrbdデバイス上のテストファイル確認

# ls -l /mnt/drbd/testfile
# cat /mnt/drbd/testfile

-以上-


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-03-25 (水) 17:19:55 (3401d)