DRBDの練習 2 〜アクティブ系の切換〜
前回に続いて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。
テスト用にファイルを作る。
/dev/drbd1がdrbd1で/mntにmountされている。
drbd1# echo 'Test File 1' > /mnt/test1 drbd1# ls /mnt lost+found test1 drbd1# cat /mnt/test1 Test File 1
まずは、現在プライマリのdrbd1をシャットダウンしてみる。
drbd1# shutdown -P now
この状態でdrbd2でステータスを確認。
drbd2# drbdadm status r0 r0 role:Secondary disk:UpToDate peer connection:Connecting
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 test1 drbd2# cat /mnt/test1 Test File 1
先ほど作ったファイルが存在している。
さらにファイルを作成してみる。
drbd2# echo 'Test File 2' > /mnt/test2 drbd2# ls /mnt lost+found test1 test2 drbd2# cat /mnt/test2 Test File 2
この状態でdrbd1を起動してみる。
host$ virsh start --console drbd1
drbd1# drbdadm status r0
r0 role:Secondary
disk:UpToDate
peer role:Primary
replication:Established peer-disk:UpToDate
drbd1がセカンダリになっている。
drbd2でアンマウントして、セカンダリに戻す。
drbd2# umount /mnt
drbd2# drbdadm secondary r0
drbd2# drbdadm status r0
r0 role:Secondary
disk:UpToDate
peer role:Secondary
replication:Established peer-disk:UpToDate
そして、drbd1をプライマリに昇格する。
drbd1# drbdadm primary r0
drbd1# drbdadm status r0
r0 role:Primary
disk:UpToDate
peer role:Secondary
replication:Established peer-disk:UpToDate
マウントして中身を確認。
drbd1# mount /dev/drbd1 /mnt drbd1# ls /mnt lost+found test1 test2 drbd1# cat /mnt/test2 Test File 2
drbd2で作成したファイルも確認できた!