[アップデート] AWS BackupがAmazon FSx for NetApp ONTAPをサポートしました

Amazon FSx for NetApp ONTAPのバックアップを柔軟に管理できるようになったよ
2022.05.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon FSx for NetApp ONTAPのバックアップを柔軟に管理したいな

こんにちは、のんピ(@non____97)です。

皆さんはAmazon FSx for NetApp ONTAPのバックアップを柔軟に管理したいと思ったことはありますか?

Amazon FSx for NetApp ONTAPでは日次で自動バックアップを行うことができます。

デフォルトでは、Amazon FSx はファイルシステムのボリュームの自動バックアップを毎日取得します。これらの自動の日次バックアップは、ファイルシステムの作成時に設定された日次バックアップウィンドウ中に実行されます。日次バックアップ期間のある時点で、バックアッププロセスの初期化中にストレージ I/O が一時的に中断される場合があります (通常は数秒未満)。日次バックアップ期間を選択するときは、1 日の中で都合の良い時間帯を選択することをお勧めします。この時間は、ボリュームを使用するアプリケーションの通常の動作時間外であることが理想的です。

自動の日次バックアップは、保持期間と呼ばれる一定期間保持されます。自動の日次バックアップのデフォルトの保持期間は 7 日です。保持期間は、1~90 日間で設定できます。

バックアップの使用 - 自動の日次バックアップの操作

ただ、以下のようにバックアップを取得・管理したい場面もあると考えます。

  • 1時間ごとにバックアップを取得したい
  • バックアップの保持期間を1年にしたい
  • 指定のボリュームのみバックアップを取得する間隔をカスタマイズしたい

上述のような要件を満たす方法としては、Lambda関数とEventBridgeルールを駆使して自分でバックアップの取得・管理処理を実装するのが挙げられます。しかし、自分で実装するのは大変ですし、何よりも管理コストがかかります。

今回、AWS BackupがAmazon FSx for NetApp ONTAPをサポートしました。

AWSブログでも紹介されていますね。

これにより、先述した悩みが解消できそうです。

ということで、AWS Backupを使ってAmazon FSx for NetApp ONTAPのバックアップ・リストアをやってみたので紹介します。

ボリュームの確認

それでは、AWS Backupを使ったバックアップ・リストアを試してみます。

まず、バックアップ・リストアするFSx for ONTAPのボリュームを確認します。

対象のボリュームはSVMに割り当てている以下の4つです。

  • SVMのルートボリューム
  • iSCSI LUN用ボリューム
  • SMB用ボリューム
  • NFS用ボリューム
$ aws fsx describe-volumes \
    --filters Name=storage-virtual-machine-id,Values="$svm_id"
{
    "Volumes": [
        {
            "CreationTime": "2022-05-19T00:43:15+00:00",
            "FileSystemId": "fs-0967312eff2f5f5e1",
            "Lifecycle": "CREATED",
            "Name": "classmethod_dev_fsx_netapp_ontap_single_az_svm_root",
            "OntapConfiguration": {
                "FlexCacheEndpointType": "NONE",
                "JunctionPath": "/",
                "SecurityStyle": "MIXED",
                "SizeInMegabytes": 1024,
                "StorageEfficiencyEnabled": false,
                "StorageVirtualMachineId": "svm-0a3a78e7c64ff2c5d",
                "StorageVirtualMachineRoot": true,
                "TieringPolicy": {
                    "Name": "NONE"
                },
                "UUID": "ab10c43e-d70c-11ec-98a1-4f0618187ab3",
                "OntapVolumeType": "RW"
            },
            "ResourceARN": "arn:aws:fsx:ap-northeast-1:<AWSアカウントID>:volume/fs-0967312eff2f5f5e1/fsvol-0d6bedc0582bb8ede",
            "VolumeId": "fsvol-0d6bedc0582bb8ede",
            "VolumeType": "ONTAP"
        },
        {
            "CreationTime": "2022-05-19T00:49:59.169000+00:00",
            "FileSystemId": "fs-0967312eff2f5f5e1",
            "Lifecycle": "CREATED",
            "Name": "classmethod_dev_fsx_netapp_ontap_single_az_volume_lun",
            "OntapConfiguration": {
                "FlexCacheEndpointType": "NONE",
                "JunctionPath": "/lun",
                "SecurityStyle": "MIXED",
                "SizeInMegabytes": 20480,
                "StorageEfficiencyEnabled": true,
                "StorageVirtualMachineId": "svm-0a3a78e7c64ff2c5d",
                "StorageVirtualMachineRoot": false,
                "TieringPolicy": {
                    "CoolingPeriod": 31,
                    "Name": "AUTO"
                },
                "UUID": "a60c3ae5-d70d-11ec-aeb4-877d41bba405",
                "OntapVolumeType": "RW"
            },
            "ResourceARN": "arn:aws:fsx:ap-northeast-1:<AWSアカウントID>:volume/fs-0967312eff2f5f5e1/fsvol-034753ad216df7904",
            "VolumeId": "fsvol-034753ad216df7904",
            "VolumeType": "ONTAP"
        },
        {
            "CreationTime": "2022-05-20T05:52:30.902000+00:00",
            "FileSystemId": "fs-0967312eff2f5f5e1",
            "Lifecycle": "CREATED",
            "Name": "classmethod_dev_fsx_netapp_ontap_single_az_volume_smb_encryption",
            "OntapConfiguration": {
                "FlexCacheEndpointType": "NONE",
                "JunctionPath": "/smb_encryption",
                "SecurityStyle": "NTFS",
                "SizeInMegabytes": 1024,
                "StorageEfficiencyEnabled": true,
                "StorageVirtualMachineId": "svm-0a3a78e7c64ff2c5d",
                "StorageVirtualMachineRoot": false,
                "TieringPolicy": {
                    "CoolingPeriod": 31,
                    "Name": "AUTO"
                },
                "UUID": "146ecf98-d801-11ec-aeb4-877d41bba405",
                "OntapVolumeType": "RW"
            },
            "ResourceARN": "arn:aws:fsx:ap-northeast-1:<AWSアカウントID>:volume/fs-0967312eff2f5f5e1/fsvol-04b998144d14d760a",
            "VolumeId": "fsvol-04b998144d14d760a",
            "VolumeType": "ONTAP"
        },
        {
            "CreationTime": "2022-05-25T00:06:50.607000+00:00",
            "FileSystemId": "fs-0967312eff2f5f5e1",
            "Lifecycle": "CREATED",
            "Name": "classmethod_dev_fsx_netapp_ontap_single_az_volume_nfs",
            "OntapConfiguration": {
                "FlexCacheEndpointType": "NONE",
                "JunctionPath": "/nfs",
                "SecurityStyle": "UNIX",
                "SizeInMegabytes": 1024,
                "StorageEfficiencyEnabled": true,
                "StorageVirtualMachineId": "svm-0a3a78e7c64ff2c5d",
                "StorageVirtualMachineRoot": false,
                "TieringPolicy": {
                    "CoolingPeriod": 31,
                    "Name": "AUTO"
                },
                "UUID": "98678314-dbbe-11ec-aeb4-877d41bba405",
                "OntapVolumeType": "RW"
            },
            "ResourceARN": "arn:aws:fsx:ap-northeast-1:<AWSアカウントID>:volume/fs-0967312eff2f5f5e1/fsvol-055cc5edc6f25e60c",
            "VolumeId": "fsvol-055cc5edc6f25e60c",
            "VolumeType": "ONTAP"
        }
    ]
}

テストファイルの作成

SMB

バックアップ・リストアをするにあたり、リストアしたことが分かりやすくなるようにテストファイルを作成します。

まずはSMB用ボリュームのテストファイルです。

NetApp ONTAP CLIでsmb_encryptionという共有があることを確認します。

::> vserver cifs share show
Vserver        Share         Path              Properties Comment  ACL
-------------- ------------- ----------------- ---------- -------- -----------
classmethod-dev-fsx-netapp-ontap-single-az-svm oplocks             BUILTIN\Administrators / Full Control
               c$            /                 browsable  -
                                               changenotify
                                               encrypt-data
                                               show-previous-versions
