スズキです。

下記でSecureCloud(3.5)を試したのですが、アップデートされたことにより、
エージェントがディスクのマウントまでせずに、デバイスの作成までになっていることがわかりました。

CentOS(6.4)でSecureCloud(3.5)を使ってみる(インストール編)
CentOS(6.4)でSecureCloud(3.5)を使ってみる(EBS暗号化編)

そして実は一番試したかったことなのですが、このことを利用して下記のように、DRBDと組み合わして冗長化された暗号化ディスクを実現してみようとおもいます。

DRBDに関しては以前、下記の記事を書いており、ほぼ、そのままの手順で利用できます。

VPC上のEC2(CentOS 6.0)でDRBD(8.3)

ただし、設定ファイルは下記のようにしています。

# cat /etc/drbd.d/securecloud.res
resource securecloud {
on drbd-1 {
device /dev/drbd0;
disk /dev/ed0;
address xxx.xxx.xxx.xxx:7789;
meta-disk internal;
}
on drbd-2 {
device /dev/drbd0;
disk /dev/ed0;
address yyy.yyy.yyy.yyy:7789;
meta-disk internal;
}
}

※”disk”が暗号化ディスクのデバイス(/dev/ed0)になっています。

それでは動作確認です。
まずは一号機(drbd-1)の状況確認です。

# service drbd status
drbd driver loaded OK; device status:
version: 8.3.15 (api:88/proto:86-97)
GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@Build64R6, 2012-12-20 20:09:51
m:res cs ro ds p mounted fstype
0:securecloud Connected Primary/Secondary UpToDate/UpToDate C /mnt/ebs/0 ext4
# ll /mnt/ebs/0/
合計 20
drwx------ 2 root root 16384 8月 15 19:16 2013 lost+found
-rw-r--r-- 1 root root 5 8月 15 19:34 2013 test.txt

プライマリでマウントされファイルも確認できています。

次に二号機(drbd-2)の状況確認です。

# service drbd status
drbd driver loaded OK; device status:
version: 8.3.15 (api:88/proto:86-97)
GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@Build64R6, 2012-12-20 20:09:51
m:res cs ro ds p mounted fstype
0:securecloud Connected Secondary/Primary UpToDate/UpToDate C
# ll /mnt/ebs/0/
合計 0

セカンダリでマウントされておらず当然ファイルも確認できません。

それでは1号機(drbd-1)のDRBDを停止します。

# service drbd stop
Stopping all DRBD resources:
.
# ll /mnt/ebs/0/
合計 0

今まで確認できていたファイルも確認できなくなりました。

この状態で2号機(drbd-2)を確認します。

# service drbd status
drbd driver loaded OK; device status:
version: 8.3.15 (api:88/proto:86-97)
GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@Build64R6, 2012-12-20 20:09:51
m:res cs ro ds p mounted fstype
0:securecloud WFConnection Secondary/Unknown UpToDate/DUnknown C

対向の一号機(drbd-1)がUnknownになっていることがわかります。

対向の一号機(drbd-1)がプライマリで無い場合は、このセカンダリがプライマリに昇格できるので昇格します。

# drbdadm primary securecloud
# service drbd status
drbd driver loaded OK; device status:
version: 8.3.15 (api:88/proto:86-97)
GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@Build64R6, 2012-12-20 20:09:51
m:res cs ro ds p mounted fstype
0:securecloud WFConnection Primary/Unknown UpToDate/DUnknown C

プライマリになったことが確認できます。

プライマリなのでマウントもできます。

# mount /dev/drbd0 /mnt/ebs/0
# ll /mnt/ebs/0/
合計 20
drwx------ 2 root root 16384 8月 15 19:16 2013 lost+found
-rw-r--r-- 1 root root 5 8月 15 19:34 2013 test.txt

マウントすると二号機(drbd-2)でも一号機(drbd-1)のときと同じファイルを確認することができます。
というのを以前、”cryptsetup & DRBD”でもやっていました。

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

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