share facebook facebook twitter menu hatena pocket slack

2012.01.18 WED

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

鈴木 宏康

WRITTEN BY 鈴木 宏康

クラウド上の場合、セキュリティを気にするため、ディスクの暗号化が要件になることがよくあります。
このような場合は、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)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。