classmethod-dev-fsx-netapp-ontap-single-az-svm browsable
               ipc$          /                            -        -
classmethod-dev-fsx-netapp-ontap-single-az-svm browsable           Everyone / Full Control
               smb_          /smb_encryption   encrypt-data
               encryption                                 -
3 entries were displayed.

こちらの共有をZドライブに割り当てます。

# 現在のドライブ一覧を確認
> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                                                               CurrentLocation
----           ---------     --------- --------      ----                                                                                               ---------------
Alias                                  Alias
C                  14.30         15.70 FileSystem    C:\                                                                                               Windows\system32
Cert                                   Certificate   \
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan

# Zドライブに共有を割り当て
> net use Z: \\SINGLE-AZ-SVM.fsx-dev.classmethod.jp\smb_encryption
\\SINGLE-AZ-SVM.fsx-dev.classmethod.jp\smb_encryption のパスワードが無効です。

'SINGLE-AZ-SVM.fsx-dev.classmethod.jp' のユーザー名を入力してください: fsx-dev.classmethod.jp\FSxAdmin
SINGLE-AZ-SVM.fsx-dev.classmethod.jp のパスワードを入力してください:
コマンドは正常に終了しました。

# Zドライブに共有が割り当てられていることを確認
> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                                                               CurrentLocation
----           ---------     --------- --------      ----                                                                                               ---------------
Alias                                  Alias
C                  14.30         15.70 FileSystem    C:\                                                                                               Windows\system32
Cert                                   Certificate   \
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan
Z                   0.00          0.95 FileSystem    \\SINGLE-AZ-SVM.fsx-dev.classmet...

Zドライブに割り当てられたことを確認したら、Z:\aws-backup-test\aws-backup-test.txtというファイルを作成します。

# フォルダの作成
> New-Item Z:\aws-backup-test -type directory


    ディレクトリ: Z:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2022/05/25      0:21                aws-backup-test


# テストファイルの作成
> Write-Output "This is a test file of AWS Backup." `
    | Add-Content Z:\aws-backup-test\aws-backup-test.txt -Encoding Default

> Get-Content Z:\aws-backup-test\aws-backup-test.txt
This is a test file of AWS Backup.

NFS

次にNFS用ボリュームのテストファイルの準備をします。

まず、マウントポイント/nfsにFSx for ONTAPの/nfsをマウントさせます。

# 現在のディスクサイズ一覧を表示
$ df -hT
Filesystem                                     Type      Size  Used Avail Use% Mounted on
devtmpfs                                       devtmpfs  462M     0  462M   0% /dev
tmpfs                                          tmpfs     470M     0  470M   0% /dev/shm
tmpfs                                          tmpfs     470M  412K  470M   1% /run
tmpfs                                          tmpfs     470M     0  470M   0% /sys/fs/cgroup
/dev/nvme0n1p1                                 xfs       8.0G  1.6G  6.5G  20% /
/dev/mapper/3600a09806c574231752b53784865462f1 ext4      2.0G  6.1M  1.8G   1% /lun/part1
/dev/mapper/3600a09806c574231752b53784865462f2 ext4      2.9G  9.1M  2.8G   1% /lun/part2

# マウントポイントの作成
$ sudo mkdir /nfs

# マウント
$ sudo mount -t nfs -o nfsvers=4.1 svm-0a3a78e7c64ff2c5d.fs-0967312eff2f5f5e1.fsx.ap-northeast-1.amazonaws.com:/nfs /nfs

# 指定したマウントポイントにNFSでマウントできているか確認
$ df -hT
Filesystem                                                                       Type      Size  Used Avail Use% Mounted on
devtmpfs                                                                         devtmpfs  462M     0  462M   0% /dev
tmpfs                                                                            tmpfs     470M     0  470M   0% /dev/shm
tmpfs                                                                            tmpfs     470M  412K  470M   1% /run
tmpfs                                                                            tmpfs     470M     0  470M   0% /sys/fs/cgroup
/dev/nvme0n1p1                                                                   xfs       8.0G  1.6G  6.5G  20% /
/dev/mapper/3600a09806c574231752b53784865462f1                                   ext4      2.0G  6.1M  1.8G   1% /lun/part1
/dev/mapper/3600a09806c574231752b53784865462f2                                   ext4      2.9G  9.1M  2.8G   1% /lun/part2
svm-0a3a78e7c64ff2c5d.fs-0967312eff2f5f5e1.fsx.ap-northeast-1.amazonaws.com:/nfs nfs4      973M  320K  973M   1% /nfs

/nfs/aws-backup-test/aws-backup-test.txtというテストファイルを作成します。

# ディレクトリの所有者を変更
$ sudo chown ssm-user:ssm-user /nfs

$ ls -ld /nfs
drwxr-xr-x 3 ssm-user ssm-user 4096 May 25 00:28 /nfs

# テストファイルの作成
$ mkdir /nfs/aws-backup-test
$ echo "This is a test file of AWS Backup." > /nfs/aws-backup-test/aws-backup-test.txt

$ ls -l /nfs/aws-backup-test/aws-backup-test.txt
-rw-r--r-- 1 ssm-user ssm-user 35 May 25 00:32 /nfs/aws-backup-test/aws-backup-test.txt

$ cat /nfs/aws-backup-test/aws-backup-test.txt
This is a test file of AWS Backup.

iSCSI LUN

最後にiSCSI LUN用ボリュームのテストファイルの準備をします。

iSCSI LUNはAmazon Linux 2にマウントするものと、Windows Serverにマウントするものの2つあるので、それぞれ行います。

まずは、Amazon Linux 2にマウントするLUNです。マウントポイント/lun/part1配下に、./aws-backup-test/aws-backup-test.txtというテストファイルを作成します。

# テストファイルの作成
$ mkdir /lun/part1/aws-backup-test
$ echo "This is a test file of AWS Backup." > /lun/part1/aws-backup-test/aws-backup-test.txt

$ ls -l /lun/part1/aws-backup-test/aws-backup-test.txt
-rw-r--r-- 1 ssm-user ssm-user 35 May 25 00:35 /lun/part1/aws-backup-test/aws-backup-test.txt

$ cat /lun/part1/aws-backup-test/aws-backup-test.txt
This is a test file of AWS Backup.

続いて、Windows ServerにマウントするLUNです。LUNをディスクとして認識させるためにスクリプトを実行します。

# iSCSIサービスが起動していることを確認
GS C:\Windows\system32> Get-Service MSiSCSI

Status   Name               DisplayName
------   ----               -----------
Running  MSiSCSI            Microsoft iSCSI Initiator Service

# ヒアドキュメントで処理内容を記述
> $establish_iscsi = @'
  #iSCSI IP addresses for Preferred and Standby subnets
  $TargetPortalAddresses = @("10.0.10.96","10.0.10.45")
 
  #iSCSI Initator IP Address (Local node IP address)
  $LocaliSCSIAddress = "10.0.0.138"
 
  #Connect to FSx for NetApp ONTAP file system
  Foreach ($TargetPortalAddress in $TargetPortalAddresses) {
    New-IscsiTargetPortal -TargetPortalAddress $TargetPortalAddress
    -TargetPortalPortNumber 3260 -InitiatorPortalAddress $LocaliSCSIAddress
  }
 
  #Add MPIO support for iSCSI
  New-MSDSMSupportedHW -VendorId MSFT2005 -ProductId iSCSIBusType_0x9
 
  #Establish iSCSI connection
  1..4 | %{Foreach($TargetPortalAddress in $TargetPortalAddresses){
    Get-IscsiTarget `
      | Connect-IscsiTarget `
          -IsMultipathEnabled $true `
          -TargetPortalAddress $TargetPortalAddress `
          -InitiatorPortalAddress $LocaliSCSIAddress `
          -IsPersistent $true}
  }
 
  #Set the MPIO Policy to Round Robin
  Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy RR
  '@

