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
で作成したファイルも確認できた!