FSx for NetApp ONTAP ボリュームサイズを変更する AWS CLI コマンドの例

2024.02.06

コーヒーが好きな emi です。

本ブログでは、FSx for NetApp ONTAP(以降、FSxN と省略)ボリュームサイズを変更する AWS CLI コマンドを記載します。
FSxN ボリュームに対する変更権限を持つ IAM ユーザーでマネジメントコンソールにログインし、CloudShell から実行した結果を記載しています。

以下のブログではマネジメントコンソールからのボリュームサイズ変更手順を記載していますので、ご参照ください。

FSx for NetApp ONTAP を iSCSI で利用する際のボリュームサイジングを考える~バックアップ取得とスナップショット領域を加味する | DevelopersIO - ボリュームサイズを増やす

イメージ図

今回は 160GiB のボリュームサイズを、187GiB に増やします。

経緯としては、ボリュームサイズに空きがなくバックアップが失敗してしまったため、ボリュームサイズを増やすことにしました。
本件の詳細は FSx for NetApp ONTAP を iSCSI で利用する際のボリュームサイジングを考える~バックアップ取得とスナップショット領域を加味する | DevelopersIO - ボリュームサイズをどれくらい増やすか を参照ください。

変更前確認

以下操作は CloudShell で実行確認しました。

変更前の ボリュームサイズを確認するには、describe-volumes コマンドを使います。
describe-volumes — AWS CLI 2.15.17 Command Reference

以下コマンドで、サイズを増やしたい対象の FSxN ボリュームの情報をすべて出力できます。fsvol-xxxxxxxxxxxxxxxxx にはサイズを増やしたい対象の FSxN ボリューム ID を入れてください。

aws fsx describe-volumes \
  --volume-ids fsvol-xxxxxxxxxxxxxxxxx
実行結果例(クリックで展開)
[cloudshell-user@ip-10-134-13-137 ~]$ aws fsx describe-volumes \
>   --volume-ids fsvol-xxxxxxxxxxxxxxxxx
{
    "Volumes": [
        {
            "CreationTime": "2024-01-31T12:06:49.810000+00:00",
            "FileSystemId": "fs-0a97f1cc5213491b0",
            "Lifecycle": "CREATED",
            "Name": "fsxn_vol2",
            "OntapConfiguration": {
                "FlexCacheEndpointType": "NONE",
                "JunctionPath": "/vol2",
                "SecurityStyle": "NTFS",
                "SizeInMegabytes": 163840,
                "StorageEfficiencyEnabled": false,
                "StorageVirtualMachineId": "svm-0dff0ce78b6ee36f6",
                "StorageVirtualMachineRoot": false,
                "TieringPolicy": {
                    "CoolingPeriod": 2,
                    "Name": "SNAPSHOT_ONLY"
                },
                "UUID": "423f5589-c031-11ee-bcf7-f5ba1cc10178",
                "OntapVolumeType": "RW",
                "SnapshotPolicy": "default",
                "CopyTagsToBackups": true,
                "VolumeStyle": "FLEXVOL",
                "SizeInBytes": 171798691840
            },
            "ResourceARN": "arn:aws:fsx:ap-northeast-1:123456789012:volume/fs-0a97f1cc5213491b0/fsvol-xxx",
            "VolumeId": "fsvol-xxxxxxxxxxxxxxxxx",
            "VolumeType": "ONTAP"
        }
    ]
}
[cloudshell-user@ip-10-134-13-137 ~]$

以下コマンドでは --query オプションを使って、現在のボリューム容量(MiB)のみ出力できます。

aws fsx describe-volumes \
  --volume-ids fsvol-xxxxxxxxxxxxxxxxx \
  --query "Volumes[].OntapConfiguration.SizeInMegabytes" \
  --output text

▼実行結果例

[cloudshell-user@ip-10-134-13-137 ~]$ aws fsx describe-volumes \
>   --volume-ids fsvol-xxxxxxxxxxxxxxxxx \
>   --query "Volumes[].OntapConfiguration.SizeInMegabytes" \
>   --output text
163840
[cloudshell-user@ip-10-134-13-137 ~]$

現在のボリュームサイズが 163840MiB(≒160GiB)であることが分かります。

ボリュームサイズの変更

ボリュームサイズを変更するには、update-volume コマンドを使います。
update-volume — AWS CLI 2.15.15 Command Reference

以下コマンドで、ボリュームサイズを増やすことができます。 fsvol-xxxxxxxxxxxxxxxxx にはサイズを増やしたい対象の FSxN ボリューム ID を、--ontap-configuration オプションの後の SizeInMegabytes=xxxxxx には増加後のボリュームサイズを MiB 単位で入力してください。
以下コマンドではボリュームサイズを 191488MiB(≒187GiB)に変更します。