# ヒアドキュメントの内容をファイルに書き込み
> Write-Output $establish_iscsi `
    | Out-File  "establish_iscsi.ps1"

# 実行
> .\establish_iscsi.ps1


InitiatorInstanceName  :
InitiatorPortalAddress :
IsDataDigest           : False
IsHeaderDigest         : False
TargetPortalAddress    : 10.0.10.96
TargetPortalPortNumber : 3260
PSComputerName         :

-TargetPortalPortNumber : 用語 '-TargetPortalPortNumber' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正
しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 C:\Windows\system32\establish_iscsi.ps1:10 文字:3
+   -TargetPortalPortNumber 3260 -InitiatorPortalAddress $LocaliSCSIAdd ...
+   ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (-TargetPortalPortNumber:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

InitiatorInstanceName  :
InitiatorPortalAddress :
IsDataDigest           : False
IsHeaderDigest         : False
TargetPortalAddress    : 10.0.10.45
TargetPortalPortNumber : 3260
PSComputerName         :

-TargetPortalPortNumber : 用語 '-TargetPortalPortNumber' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正
しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 C:\Windows\system32\establish_iscsi.ps1:10 文字:3
+   -TargetPortalPortNumber 3260 -InitiatorPortalAddress $LocaliSCSIAdd ...
+   ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (-TargetPortalPortNumber:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

ProductId      : iSCSIBusType_0x9
VendorId       : MSFT2005
PSComputerName :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370000
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffff800938ec7010-4000013700000009
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0500
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370002
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffff800938ec7010-400001370000000a
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0500
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370004
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffff800938ec7010-400001370000000b
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0600
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370006
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffff800938ec7010-400001370000000c
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0600
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370008
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffff800938ec7010-400001370000000d
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0700
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 40000137000a
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffff800938ec7010-400001370000000e
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0700
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 40000137000c
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffff800938ec7010-400001370000000f
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0800
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 40000137000e
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffff800938ec7010-4000013700000010
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0800
PSComputerName          :

スクリプト実行後、Windows ServerにRDP接続してディスクの管理を見ると、オフラインとなっているディスクを確認できました。

オフラインディスクの確認

ディスクをオンラインにして、Dドライブに割り当てます。

ディスクをDドライブに割り当て

Dドライブの確認

Dドライブ配下に.\aws-backup-test\aws-backup-test.txtというテストファイルを作成します。

# 現在のドライブ一覧を確認
> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                                                               CurrentLocation
----           ---------     --------- --------      ----                                                                                               ---------------
Alias                                  Alias
C                  14.31         15.69 FileSystem    C:\                                                                                               Windows\system32
Cert                                   Certificate   \
D                   0.03          8.99 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan

# フォルダの作成
> New-Item D:\aws-backup-test -type directory


    ディレクトリ: D:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2022/05/25      1:19                aws-backup-test


# テストファイルの作成
> Write-Output "This is a test file of AWS Backup." `
    | Add-Content D:\aws-backup-test\aws-backup-test.txt -Encoding Default

> Get-Content D:\aws-backup-test\aws-backup-test.txt
This is a test file of AWS Backup.

AWS Backupの設定

全てのテストファイルを作成できたので、AWS Backupで各ボリュームのバックアップ設定を行います。

AWS Backupのコンソールでバックアッププラン-バックアップ計画を作成するをクリックします。

バックアップ計画を作成する

まず、起動オプションを選択します。色々カスタマイズしてみたいので新しいプランを立てるを選択します。

新しいプランを立てる

バックアップルールの設定を行います。

UTCで月曜日から金曜日の間、毎時バックアップを取るように設定します。

バックアップルールの設定

なお、勢いでコールドストレージへの移行や別リージョンにコピーを設定しましたが、AWS公式ドキュメントを確認すると以下の通りどちらも対応していませんでした。

AWS Backup supports Cross-Region backup Cross-account backup AWS Backup Audit Manager Incremental backup Continuous backup and point-in-time restore (PITR) Full AWS Backup management Lifecycle to cold storage Item-level restore‡
EC2
S3 ✓^
EBS
RDS ✓* ✓*
Aurora ✓* ✓*
EFS
FSx for Lustre
FSx for Windows File Server
FSx for ONTAP ✓†
FSx for OpenZFS
Storage Gateway
DocumentDB ✓* ✓*
Neptune ✓* ✓*
Windows VSS
Virtual machines
DynamoDB without AWS Backup advanced features
DynamoDB with AWS Backup advanced features

抜粋 : What is AWS Backup? - Feature availability by resource

バックアッププランの作成が完了すると以下のようになります。

バックアッププランの作成完了

まだリソースの割り当てをしていないのでリソースを割り当てるをクリックし、FSx for ONTAPのボリュームがバックアップされるように設定します。

対象のリソースとして、FSx for ONTAPのボリュームを選択してリソースを割り当てるをクリックします。

FSx for ONTAPボリュームを割り当てる

FSx for ONTAPのボリュームがバックアップ対象として割り当てられました。

FSx for ONTAPのボリュームがバックアップ対象として割り当てられたことを確認

12:00になるとバックアップが始まりました。

バックアップジョブの確認

しばらく待つと、バックアップが失敗しているジョブが1つありました。

失敗したバックアップジョブの確認

バックアップジョブのエラーを確認すると、Amazon FSx could not create a backup of your volume because the volume is full. Please try again after increasing the size of the volume or freeing up space. For more information, please see the Amazon FSx user guide: https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/troubleshooting.htmlと表示されました。

失敗したバックアップジョブのエラー確認

ボリュームサイズの空き容量が少ないことが原因でバックアップに失敗したようです。このボリュームのメトリクスを確認すると、確かに使用可能なボリューム容量がかなり少なくなっていました。

使用可能なボリューム容量

AWS公式ドキュメントを確認したところ、FSx for ONTAPのボリュームをバックアップする際にFSx for ONTAP内でスナップショットを取得するようです。そのため、スナップショットを保存するためにある程度の空き容量が必要なようですね。

How backups work

Amazon FSx backups use snapshots – point-in-time, read-only images of your volumes – to maintain incrementality between backups. Each time a backup is taken, Amazon FSx first takes a snapshot of your volume (the snapshot is stored in your volume, and consumes space on your SSD storage tier). Amazon FSx then compares this snapshot to the previous backup snapshot (if one exists) and copies only the changed data into your backup. If no prior backup snapshot exists, then the entire contents of the most recent backup snapshot is copied into your backup. After the latest backup snapshot is successfully taken, Amazon FSx deletes the previous backup snapshot. The snapshot used for the latest backup remains in your volume until the next backup is taken, when the process repeats.

Working with backups - FSx for ONTAP

スナップショット用の領域を確保するため、ボリュームサイズを20GBから30GBに変更します。

ボリュームサイズを20GBから30GBに変更

ボリューム拡張後、メトリクスから使用可能なボリューム容量の割合が増えていることを確認します。

メトリクスから使用可能なボリューム容量の割合が増えていることを確認

NetApp ONTAP CLIからもTotal Used Percent68%となっていることを確認でき、空き容量に余裕ができたことが分かります。

::> volume show-space -volume classmethod_dev_fsx_netapp_ontap_single_az_volume_lun

                      Volume Name: classmethod_dev_fsx_netapp_ontap_single_az_volume_lun
                      Volume MSID: 2161319944
                      Volume DSID: 1026
                     Vserver UUID: a7e1ed55-d70c-11ec-aeb4-877d41bba405
                   Aggregate Name: aggr1
                   Aggregate UUID: 05e68161-d0e5-4194-8c00-45421abd28b0
                         Hostname: FsxId0967312eff2f5f5e1-01
                        User Data: 18.98GB
                User Data Percent: 63%
                    Deduplication: 244KB
            Deduplication Percent: 0%
          Temporary Deduplication: -
  Temporary Deduplication Percent: -
              Filesystem Metadata: 2.33MB
      Filesystem Metadata Percent: 0%
              SnapMirror Metadata: -
      SnapMirror Metadata Percent: -
             Tape Backup Metadata: -
     Tape Backup Metadata Percent: -
                   Quota Metadata: -
           Quota Metadata Percent: -
                           Inodes: 20KB
                   Inodes Percent: 0%
                   Inodes Upgrade: -
           Inodes Upgrade Percent: -
                 Snapshot Reserve: 1.50GB
         Snapshot Reserve Percent: 5%
        Snapshot Reserve Unusable: -
