暗号化ファイルシステム(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

次の段階としては、下記のようになるかと思います。

  1. パスフレーズなしで利用できるよにする。
  2. Heartbeatと連動してフェイルオーバーするようにする。
  3. フェイルオーバー時に接続先も自動的に変更するよにする(EIP/VPCルーティング)

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら