以前「Storage Gatewayってなんじゃ?(EC2のCentOSにS3をマウント)」にて、Storage GatewayをEC2に
マウントしてみました。
サーバ運用では、ボリュームのデータがおかしくなることやオペレーションミスで以前の状態に復旧したい場合が
あります。
そういった場合に備え、定期的に取得したスナップショットから復旧する方法を調査してみました。

まず、StorageGateway画面でスナップショットを取得します。

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

そして、「CreateVolume」を選択します。
そうすると、ボリューム作成画面が表示されますが、名前を「memorycraft-sgw2」、ホストIPを
「10.0.1.5」にして「Create Volume」をクリックします。
尚、ホストIPへ別の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でも提供されており、ある時点までの自動バックアップ-リストアはできそうです。

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