Snapshot Reserve Unusable Percent: -
                   Snapshot Spill: -
           Snapshot Spill Percent: -
             Performance Metadata: 36KB
     Performance Metadata Percent: 0%
                       Total Used: 20.48GB
               Total Used Percent: 68%
         Total Physical Used Size: 28.48MB
         Physical Used Percentage: 0%
                Logical Used Size: 20.62GB
             Logical Used Percent: 69%
                Logical Available: -

ボリューム拡張後に実行されたバックアップジョブは全て正常に完了していることを確認できました。

バックアップジョブが全て完了していることを確認

バックアップボールトから複数の復旧ポイントがあることを確認できます。

バックアップボールトから複数の復旧ポイントがあることを確認

AWS Backupの保護されたリソースからバックアップがあるリソースを確認すると、対象の4つのボリュームが追加されていました。

保護されたリソース

FSxのコンソールからバックアップを確認したい場合は、各ボリュームのバックアップタブから確認できます。

各ボリュームのバックアップタブからも作成されたバックアップを確認

また、全てのボリュームのバックアップを一覧で確認したい場合は、FSxのコンソールのバックアップから確認できます。どうやらSVMのルートボリューム以外は各ボリューム名がバックアップ名となるようですね。

全てのボリュームのバックアップ一覧

バックアップからボリュームをリストア

それでは、バックアップからボリュームをリストアします。

バックアップボールトから復旧ポイントを選択して、アクション-復元をクリックします。

バックアップからリストア

復元オプションでファイルシステム、SVM、ボリューム名、ジャンクションパスを指定してバックアップを復元をクリックします。ボリュームサイズやストレージ効率化の有効化、キャパシティプールの階層化ポリシーはバックアップしたボリュームと同じものが入力されています。

バックアップを復元

なお、ボリューム名、ジャンクションパスはSVM内で一意である必要があります。ボリューム名、ジャンクションパスが重複した場合は以下のようなエラーが出力されます。

  • SVM内でボリューム名が重複している場合
    • classmethod_dev_fsx_netapp_ontap_single_az_volume_nfs is already the name of a volume associated with svm-0a3a78e7c64ff2c5d
  • SVM内でジャンクションパスが重複している場合
    • /nfs is already a junction path on a volume associated with the same storage virtual machine.

リストアは3分ほどで完了しました。

リストアジョブの確認

同じ要領で他のボリュームもリストアします。

SVMのルートボリュームのリストア

iSCSI LUN用ボリュームのリストア

SMB用ボリュームのリストア

全てのボリュームのリストアが完了すると以下のようになります。ボリューム名とジャンクションパスは重複しないように、それぞれ末尾_restoreを追加しています。

リストアしたボリューム一覧

NetApp ONTAP CLIでボリューム一覧を確認すると、確かにリストアしたボリュームが認識されていることを確認できます。

::> volume show
Vserver   Volume       Aggregate    State      Type       Size  Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
classmethod-dev-fsx-netapp-ontap-single-az-svm
          classmethod_dev_fsx_netapp_ontap_single_az_svm_root
                       aggr1        online     RW          1GB    972.0MB    0%
classmethod-dev-fsx-netapp-ontap-single-az-svm
          classmethod_dev_fsx_netapp_ontap_single_az_svm_root_restore
                       aggr1        online     RW          1GB     1023MB    0%
classmethod-dev-fsx-netapp-ontap-single-az-svm
          classmethod_dev_fsx_netapp_ontap_single_az_volume_lun
                       aggr1        online     RW         30GB     9.52GB   66%
classmethod-dev-fsx-netapp-ontap-single-az-svm
          classmethod_dev_fsx_netapp_ontap_single_az_volume_lun_restore
                       aggr1        online     RW         30GB    11.02GB   63%
classmethod-dev-fsx-netapp-ontap-single-az-svm
          classmethod_dev_fsx_netapp_ontap_single_az_volume_nfs
                       aggr1        online     RW          1GB    972.4MB    0%
classmethod-dev-fsx-netapp-ontap-single-az-svm
          classmethod_dev_fsx_netapp_ontap_single_az_volume_nfs_restore
                       aggr1        online     RW          1GB     1023MB    0%
classmethod-dev-fsx-netapp-ontap-single-az-svm
          classmethod_dev_fsx_netapp_ontap_single_az_volume_smb_encryption
                       aggr1        online     RW          1GB    972.2MB    0%
classmethod-dev-fsx-netapp-ontap-single-az-svm
          classmethod_dev_fsx_netapp_ontap_single_az_volume_smb_encryption_restore
                       aggr1        online     RW          1GB     1023MB    0%
8 entries were displayed.

なお、リストアするとボリュームのUUIDは変わるようです。

$ aws fsx describe-volumes \
    --filters Name=storage-virtual-machine-id,Values="$svm_id" \
    | jq -r ".Volumes[].OntapConfiguration.UUID" \
    | sort
146ecf98-d801-11ec-aeb4-877d41bba405
49fcd34d-dbee-11ec-aeb4-877d41bba405
938e2508-dbed-11ec-aeb4-877d41bba405
98678314-dbbe-11ec-aeb4-877d41bba405
a60c3ae5-d70d-11ec-aeb4-877d41bba405
ab10c43e-d70c-11ec-98a1-4f0618187ab3
b73aec94-dbee-11ec-aeb4-877d41bba405
ffe9de5a-dbee-11ec-aeb4-877d41bba405

動作確認

SMB

それでは動作確認を行います。

まずはSMBからです。

リストアしたボリュームについては共有がないため、共有を作成してあげます。

# 共有の確認
::> vserver cifs share show
Vserver        Share         Path              Properties Comment  ACL
-------------- ------------- ----------------- ---------- -------- -----------
classmethod-dev-fsx-netapp-ontap-single-az-svm oplocks             BUILTIN\Administrators / Full Control
               c$            /                 browsable  -
                                               changenotify
                                               encrypt-data
                                               show-previous-versions
classmethod-dev-fsx-netapp-ontap-single-az-svm browsable
               ipc$          /                            -        -
classmethod-dev-fsx-netapp-ontap-single-az-svm browsable           Everyone / Full Control
               smb_          /smb_encryption   encrypt-data
               encryption                                 -
3 entries were displayed.

# リストアしたボリュームについて、"smb_encryption_restore" という名前で共有を作成
::> vserver cifs share create -share-name smb_encryption_restore -path /smb_encryption_restore -share-properties browsable,encrypt-data

# 共有が追加されているか確認
FsxId0967312eff2f5f5e1::> vserver cifs share show
Vserver        Share         Path              Properties Comment  ACL
-------------- ------------- ----------------- ---------- -------- -----------
classmethod-dev-fsx-netapp-ontap-single-az-svm oplocks             BUILTIN\Administrators / Full Control
               c$            /                 browsable  -
                                               changenotify
                                               encrypt-data
                                               show-previous-versions
classmethod-dev-fsx-netapp-ontap-single-az-svm browsable
               ipc$          /                            -        -
classmethod-dev-fsx-netapp-ontap-single-az-svm browsable           Everyone / Full Control
               smb_          /smb_encryption   encrypt-data
               encryption                                 -
classmethod-dev-fsx-netapp-ontap-single-az-svm browsable           Everyone / Full Control
               smb_          /smb_encryption_  encrypt-data
               encryption_   restore                      -
               restore
4 entries were displayed.

作成した共有をZドライブに割り当てます。

