暗号化ファイルシステム(cryptsetup)を更にDRBDで冗長化の記事にて、DRBD上にcryptsetupで暗号化ファイルシステムを作成したので、今回は、スタンバイ状態のマシンにフェイルオーバーしても、問題なくファイルシステムが利用できるか確認してみます。
はじめに、アクティブマシンでの作業になります。
ファイルシステムの中身を確認し、アンマウントします。
# ls /mnt/encrypted/ lost+found test.txt
# umount /mnt/encrypted/
DRBDもセカンダリにし、DRBDの状態がセカンダリになっていることを確認しておきます。
# drbdsetup /dev/drbd0 secondary
# /etc/init.d/drbd status drbd driver loaded OK; device status: version: 8.3.12 (api:88/proto:86-96) GIT-hash: e2a8ef4656be026bbae540305fcb998a5991090f build by dag@Build32R6, 2011-11-20 10:55:07 m:res cs ro ds p mounted fstype 0:mysql Connected Secondary/Secondary UpToDate/UpToDate C
次に、スタンバイマシンでの作業になります。
はじめに、DRBDをプライマリにします。
# drbdsetup /dev/drbd0 primary
次に、プライマリになっていることを確認します。
# /etc/init.d/drbd status drbd driver loaded OK; device status: version: 8.3.12 (api:88/proto:86-96) GIT-hash: e2a8ef4656be026bbae540305fcb998a5991090f build by dag@Build32R6, 2011-11-20 10:55:07 m:res cs ro ds p mounted fstype 0:mysql Connected Primary/Secondary UpToDate/UpToDate C
そして、DRBDのデバイスをオープンします。
オープン時に必用なパスフレーズは、アクティブサーバで入力したパスフレーズと同様になります。
# cryptsetup luksOpen /dev/drbd0 encrypted Enter passphrase for /dev/drbd0:
最後に、マウントすることで、ファイルシステムとして利用できるようにします。
# mount -t ext4 /dev/mapper/encrypted /mnt/encrypted
ファイルシステムの中身を確認すると、アクティブサーバと同様の状態であることが確認できます。
# ls /mnt/encrypted/ lost+found test.txt
次の段階としては、下記のようになるかと思います。
- パスフレーズなしで利用できるよにする。
- Heartbeatと連動してフェイルオーバーするようにする。
- フェイルオーバー時に接続先も自動的に変更するよにする(EIP/VPCルーティング)