こんにちは、与儀です。
以前書いた、[AWS] EC2 上で Storage Gateway (ゲートウェイキャッシュ型ボリューム)を構築する。 の記事にて、Storage Gatewayを構築しましたが、キャッシュストレージを減らしたいと思った場合に、下記ドキュメントにも記載がありますが、「Storage Gatewayのサービス仕様として減らせない」という壁にぶつかります。。。
Note 現在のところ、キャッシュストレージとして割り当てられたディスクを削除することはできません。
なお、追加に関してはゲートウェイを停止せずにオンラインでも可能なのですが、削除となるとオフラインでもそもそも減らせない、ということなのです。
では、どうしても減らしたい時にどうやって減らせばいいのか?、その方法の一つとして、既存Storage Gatewayのボリュームのスナップショットを取得して、そこから新規で(小さいキャッシュストレージがアタッチされた)Storage Gatewayを構築して、そこにiscsiマウントし直すということをします。(減らすというか新規で作り直しですが。。)
図にすると、作業前後では下記のようなイメージになります。
作業前
作業後
「SGW-TEST1」および「SGW-TEST2」が構築された状態からスタート
SGW-TEST1
プライベートIPアドレス:172.31.2.185
iscsiターゲット名:testvolume1
アップロードバッファ 12GB
キャッシュストレージ 100GB
ゲートウェイのボリュームサイズ 1TB
を作成済み。
SGW-TEST2
プライベートIPアドレス:172.31.12.128
iscsiターゲット名:myvolume2
アップロードバッファ 12GB
キャッシュストレージ 10GB
を作成済み。
ゲートウェイのボリュームをこれから作成。
SGW-TEST1は、下記のように /mnt 領域で、ゲートウェイボリューム1TB中、170GB書き込みがある状態です。
[root@ip-172-31-6-255 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 50G 1.1G 48G 3% / devtmpfs 993M 60K 993M 1% /dev tmpfs 1002M 0 1002M 0% /dev/shm /dev/sda 1008G 170G 788G 18% /mnt [root@ip-172-31-6-255 ~]# |
Storage Gateway管理画面にて、ボリュームゲートウェイの「SGW-TEST1」を選択 → ボリュームで対象ボリュームを選択 →「スナップショットを作成」を選択します。
※ここで注意が必要ですが、「スナップショットを作成」を押すと、確認画面などはなく即座にスナップショット取得されます。なお、このスナップショット取得作業によるゲートウェイへの影響はないです。
「スナップショットの取得完了」になるので「閉じる」を押します。
ボリュームゲートウェイの「スナップショット」画面をみると、ほぼ即座~数分足らずで、スナップショット取得完了となっていることがわかります。ここでこのスナップショットIDをメモしておきます。
ボリュームゲートウェイで「SGW-TEST2」を選択 → ボリュームで「ボリュームを作成」選択 します。
基づくスナップショットIDへ先ほどメモしたスナップショットIDを入力して、「ボリュームを作成」を押します。
これで、「SGW-TEST2」へ「スナップショットID:snap-37635aaa」から作成したボリュームを作成することができました。
既存Storage Gateway へのiscsi接続を解除して、新規Storage Gatewayへiscsi接続し直す
- ゲートウェイに対して定義されているストレージボリュームターゲットを検出します。
# /sbin/iscsiadm –mode discovery –type sendtargets –portal 172.31.12.128:3260
[root@ip-172-31-6-255 ~]# /sbin/iscsiadm --mode discovery --type sendtargets --portal 172.31.12.128:3260 172.31.12.128:3260,1 iqn.1997-05.com.amazon:myvolume2 [root@ip-172-31-6-255 ~]# |
SGW-TEST1への接続確認
[root@ip-172-31-6-255 ~]# ls -l /dev/disk/by-path total 0 lrwxrwxrwx 1 root root 9 Oct 9 05:34 ip-172.31.2.185:3260-iscsi-iqn.1997-05.com.amazon:testvolume1-lun-0 -> ../../sda lrwxrwxrwx 1 root root 10 Oct 9 05:26 xen-vbd-51712 -> ../../xvda lrwxrwxrwx 1 root root 11 Oct 9 05:26 xen-vbd-51712-part1 -> ../../xvda1 [root@ip-172-31-6-255 ~]# [root@ip-172-31-6-255 ~]# [root@ip-172-31-6-255 ~]# iscsiadm --mode session --op show tcp: [1] 172.31.2.185:3260,1 iqn.1997-05.com.amazon:testvolume1 [root@ip-172-31-6-255 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 50G 1.1G 48G 3% / devtmpfs 993M 60K 993M 1% /dev tmpfs 1002M 0 1002M 0% /dev/shm /dev/sda 1008G 170G 788G 18% /mnt [root@ip-172-31-6-255 ~]# |
アンマウント実施
[root@ip-172-31-6-255 ~]# umount /mnt [root@ip-172-31-6-255 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 50G 1.1G 48G 3% / devtmpfs 993M 60K 993M 1% /dev tmpfs 1002M 0 1002M 0% /dev/shm [root@ip-172-31-6-255 ~]# ls -l /dev/disk/by-path total 0 lrwxrwxrwx 1 root root 9 Oct 9 05:34 ip-172.31.2.185:3260-iscsi-iqn.1997-05.com.amazon:testvolume1-lun-0 -> ../../sda lrwxrwxrwx 1 root root 10 Oct 9 05:26 xen-vbd-51712 -> ../../xvda lrwxrwxrwx 1 root root 11 Oct 9 05:26 xen-vbd-51712-part1 -> ../../xvda1 [root@ip-172-31-6-255 ~]# iscsiadm --mode session --op show tcp: [1] 172.31.2.185:3260,1 iqn.1997-05.com.amazon:testvolume1 [root@ip-172-31-6-255 ~]# |
- iscsi解除
[root@ip-172-31-6-255 ~]# iscsiadm --mode node --targetname iqn.1997-05.com.amazon:testvolume1 --logout Logging out of session [sid: 1, target: iqn.1997-05.com.amazon:testvolume1, portal: 172.31.2.185,3260] Logout of [sid: 1, target: iqn.1997-05.com.amazon:testvolume1, portal: 172.31.2.185,3260] successful. [root@ip-172-31-6-255 ~]# |
- iscsi解除されたことを確認
[root@ip-172-31-6-255 ~]# ls -l /dev/disk/by-path total 0 lrwxrwxrwx 1 root root 10 Oct 9 05:26 xen-vbd-51712 -> ../../xvda lrwxrwxrwx 1 root root 11 Oct 9 05:26 xen-vbd-51712-part1 -> ../../xvda1 [root@ip-172-31-6-255 ~]# iscsiadm --mode session --op show iscsiadm: No active sessions. [root@ip-172-31-6-255 ~]# |
SGW-TEST2へ接続
ゲートウェイに対して定義されているストレージボリュームターゲットを検出します。
[root@ip-172-31-6-255 ~]# /sbin/iscsiadm --mode discovery --type sendtargets --portal 172.31.12.128:3260 172.31.12.128:3260,1 iqn.1997-05.com.amazon:myvolume2 [root@ip-172-31-6-255 ~]# |
ターゲットに接続します。
[root@ip-172-31-6-255 ~]# /sbin/iscsiadm --mode node --targetname iqn.1997-05.com.amazon:myvolume2 --portal 172.31.12.128:3260,1 --login Logging in to [iface: default, target: iqn.1997-05.com.amazon:myvolume2, portal: 172.31.12.128,3260] (multiple) Login to [iface: default, target: iqn.1997-05.com.amazon:myvolume2, portal: 172.31.12.128,3260] successful. [root@ip-172-31-6-255 ~]# |
ボリュームがクライアントマシン(イニシエータ)にアタッチされていることを確認するには、次のコマンドを使用します。
[root@ip-172-31-6-255 ~]# ls -l /dev/disk/by-path total 0 lrwxrwxrwx 1 root root 9 Oct 9 09:44 ip-172.31.12.128:3260-iscsi-iqn.1997-05.com.amazon:myvolume2-lun-0 -> ../../sda lrwxrwxrwx 1 root root 10 Oct 9 05:26 xen-vbd-51712 -> ../../xvda lrwxrwxrwx 1 root root 11 Oct 9 05:26 xen-vbd-51712-part1 -> ../../xvda1 [root@ip-172-31-6-255 ~]# iscsiadm --mode session --op show tcp: [2] 172.31.12.128:3260,1 iqn.1997-05.com.amazon:myvolume2 [root@ip-172-31-6-255 ~]# |
mount実施
[root@ip-172-31-6-255 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 50G 1.1G 48G 3% / devtmpfs 993M 60K 993M 1% /dev tmpfs 1002M 0 1002M 0% /dev/shm /dev/sda 1008G 170G 788G 18% /mnt [root@ip-172-31-6-255 ~]# |
このようにして、Storage Gatewayのスナップショットから、新しいStorage Gatewayを構築することができました!
以上です。