# 現在のドライブ一覧を確認
> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                                                                                                  CurrentLocation
----           ---------     --------- --------      ----                                                                                                                                  ---------------
Alias                                  Alias
C                  14.26         15.73 FileSystem    C:\                                                                                                                                  Windows\system32
Cert                                   Certificate   \
D                   0.03          8.99 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan

# Zドライブに共有を割り当て
> net use Z: \\SINGLE-AZ-SVM.fsx-dev.classmethod.jp\smb_encryption_restore
\\SINGLE-AZ-SVM.fsx-dev.classmethod.jp\smb_encryption_restore のパスワードが無効です。

'SINGLE-AZ-SVM.fsx-dev.classmethod.jp' のユーザー名を入力してください: fsx-dev.classmethod.jp\FSxAdmin
SINGLE-AZ-SVM.fsx-dev.classmethod.jp のパスワードを入力してください:
コマンドは正常に終了しました。

# Zドライブに共有が割り当てられていることを確認
> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                                                                                                  CurrentLocation
----           ---------     --------- --------      ----                                                                                                                                  ---------------
Alias                                  Alias
C                  14.26         15.73 FileSystem    C:\                                                                                                                                  Windows\system32
Cert                                   Certificate   \
D                   0.03          8.99 FileSystem    D:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan
Z                   0.00          1.00 FileSystem    \\SINGLE-AZ-SVM.fsx-dev.classmet...

Zドライブに割り当て後、バックアップ取得前に作成したテストファイルがあることを確認します。

# テストファイルの確認
> Get-Content Z:\aws-backup-test\aws-backup-test.txt
This is a test file of AWS Backup.

> dir Z:\aws-backup-test


    ディレクトリ: Z:\aws-backup-test


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2022/05/25      0:23             36 aws-backup-test.txt

Zドライブに割り当てた共有にバックアップ取得前に作成したテストファイルがありました。

NFS

続いて、リストアしたNFS用ボリュームの動作確認です。

/nfs_restoreというマウントポイントを作成し、リストアしたボリュームをマウントします。

# 現在のディスクサイズ一覧を表示
$ df -hT
Filesystem                                                                       Type      Size  Used Avail Use% Mounted on
devtmpfs                                                                         devtmpfs  462M     0  462M   0% /dev
tmpfs                                                                            tmpfs     470M     0  470M   0% /dev/shm
tmpfs                                                                            tmpfs     470M  420K  470M   1% /run
tmpfs                                                                            tmpfs     470M     0  470M   0% /sys/fs/cgroup
/dev/nvme0n1p1                                                                   xfs       8.0G  1.6G  6.5G  20% /
/dev/mapper/3600a09806c574231752b53784865462f1                                   ext4      2.0G  6.1M  1.8G   1% /lun/part1
/dev/mapper/3600a09806c574231752b53784865462f2                                   ext4      2.9G  9.1M  2.8G   1% /lun/part2
svm-0a3a78e7c64ff2c5d.fs-0967312eff2f5f5e1.fsx.ap-northeast-1.amazonaws.com:/nfs nfs4      973M  384K  973M   1% /nfs

# マウントポイントの作成
$ sudo mkdir /nfs_restore

# ディレクトリの所有者を変更
$ sudo chown ssm-user:ssm-user /nfs_restore

# マウント
$ sudo mount -t nfs svm-0a3a78e7c64ff2c5d.fs-0967312eff2f5f5e1.fsx.ap-northeast-1.amazonaws.com:/nfs_restore /nfs_restore

# 指定したマウントポイントにNFSでマウントできているか確認
$ df -hT
Filesystem                                                                               Type      Size  Used Avail Use% Mounted on
devtmpfs                                                                                 devtmpfs  462M     0  462M   0% /dev
tmpfs                                                                                    tmpfs     470M     0  470M   0% /dev/shm
tmpfs                                                                                    tmpfs     470M  420K  470M   1% /run
tmpfs                                                                                    tmpfs     470M     0  470M   0% /sys/fs/cgroup
/dev/nvme0n1p1                                                                           xfs       8.0G  1.6G  6.5G  20% /
/dev/mapper/3600a09806c574231752b53784865462f1                                           ext4      2.0G  6.1M  1.8G   1% /lun/part1
/dev/mapper/3600a09806c574231752b53784865462f2                                           ext4      2.9G  9.1M  2.8G   1% /lun/part2
svm-0a3a78e7c64ff2c5d.fs-0967312eff2f5f5e1.fsx.ap-northeast-1.amazonaws.com:/nfs         nfs4      973M  384K  973M   1% /nfs
svm-0a3a78e7c64ff2c5d.fs-0967312eff2f5f5e1.fsx.ap-northeast-1.amazonaws.com:/nfs_restore nfs4      1.0G  576K  1.0G   1% /nfs_restore

マウント後、事前に作成したファイルがあることを確認します。

$ ls -l /nfs_restore/
total 4
drwxr-xr-x 2 ssm-user ssm-user 4096 May 25 00:32 aws-backup-test

$ ls -ld /nfs_restore/aws-backup-test/
drwxr-xr-x 2 ssm-user ssm-user 4096 May 25 00:32 /nfs_restore/aws-backup-test/

$ ls -l /nfs_restore/aws-backup-test/
total 0
-rw-r--r-- 1 ssm-user ssm-user 35 May 25 00:32 aws-backup-test.txt

$ cat /nfs_restore/aws-backup-test/aws-backup-test.txt
This is a test file of AWS Backup.

マウントした領域にバックアップ取得前に作成したテストファイルがありました。

iSCSI LUN

iSCSI LUNの設定

最後にリストアしたiSCSI LUN用ボリュームの動作確認です。

まず、イニシエーターグループとLUNをマッピングする必要があるので、そちらの設定を行います。

リストアしたボリュームのLUNがイニシエーターグループとマッピングされていないことを確認します。

::> lun show
Vserver   Path                            State   Mapped   Type        Size
--------- ------------------------------- ------- -------- -------- --------
classmethod-dev-fsx-netapp-ontap-single-az-svm
          /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun/lun_001
                                          online  mapped   linux        10GB
classmethod-dev-fsx-netapp-ontap-single-az-svm
          /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun/lun_002
                                          online  mapped   windows    9.04GB
classmethod-dev-fsx-netapp-ontap-single-az-svm
          /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun_restore/lun_001
                                          online  unmapped linux        10GB
classmethod-dev-fsx-netapp-ontap-single-az-svm
          /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun_restore/lun_002
                                          online  unmapped windows    9.04GB
4 entries were displayed.

イニシエーターグループとリストアしたボリュームのLUNにマッピングします。

# LUNのマッピング状態を確認
::> lun mapping show
Vserver    Path                                      Igroup   LUN ID  Protocol
---------- ----------------------------------------  -------  ------  --------
classmethod-dev-fsx-netapp-ontap-single-az-svm
           /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun/lun_001
                                                     igroup_001    1  iscsi
classmethod-dev-fsx-netapp-ontap-single-az-svm
           /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun/lun_002
                                                     igroup_002    2  iscsi
2 entries were displayed.

# LUNをイニシエーターグループにマッピング
::> lun mapping create -path /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun_restore/lun_001 -igroup igroup_001 -lun-id 003

::> lun mapping create -path /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun_restore/lun_002 -igroup igroup_002 -lun-id 004

# LUNのマッピング状態を確認
::> lun mapping show
Vserver    Path                                      Igroup   LUN ID  Protocol
---------- ----------------------------------------  -------  ------  --------
classmethod-dev-fsx-netapp-ontap-single-az-svm
           /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun/lun_001
                                                     igroup_001    1  iscsi
classmethod-dev-fsx-netapp-ontap-single-az-svm
           /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun/lun_002
                                                     igroup_002    2  iscsi
classmethod-dev-fsx-netapp-ontap-single-az-svm
           /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun_restore/lun_001
                                                     igroup_001    3  iscsi
classmethod-dev-fsx-netapp-ontap-single-az-svm
           /vol/classmethod_dev_fsx_netapp_ontap_single_az_volume_lun_restore/lun_002
                                                     igroup_002    4  iscsi
