2012年1月18日水曜日

暗号化ファイルシステム(cryptsetup)を更にDRBDで冗長化(1)

スズキです。

クラウド上だと、セキュリティを気にし、ディスクの暗号化が要件になることが
よくあります。このような場合は、下記で紹介されているようにcryptsetupと呼ばれる
オープンソースのツールを利用して実現することができます。
cryptsetupで暗号化ファイルシステムの作成 - lost and found ( for me ? )
今回は、この暗号化されたファイルシステム(ディスク)をさらに"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

次は、フェイルオーバーしても(スタンバイマシンで)暗号化ファイルシステムが
利用できることを確認してみます。

多分、大丈夫...
--------
http://www.suz-lab.com

0 コメント: