2013年2月25日月曜日

StorageGatewayってなんじゃ?(スナップショットからの復元)

前回、Storage GatewayをEC2にマウントしてみました。
運用中、ボリュームのデータがおかしくなったり、オペレーションミスで以前の状態に復旧したい場合があります。

その場合の定期的なスナップショットから復元する方法です。




ざっくりですが、少し試してみました。
まず、StorageGateway画面で、スナップショットをとりました。



スナップショットはEBSボリュームとして作成されるようで、StorageGatewayの「Snapshots」からも参照できます。




そして、「CreateVolume」を選択します。
すると、ボリューム作成画面が表示されますが、名前を「memorycraft-sgw2」、ホストIPを「10.0.1.5」にして「Create Volume」をクリックします。ちなみにホストIPをNICの別のIPを選ぶと、iSCSIのエンドポイントが変わるため、既存の接続が切れてしまうので注意が必要です。



すると、ボリュームが1つ追加されました。
そして、EC2のマウント用インスタンスで10.0.1.5のインターフェースを探してみると、、、
# iscsiadm --mode discovery --type sendtargets --portal 10.0.1.6:3260
10.0.1.5:3260,1 iqn.1997-05.com.amazon:memorycraft-sgw
10.0.1.5:3260,1 iqn.1997-05.com.amazon:memorycraft-sgw2


認識されました。とりあえず、このsgw2の方をログインしてみると、
# iscsiadm  --mode node --targetname iqn.1997-05.com.amazon:memorycraft-sgw2 --portal 10.0.1.5:3260,1 --login
Logging in to [iface: default, target: iqn.1997-05.com.amazon:memorycraft-sgw2, portal: 10.0.1.5,3260] (multiple)
Login to [iface: default, target: iqn.1997-05.com.amazon:memorycraft-sgw2, portal: 10.0.1.5,3260] successful.
# ls -l /dev/disk/by-path/
合計 0
lrwxrwxrwx 1 root root  9  2月 23 19:27 2013 ip-10.0.1.5:3260-iscsi-iqn.1997-05.com.amazon:memorycraft-sgw-lun-0 -> ../../sdb
lrwxrwxrwx 1 root root  9  2月 24 03:08 2013 ip-10.0.1.5:3260-iscsi-iqn.1997-05.com.amazon:memorycraft-sgw2-lun-0 -> ../../sda
lrwxrwxrwx 1 root root 11  2月 23 17:54 2013 xen-vbd-2049 -> ../../xvde1

sdaにアタッチできたようです。
また、sgwの方をログアウトします。
# iscsiadm  --mode node --targetname iqn.1997-05.com.amazon:memorycraft-sgw --portal 10.0.1.5:3260,1 --logout
Logging out of session [sid: 2, target: iqn.1997-05.com.amazon:memorycraft-sgw, portal: 10.0.1.5,3260]
Logout of [sid: 2, target: iqn.1997-05.com.amazon:memorycraft-sgw, portal: 10.0.1.5,3260] successful.


次にsdaの方を/mnt/sgwにマウントしなおします。
# umount /mnt/sgw
# mount /dev/sda /mnt/sgw

# ls -l /mnt/sgw
合計 44
drwxr-xr-x 14 root root  4096  2月 23 19:19 2013 cassandra
drwxr-xr-x 25 root root  4096  2月 23 19:12 2013 linux
drwxr-xr-x  3 root root  4096  2月 23 19:40 2013 linux2
drwx------  2 root root 16384  2月 23 18:37 2013 lost+found
drwxr-xr-x 28 root root  4096  2月 23 18:43 2013 perl
drwxr-xr-x  7 root root  4096  2月 23 19:18 2013 redis
drwxr-xr-x  4 root root  4096  2月 23 18:48 2013 symfony
drwxr-xr-x 11 root root  4096  2月 23 18:47 2013 v8


データが正しくコピーされたようです。
また、StorageGatewayではスナップショットを定期的にとるように設定することができます。
これらの操作はAPIでも提供されていますし、ある時点までの自動バックアップ-リストアはできそうです。


以上です。