4 entries were displayed.

ちなみにLUN IDはイニシエーターグループ内で一意であれば良いので、今回のようにSVM内で一意にする必要はありません。

Amazon Linux 2での動作確認

Amazon Linux 2で動作確認をします。

イニシエーターグループとLUNをマッピングしただけではディスクは認識されません。

# 現在のブロックデバイスの確認
$ lsblk
NAME                                   MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
sda                                      8:0    0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdb                                      8:16   0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdd                                      8:48   0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdf                                      8:80   0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdh                                      8:112  0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdk                                      8:160  0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdl                                      8:176  0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdm                                      8:192  0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
nvme0n1                                259:0    0   8G  0 disk
├─nvme0n1p1                            259:1    0   8G  0 part  /
└─nvme0n1p128                          259:2    0   1M  0 part

# 現在のマルチパスの状態を確認
$ sudo multipath -ll
3600a09806c574231752b53784865462f dm-1 NETAPP  ,LUN C-Mode
size=10G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=50 status=enabled
| |- 0:0:0:1 sda     8:0   active ready running
| |- 1:0:0:1 sdd     8:48  active ready running
| |- 2:0:0:1 sdb     8:16  active ready running
| `- 3:0:0:1 sdf     8:80  active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 4:0:0:1 sdh     8:112 active ready running
  |- 5:0:0:1 sdk     8:160 active ready running
  |- 6:0:0:1 sdl     8:176 active ready running
  `- 7:0:0:1 sdm     8:192 active ready running

そのため、まずはiSCSIのセッションを再スキャンします。

# iSCSIのセッションを再スキャン
$ sudo iscsiadm -m session --rescan
Rescanning session [sid: 17, target: iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3, portal: 10.0.10.96,3260]
Rescanning session [sid: 18, target: iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3, portal: 10.0.10.96,3260]
Rescanning session [sid: 19, target: iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3, portal: 10.0.10.96,3260]
Rescanning session [sid: 20, target: iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3, portal: 10.0.10.96,3260]
Rescanning session [sid: 23, target: iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3, portal: 10.0.10.45,3260]
Rescanning session [sid: 22, target: iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3, portal: 10.0.10.45,3260]
Rescanning session [sid: 24, target: iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3, portal: 10.0.10.45,3260]
Rescanning session [sid: 21, target: iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3, portal: 10.0.10.45,3260]

# 現在のブロックデバイスの確認
$ lsblk
NAME                                   MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
sda                                      8:0    0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdb                                      8:16   0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdc                                      8:32   0  10G  0 disk
sdd                                      8:48   0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sde                                      8:64   0  10G  0 disk
sdf                                      8:80   0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdg                                      8:96   0  10G  0 disk
sdh                                      8:112  0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdi                                      8:128  0  10G  0 disk
sdj                                      8:144  0  10G  0 disk
sdk                                      8:160  0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdl                                      8:176  0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdm                                      8:192  0  10G  0 disk
└─3600a09806c574231752b53784865462f    253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1 253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2 253:5    0   3G  0 part  /lun/part2
sdn                                      8:208  0  10G  0 disk
sdo                                      8:224  0  10G  0 disk
sdp                                      8:240  0  10G  0 disk
nvme0n1                                259:0    0   8G  0 disk
├─nvme0n1p1                            259:1    0   8G  0 part  /
└─nvme0n1p128                          259:2    0   1M  0 part

セッションを再スキャンすることでリストアしたボリュームのLUNが認識されました。

しかし、マルチパスはまだ1つのディスクしか認識していないため、multipathdを再起動してあげます。

# 現在のマルチパスの状態を確認
$ sudo multipath -ll
3600a09806c574231752b53784865462f dm-1 NETAPP  ,LUN C-Mode
size=10G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=50 status=enabled
| |- 0:0:0:1 sda     8:0   active ready running
| |- 1:0:0:1 sdd     8:48  active ready running
| |- 2:0:0:1 sdb     8:16  active ready running
| `- 3:0:0:1 sdf     8:80  active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 4:0:0:1 sdh     8:112 active ready running
  |- 5:0:0:1 sdk     8:160 active ready running
  |- 6:0:0:1 sdl     8:176 active ready running
  `- 7:0:0:1 sdm     8:192 active ready running

# multipathd の再起動
$ sudo systemctl restart multipathd

# 追加のデバイスについてもマルチパスが設定されていることを確認
$ sudo multipath -ll
3600a09806c574231752b53784865462f dm-1 NETAPP  ,LUN C-Mode
size=10G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=50 status=enabled
| |- 0:0:0:1 sda     8:0   active ready running
| |- 1:0:0:1 sdd     8:48  active ready running
| |- 2:0:0:1 sdb     8:16  active ready running
| `- 3:0:0:1 sdf     8:80  active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 4:0:0:1 sdh     8:112 active ready running
  |- 5:0:0:1 sdk     8:160 active ready running
  |- 6:0:0:1 sdl     8:176 active ready running
  `- 7:0:0:1 sdm     8:192 active ready running
3600a09806c574231752b537848654672 dm-0 NETAPP  ,LUN C-Mode
size=10G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| |- 0:0:0:3 sdc     8:32  active ready running
| |- 1:0:0:3 sde     8:64  active ready running
| |- 2:0:0:3 sdg     8:96  active ready running
| `- 3:0:0:3 sdi     8:128 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  |- 4:0:0:3 sdj     8:144 active ready running
  |- 5:0:0:3 sdn     8:208 active ready running
  |- 6:0:0:3 sdp     8:240 active ready running
  `- 7:0:0:3 sdo     8:224 active ready running

# 現在のブロックデバイスの確認
sh-4.2$ lsblk
NAME                                    MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
sda                                       8:0    0  10G  0 disk
└─3600a09806c574231752b53784865462f     253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1  253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2  253:5    0   3G  0 part  /lun/part2
sdb                                       8:16   0  10G  0 disk
└─3600a09806c574231752b53784865462f     253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1  253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2  253:5    0   3G  0 part  /lun/part2
sdc                                       8:32   0  10G  0 disk
└─3600a09806c574231752b537848654672     253:0    0  10G  0 mpath
  ├─3600a09806c574231752b537848654672p1 253:2    0   2G  0 part
  └─3600a09806c574231752b537848654672p2 253:3    0   3G  0 part
sdd                                       8:48   0  10G  0 disk
└─3600a09806c574231752b53784865462f     253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1  253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2  253:5    0   3G  0 part  /lun/part2
sde                                       8:64   0  10G  0 disk
└─3600a09806c574231752b537848654672     253:0    0  10G  0 mpath
  ├─3600a09806c574231752b537848654672p1 253:2    0   2G  0 part
  └─3600a09806c574231752b537848654672p2 253:3    0   3G  0 part
sdf                                       8:80   0  10G  0 disk
└─3600a09806c574231752b53784865462f     253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1  253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2  253:5    0   3G  0 part  /lun/part2
sdg                                       8:96   0  10G  0 disk
└─3600a09806c574231752b537848654672     253:0    0  10G  0 mpath
  ├─3600a09806c574231752b537848654672p1 253:2    0   2G  0 part
  └─3600a09806c574231752b537848654672p2 253:3    0   3G  0 part
sdh                                       8:112  0  10G  0 disk
└─3600a09806c574231752b53784865462f     253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1  253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2  253:5    0   3G  0 part  /lun/part2
sdi                                       8:128  0  10G  0 disk
└─3600a09806c574231752b537848654672     253:0    0  10G  0 mpath
  ├─3600a09806c574231752b537848654672p1 253:2    0   2G  0 part
  └─3600a09806c574231752b537848654672p2 253:3    0   3G  0 part
sdj                                       8:144  0  10G  0 disk
└─3600a09806c574231752b537848654672     253:0    0  10G  0 mpath
  ├─3600a09806c574231752b537848654672p1 253:2    0   2G  0 part
  └─3600a09806c574231752b537848654672p2 253:3    0   3G  0 part