aws fsx update-volume \
    --volume-id fsvol-xxxxxxxxxxxxxxxxx \
    --ontap-configuration SizeInMegabytes=191488
実行結果例(クリックで展開)
[cloudshell-user@ip-10-134-13-137 ~]$ aws fsx update-volume \
>     --volume-id fsvol-xxxxxxxxxxxxxxxxx \
>     --ontap-configuration SizeInMegabytes=191488
{
    "Volume": {
        "CreationTime": "2024-01-31T12:06:49.810000+00:00",
        "FileSystemId": "fs-0a97f1cc5213491b0",
        "Lifecycle": "CREATED",
        "Name": "fsxn_vol2",
        "OntapConfiguration": {
            "FlexCacheEndpointType": "NONE",
            "JunctionPath": "/vol2",
            "SecurityStyle": "NTFS",
            "SizeInMegabytes": 163840,
            "StorageEfficiencyEnabled": false,
            "StorageVirtualMachineId": "svm-0dff0ce78b6ee36f6",
            "StorageVirtualMachineRoot": false,
            "TieringPolicy": {
                "CoolingPeriod": 2,
                "Name": "SNAPSHOT_ONLY"
            },
            "UUID": "423f5589-c031-11ee-bcf7-f5ba1cc10178",
            "OntapVolumeType": "RW",
            "SnapshotPolicy": "default",
            "CopyTagsToBackups": true,
            "VolumeStyle": "FLEXVOL",
            "SizeInBytes": 171798691840
        },
        "ResourceARN": "arn:aws:fsx:ap-northeast-1:123456789012:volume/fs-0a97f1cc5213491b0/fsvol-xxx",
        "VolumeId": "fsvol-xxxxxxxxxxxxxxxxx",
        "VolumeType": "ONTAP"
    }
}
[cloudshell-user@ip-10-134-13-137 ~]$

ボリュームサイズの変更が反映されるまで 1~2 分程度かかりますので、少し待ちましょう。

変更後確認

変更後のボリュームサイズを確認するには変更前と同様 describe-volumes コマンドを使います。

以下コマンドで、サイズを増やした対象の FSxN ボリュームの情報をすべて出力できます。

aws fsx describe-volumes \
  --volume-ids fsvol-xxxxxxxxxxxxxxxxx
実行結果例(クリックで展開)
[cloudshell-user@ip-10-134-13-137 ~]$ aws fsx describe-volumes \
>   --volume-ids fsvol-xxxxxxxxxxxxxxxxx
{
    "Volumes": [
        {
            "CreationTime": "2024-01-31T12:06:49.810000+00:00",
            "FileSystemId": "fs-0a97f1cc5213491b0",
            "Lifecycle": "CREATED",
            "Name": "fsxn_vol2",
            "OntapConfiguration": {
                "FlexCacheEndpointType": "NONE",
                "JunctionPath": "/vol2",
                "SecurityStyle": "NTFS",
                "SizeInMegabytes": 191488,
                "StorageEfficiencyEnabled": false,
                "StorageVirtualMachineId": "svm-0dff0ce78b6ee36f6",
                "StorageVirtualMachineRoot": false,
                "TieringPolicy": {
                    "CoolingPeriod": 2,
                    "Name": "SNAPSHOT_ONLY"
                },
                "UUID": "423f5589-c031-11ee-bcf7-f5ba1cc10178",
                "OntapVolumeType": "RW",
                "SnapshotPolicy": "default",
                "CopyTagsToBackups": true,
                "VolumeStyle": "FLEXVOL",
                "SizeInBytes": 171798691840
            },
            "ResourceARN": "arn:aws:fsx:ap-northeast-1:123456789012:volume/fs-0a97f1cc5213491b0/fsvol-xxxxxxxxxxxxxxxxx",
            "VolumeId": "fsvol-xxxxxxxxxxxxxxxxx",
            "VolumeType": "ONTAP"
        }
    ]
}
[cloudshell-user@ip-10-134-13-137 ~]$

以下コマンドでは --query オプションを使って、現在のボリューム容量(MiB)のみ出力できます。

aws fsx describe-volumes \
  --volume-ids fsvol-xxxxxxxxxxxxxxxxx \
  --query "Volumes[].OntapConfiguration.SizeInMegabytes" \
  --output text

▼実行結果例

[cloudshell-user@ip-10-134-13-137 ~]$ aws fsx describe-volumes \
>   --volume-ids fsvol-xxx \
>   --query "Volumes[].OntapConfiguration.SizeInMegabytes" \
>   --output text
191488
[cloudshell-user@ip-10-134-13-137 ~]$

ボリュームサイズが 191488MiB(≒187GiB)になっていることが確認できました。

参考