DRBDの練習 3 〜障害対応での切換〜
前回に続いてDRBDの練習。
障害が発生したときの切換をシミュレーションしてみる。
現時点での状態を確認。
drbd1# drbdadm status r0
r0 role:Primary
disk:UpToDate
peer role:Secondary
replication:Established peer-disk:UpToDate
drbd2# drbdadm status r0
r0 role:Secondary
disk:UpToDate
peer role:Secondary
replication:Established peer-disk:UpToDate
プライマリがdrbd1で、セカンダリがdrbd2。
drbd1で、テスト用にddを使ってファイルに書き込みつづける。
drbd1# dd if=/dev/zero of=/mnt/test bs=1 oflag=sync status=progress 507 bytes copied, 3 s, 0.2 kB/s
この状態で、KVMのホスト環境から強制的にdrbd1を停止してみる。
host$ virsh destroy drbd1 Domain drbd1 destroyed
drbd2で、状態を確認。
drbd2# drbdadm status r0 r0 role:Secondary disk:UpToDate peer connection:Connecting
接続が切れている。
そこで、drbd2をプライマリに昇格してみる。
drbd2# drbdadm primary r0 drbd2# drbdadm status r0 r0 role:Primary disk:UpToDate peer connection:Connecting
プライマリに昇格できたので、マウントして中身を確認。
drbd2# mount /dev/drbd1 /mnt drbd2# ls /mnt lost+found test drbd2# ls -l /mnt/test -rw-r--r-- 1 root root 656 Jun 27 23:25 /mnt/test
一旦アンマウントしてセカンダリに降格。
drbd2# umount /mnt drbd2# drbdadm secondary r0 drbd2# drbdadm status r0 r0 role:Secondary disk:UpToDate peer connection:Connecting
そして、drbd1を起動してみる。
host$ virsh start --console drbd1
drbd1# drbdadm status r0
r0 role:Secondary
disk:UpToDate
peer role:Secondary
replication:Established peer-disk:UpToDate
drbd1をプライマリに昇格して、マウントする。
drbd1# drbdadm primary r0
drbd1# mount /dev/drbd1 /mnt
drbd1# drbdadm status r0
r0 role:Primary
disk:UpToDate
peer role:Secondary
replication:Established peer-disk:UpToDate
drbd1# ls /mnt
lost+found test
drbd1# ls -l /mnt/test
-rw-r--r-- 1 root root 656 Jun 27 23:25 /mnt/test
今回のテスト条件では、問題なく同期が取れていたことが確認できた!