sdk                                       8:160  0  10G  0 disk
└─3600a09806c574231752b53784865462f     253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1  253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2  253:5    0   3G  0 part  /lun/part2
sdl                                       8:176  0  10G  0 disk
└─3600a09806c574231752b53784865462f     253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1  253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2  253:5    0   3G  0 part  /lun/part2
sdm                                       8:192  0  10G  0 disk
└─3600a09806c574231752b53784865462f     253:1    0  10G  0 mpath
  ├─3600a09806c574231752b53784865462f1  253:4    0   2G  0 part  /lun/part1
  └─3600a09806c574231752b53784865462f2  253:5    0   3G  0 part  /lun/part2
sdn                                       8:208  0  10G  0 disk
└─3600a09806c574231752b537848654672     253:0    0  10G  0 mpath
  ├─3600a09806c574231752b537848654672p1 253:2    0   2G  0 part
  └─3600a09806c574231752b537848654672p2 253:3    0   3G  0 part
sdo                                       8:224  0  10G  0 disk
└─3600a09806c574231752b537848654672     253:0    0  10G  0 mpath
  ├─3600a09806c574231752b537848654672p1 253:2    0   2G  0 part
  └─3600a09806c574231752b537848654672p2 253:3    0   3G  0 part
sdp                                       8:240  0  10G  0 disk
└─3600a09806c574231752b537848654672     253:0    0  10G  0 mpath
  ├─3600a09806c574231752b537848654672p1 253:2    0   2G  0 part
  └─3600a09806c574231752b537848654672p2 253:3    0   3G  0 part
nvme0n1                                 259:0    0   8G  0 disk
├─nvme0n1p1                             259:1    0   8G  0 part  /
└─nvme0n1p128                           259:2    0   1M  0 part

multipathdを再起動すると、リストアしたボリュームのLUNのパーティションが認識されました。こちらのパーティションをマウントします。

# マウントポイントの作成
$ sudo mkdir -p /lun_restore/part1
$ sudo mkdir /lun_restore/part2

$ ls -l /lun_restore/
total 0
drwxr-xr-x 2 root root 6 May 25 09:05 part1
drwxr-xr-x 2 root root 6 May 25 09:06 part2

# マウント
$ sudo mount -t ext4 /dev/mapper/3600a09806c574231752b537848654672p1 /lun_restore/part1
$ sudo mount -t ext4 /dev/mapper/3600a09806c574231752b537848654672p2 /lun_restore/part2

# 現在のディスクサイズ一覧を表示
$ df -hT
Filesystem                                                                               Type      Size  Used Avail Use% Mounted on
devtmpfs                                                                                 devtmpfs  462M     0  462M   0% /dev
tmpfs                                                                                    tmpfs     470M     0  470M   0% /dev/shm
tmpfs                                                                                    tmpfs     470M  488K  470M   1% /run
tmpfs                                                                                    tmpfs     470M     0  470M   0% /sys/fs/cgroup
/dev/nvme0n1p1                                                                           xfs       8.0G  1.6G  6.5G  20% /
/dev/mapper/3600a09806c574231752b53784865462f1                                           ext4      2.0G  6.1M  1.8G   1% /lun/part1
/dev/mapper/3600a09806c574231752b53784865462f2                                           ext4      2.9G  9.1M  2.8G   1% /lun/part2
svm-0a3a78e7c64ff2c5d.fs-0967312eff2f5f5e1.fsx.ap-northeast-1.amazonaws.com:/nfs         nfs4      973M  512K  973M   1% /nfs
svm-0a3a78e7c64ff2c5d.fs-0967312eff2f5f5e1.fsx.ap-northeast-1.amazonaws.com:/nfs_restore nfs4      1.0G  640K  1.0G   1% /nfs_restore
/dev/mapper/3600a09806c574231752b537848654672p1                                          ext4      2.0G  6.1M  1.8G   1% /lun_restore/part1
/dev/mapper/3600a09806c574231752b537848654672p2                                          ext4      2.9G  9.1M  2.8G   1% /lun_restore/part2

マウント後、事前に作成したファイルがあることを確認します。

# マウントポイントの確認
$ ls -l /lun_restore
total 8
drwxr-xr-x 4 ssm-user ssm-user 4096 May 25 00:35 part1
drwxr-xr-x 3 ssm-user ssm-user 4096 May 20 03:12 part2

# テストファイルの確認
$ ls -l /lun_restore/part1
total 20
drwxr-xr-x 2 ssm-user ssm-user  4096 May 25 00:35 aws-backup-test
drwx------ 2 ssm-user ssm-user 16384 May 19 02:36 lost+found

$ ls -l /lun_restore/part1/aws-backup-test/aws-backup-test.txt
-rw-r--r-- 1 ssm-user ssm-user 35 May 25 00:35 /lun_restore/part1/aws-backup-test/aws-backup-test.txt

$ cat /lun_restore/part1/aws-backup-test/aws-backup-test.txt
This is a test file of AWS Backup.

マウントした領域にバックアップ取得前に作成したテストファイルがありました。

なお、リストアするとがパーティションのデバイス名は変わりましたがUUIDは同じです。/etc/fstabではUUIDを指定しておけば、リストアした際に/etc/fstabを更新しなくても大丈夫そうですね。

$ sudo blkid
/dev/nvme0n1p1: LABEL="/" UUID="2a7884f1-a23b-49a0-8693-ae82c155e5af" TYPE="xfs" PARTLABEL="Linux" PARTUUID="4d1e3134-c9e4-456d-a253-374c91394e99"
/dev/mapper/3600a09806c574231752b53784865462f1: UUID="b770de9f-51f5-49e9-84b1-3f9188625e52" TYPE="ext4" PARTUUID="5060b99a-01"
/dev/mapper/3600a09806c574231752b53784865462f2: UUID="ce7b791c-7a9d-4f77-acfa-285ce3c2e229" TYPE="ext4" PARTUUID="5060b99a-02"
/dev/nvme0n1: PTUUID="30b4269a-8501-4012-b8ae-5dbf6cbbaca8" PTTYPE="gpt"
/dev/nvme0n1p128: PARTLABEL="BIOS Boot Partition" PARTUUID="c31217ab-49a8-4c94-a774-32a6564a79f5"
/dev/mapper/3600a09806c574231752b53784865462f: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdb: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdd: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdc: PTUUID="5060b99a" PTTYPE="dos"
/dev/sda: PTUUID="5060b99a" PTTYPE="dos"
/dev/sde: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdg: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdf1: UUID="b770de9f-51f5-49e9-84b1-3f9188625e52" TYPE="ext4" PARTUUID="5060b99a-01"
/dev/sdf2: UUID="ce7b791c-7a9d-4f77-acfa-285ce3c2e229" TYPE="ext4" PARTUUID="5060b99a-02"
/dev/sdh: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdi1: UUID="b770de9f-51f5-49e9-84b1-3f9188625e52" TYPE="ext4" PARTUUID="5060b99a-01"
/dev/sdi2: UUID="ce7b791c-7a9d-4f77-acfa-285ce3c2e229" TYPE="ext4" PARTUUID="5060b99a-02"
/dev/sdj1: UUID="b770de9f-51f5-49e9-84b1-3f9188625e52" TYPE="ext4" PARTUUID="5060b99a-01"
/dev/sdj2: UUID="ce7b791c-7a9d-4f77-acfa-285ce3c2e229" TYPE="ext4" PARTUUID="5060b99a-02"
/dev/mapper/3600a09806c574231752b537848654672: PTUUID="5060b99a" PTTYPE="dos"
/dev/mapper/3600a09806c574231752b537848654672p1: UUID="b770de9f-51f5-49e9-84b1-3f9188625e52" TYPE="ext4" PARTUUID="5060b99a-01"
/dev/mapper/3600a09806c574231752b537848654672p2: UUID="ce7b791c-7a9d-4f77-acfa-285ce3c2e229" TYPE="ext4" PARTUUID="5060b99a-02"
/dev/sdl: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdk: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdm: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdn: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdp: PTUUID="5060b99a" PTTYPE="dos"
/dev/sdo: PTUUID="5060b99a" PTTYPE="dos"

