クラウド上の場合、セキュリティを気にするため、ディスクの暗号化が要件になることがよくあります。
このような場合は、cryptsetupで暗号化ファイルシステムの作成 – lost and found ( for me ? )
紹介されているようにcryptsetupと呼ばれるオープンソースのツールを利用して実現することが可能です。

今回は、この暗号化されたファイルシステム(ディスク)をさらにDRBDで冗長化する方法を試してみます。

その前に、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

はじめに、cryptsetup(CentOS 6)をインストールします。

# yum -y install cryptsetup

次に、DRBDのデバイス(/dev/drbd0)をフォーマットするのですが、フォーマット時にパスフレーズを
入力する必要がおります。

# cryptsetup -y luksFormat --cipher aes-cbc-essiv:sha256 --key-size 256 /dev/drbd0

WARNING!
========
This will overwrite data on /dev/drbd0 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:

そして、フォーマットしたデバイスをオープンするのですが、オープン時にも同様のパスフレーズを入力します。
オープンされると、/dev/mapper/encryptedというデバイス(デバイスマッパー)が作成され、以後、このデバイスを利用していきます。

# cryptsetup luksOpen /dev/drbd0 encrypted
Enter passphrase for /dev/drbd0:

その後、ファイルシステムをフォーマットします。

# mkfs.ext4 /dev/mapper/encrypted
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65408 inodes, 261615 blocks
13080 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
 32768, 98304, 163840, 229376

Writing inode tables: done                           
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

最後にマウントすることでDRBDで冗長化された暗号化ファイルシステムが利用できるようになります。

# mkdir /mnt/encrypted
# mount -t ext4 /dev/mapper/encrypted /mnt/encrypted

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