Windows Serverでの動作確認

最後にWindows Serverでの動作確認です。

まず、LUNをディスクとして認識させるためにスクリプトを実行します。

# iSCSIサービスが起動していることを確認
PS C:\Windows\system32> Get-Service MSiSCSI

Status   Name               DisplayName
------   ----               -----------
Running  MSiSCSI            Microsoft iSCSI Initiator Service


# スクリプトを実行
PS C:\Windows\system32> .\establish_iscsi.ps1


InitiatorInstanceName  :
InitiatorPortalAddress :
IsDataDigest           : False
IsHeaderDigest         : False
TargetPortalAddress    : 10.0.10.96
TargetPortalPortNumber : 3260
PSComputerName         :

-TargetPortalPortNumber : 用語 '-TargetPortalPortNumber' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パス
が含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 C:\Windows\system32\establish_iscsi.ps1:10 文字:3
+   -TargetPortalPortNumber 3260 -InitiatorPortalAddress $LocaliSCSIAdd ...
+   ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (-TargetPortalPortNumber:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

InitiatorInstanceName  :
InitiatorPortalAddress :
IsDataDigest           : False
IsHeaderDigest         : False
TargetPortalAddress    : 10.0.10.45
TargetPortalPortNumber : 3260
PSComputerName         :

-TargetPortalPortNumber : 用語 '-TargetPortalPortNumber' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パス
が含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 C:\Windows\system32\establish_iscsi.ps1:10 文字:3
+   -TargetPortalPortNumber 3260 -InitiatorPortalAddress $LocaliSCSIAdd ...
+   ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (-TargetPortalPortNumber:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

ProductId      : iSCSIBusType_0x9
VendorId       : MSFT2005
PSComputerName :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370000
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffffbe8a3a8c5010-4000013700000015
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0d00
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370004
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffffbe8a3a8c5010-4000013700000016
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0500
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370008
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffffbe8a3a8c5010-4000013700000017
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0e00
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 40000137000c
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffffbe8a3a8c5010-4000013700000018
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0600
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370010
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffffbe8a3a8c5010-4000013700000019
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0f00
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370014
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffffbe8a3a8c5010-400001370000001a
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0700
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 400001370018
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffffbe8a3a8c5010-400001370000001b
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 1000
PSComputerName          :

AuthenticationType      : NONE
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:ec2amaz-ah3fd5o.fsx-dev.classmethod.jp
InitiatorPortalAddress  : 10.0.0.138
InitiatorSideIdentifier : 40000137001c
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffffbe8a3a8c5010-400001370000001c
TargetNodeAddress       : iqn.1992-08.com.netapp:sn.a7e1ed55d70c11ecaeb4877d41bba405:vs.3
TargetSideIdentifier    : 0800
PSComputerName          :

スクリプト実行後、Windows ServerにRDP接続してディスクの管理を見ると、オフラインとなっているディスクを確認できました。

オフラインディスクの確認

ディスクをオンラインにすると、自動でEドライブに割り当たりました。

Eドライブへの割り当て確認

Eドライブへの割り当て後、事前に作成したファイルがあることを確認します。

# 現在のドライブ一覧を確認
PS C:\Windows\system32> Get-PSDrive

Name           Used (GB)     Free (GB) Provider      Root                                                                                                                                  CurrentLocation
----           ---------     --------- --------      ----                                                                                                                                  ---------------
Alias                                  Alias
C                  14.30         15.70 FileSystem    C:\                                                                                                                                  Windows\system32
Cert                                   Certificate   \
D                   0.03          8.99 FileSystem    D:\
E                   0.03          8.99 FileSystem    E:\
Env                                    Environment
Function                               Function
HKCU                                   Registry      HKEY_CURRENT_USER
HKLM                                   Registry      HKEY_LOCAL_MACHINE
Variable                               Variable
WSMan                                  WSMan


# テストファイルの確認
PS C:\Windows\system32> Get-Content E:\aws-backup-test\aws-backup-test.txt
This is a test file of AWS Backup.

PS C:\Windows\system32> dir E:\aws-backup-test\


    ディレクトリ: E:\aws-backup-test


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        2022/05/25      1:20             36 aws-backup-test.txt

Eドライブにバックアップ取得前に作成したテストファイルがありました。

バックアッププランとバックアップの削除

バックアッププラン

最後にバックアッププランとバックアップの削除を行います。

まず、バックアッププランからです。

バックアッププランを削除する際は、事前に関連づけられたリソースを全て削除しておくことが必要です。

バックアッププランは、関連付けられた選択リソースがすべて削除された後に削除できます。

バックアッププランの削除 - AWS Backup

リソースが割り当てられている状態でバックアッププランを削除しようとすると、Related backup plan selections must be deleted prior to backup plan deletion.と表示され、削除することができません。

Related backup plan selections must be deleted prior to backup plan deletion.

対応として、リソースの割り当てで対象リソースを選択し、削除をクリックします。

対象リソースを選択して削除

リソースの割り当て削除の確認画面が表示されます。テキストボックスにリソース割り当て名を入力し、リソースの割り当てを削除をクリックします。

リソースの割り当てを削除

リソースの割り当て空のリソースとなったことを確認して、削除をクリックします。

バックアッププランの削除

バックアッププラン削除の確認画面が表示されます。テキストボックスにバックアッププラン名を入力し、プランを削除をクリックします。

プランを削除

バックアッププランが削除されたことを確認します。

バックアッププラン削除確認

バックアップ

次にバックアップの削除です。

バックアッププランを削除してもバックアップは削除されません。

バックアッププランを削除しても、既存のバックアップは削除されません。既存のバックアップを削除するには、バックアップの削除のステップを使用してバックアップボールトから削除します。

バックアッププランの削除 - AWS Backup

また、AWS Backupで取得したバックアップはAWS Backupから行う必要があります。FSxのコンソールからバックアップを削除しようとすると、This backup is managed by the AWS Backup service and cannot be deleted via FSx APIs. If you wish to delete this backup, please do so via the AWS Backup console or API.とエラーになります。

FSxのコンソールからバックアップを削除

そのため、AWS Backupのコンソールからバックアップを削除します。

バックアップボールトで、削除対象の復旧ポイントを選択してアクション-削除をクリックします。

削除対象のバックアップの選択

復旧ポイントの削除確認画面が表示されます。テキストボックスにdeleteと入力し、復旧ポイントを削除をクリックします。

復旧ポイントの削除確認画面

復旧ポイントの削除リクエストが送信され、全ての復旧ポイントのステータスが削除済みになることを確認します。

全ての復旧ポイントのステータスが削除済みになることを確認

Amazon FSx for NetApp ONTAPのバックアップの管理が簡単に

AWS BackupがAmazon FSx for NetApp ONTAPをサポートしたアップデートを紹介しました。

これにより、より柔軟にFSx for ONTAPのバックアップを管理できそうです。

なお、バックアップを開始するタイミングでストレージのI/Oに影響があるようなので、毎時バックアップを取得する場合はこちらの影響に注意する必要があります。

日次バックアップ期間のある時点で、バックアッププロセスの初期化中にストレージ I/O が一時的に中断される場合があります (通常は数秒未満)。

バックアップの使用 - 自動の日次バックアップの操作

AWS Backupでバックアップを管理するから、FSx for ONTAPの自動日次バックアップを止めたい」という方は以下AWS公式ドキュメントで紹介されているように自動日次バックアップの保持期間を0に変更することで対応可能です。

自動の日次バックアップは、ボリュームを削除すると削除されます。保持期間を 0 に設定すると、自動バックアップは無効になります。

バックアップの使用 - 自動の日次バックアップの操作

そもそもAWS Backup よく分からん……」という方は以下記事をご覧になることをおすすめします。

この記事が誰かの助けになれば幸いです。

以上、AWS事業本部 コンサルティング部の のんピ(@non____97)でした!