FSx for NetApp ONTAP に Windows Server で iSCSI 接続してみた
コーヒーが好きな emi です。
FSx for NetApp ONTAP に Windows Server で iSCSI 接続をしてみました。事前に FSx for NetApp ONTAP に SSH 接続し、LUN やイニシエーターグループを作成する必要があります。
FSx for NetApp ONTAP のコンポーネント(ファイルシステム、SVM、ボリューム等)については以下のブログを参照ください。
用語確認
LUN(Logical Unit Number)
LUN(Logical Unit Number) は論理ユニット番号とも呼ばれ、一台のストレージ機器の中に複数の装置が存在する場合それぞれを識別する番号のことです。
ボリュームの中に複数の LUN を作成することができます。
FSx for NetApp ONTAP で Windows Server に iSCSI 接続する前に、FSx for NetApp ONTAP 側で LUN とイニシエーターグループを作成する必要があります。
イニシエーターグループ
イニシエータグループとは、LUN とマッピングすることでどのイニシエーター (クライアント) が LUN にアクセスできるかをコントロールするものです。
iSCSI イニシエーター
iSCSI イニシエーターとは、ネットワーク上の iSCSI ストレージにアクセスするための制御ソフトなどのことを言います。
Windows Server 側であらかじめ iSCSI を有効化し、イニシエーター名を取得しておきます。このイニシエーター名を使って、イニシエーターグループを作成します。
検証構成
以下のような構成で検証します。
手順
VPC などのネットワークリソース、セキュリテイグループ、マウント対象の EC2(Windows Server)、ONTAP CLI 実施用の Linux インスタンス、FSx for NetApp ONTAP ファイルシステムは事前準備で作成済みの前提とします。
以下ドキュメントの手順通りに記載します。
- ①FSx for NetApp ONTAP ファイルシステムでの操作
- iSCSI LUN の作成
- ②Windows Server での操作
- iSCSI の有効化
- Windows インスタンスのイニシエーター名を取得
- マルチパス I/O の設定
- ③FSx for NetApp ONTAP ファイルシステムでの操作
- イニシエーターグループの作成
- イニシエーターグループに LUN のマッピング
- iSCSI IP アドレスの取得
- ④Windows Server での操作
- iSCSI LUN のマウント
事前準備
VPC などのネットワークリソース、セキュリテイグループ、マウント対象の EC2(Windows Server)、ONTAP CLI 実施用の Linux インスタンス、FSx for NetApp ONTAP ファイルシステムは事前に作成しておいてください。
VPC
以下画像のように作成しました。
セキュリテイグループ
EC2 用セキュリティグループと FSx for NetApp ONTAP のファイルシステム用セキュリティグループを二つ作成します。
- EC2 用セキュリティグループ(emiki_test_fsxn-ec2-sg)
- 今回は ONTAP CLI 実行用の Linux と、iSCSI マウント対象の Windows Server 両方に同じセキュリテイグループをアタッチしています。
- セッションマネージャー利用のためアウトバウンド TCP 443 が許可されていればよいです。
許可 | タイプ | プロトコル | ポート範囲 | ソース | 説明 |
---|---|---|---|---|---|
アウトバウンド | すべてのトラフィック | すべて | すべて | 0.0.0.0/0 | default |
- FSx for NetApp ONTAP のファイルシステム用セキュリティグループ(emiki_test_fsxn-fs-sg)
- ファイルシステムのクラスター間エンドポイントに付与するセキュリテイグループです。
- 本検証で Linux からの SSH 接続と Windows Server での iSCSI マウントを実施するため、EC2 からの SSH 通信と iSCSI 通信が許可されていればよいです。
許可 | タイプ | プロトコル | ポート範囲 | ソース | 説明 |
---|---|---|---|---|---|
インバウンド | カスタム TCP | TCP | 3260 | EC2 用セキュリティグループ(emiki_test_fsxn-ec2-sg) | from ec2_iSCSI |
インバウンド | SSH | TCP | 22 | EC2 用セキュリティグループ(emiki_test_fsxn-ec2-sg) | from ec2_SSH |
アウトバウンド | すべてのトラフィック | すべて | すべて | 0.0.0.0/0 | default |
EC2
ONTAP CLI 実施用の Linux インスタンスの作成については以下が参考になります。今回は以下記事と同様 RHEL9 にセッションマネージャーで接続しています。
マウント対象の EC2(Windows Server)の作成については以下が参考になります。本検証では以下の記事のバージョンと同様 Windows Server 2019 を構築し日本語化しています。
FSx for NetApp ONTAP
FSx for NetApp ONTAP の作成方法は以下のブログをご参照ください。本検証ではシングル AZ 構成で作成しています。
参考に、作成した FSx for NetApp ONTAP の情報を AWS CLI で出力したものを以下に記載します。
ファイルシステムの情報
aws fsx describe-file-systems \ --file-system-ids fs-040946a2237e5b165
実行結果(クリックで展開)
[cloudshell-user@ip-10-2-59-122 ~]$ aws fsx describe-file-systems \ > --file-system-ids fs-040946a2237e5b165 { "FileSystems": [ { "OwnerId": "123456789012", "CreationTime": "2023-09-06T10:15:18.979000+00:00", "FileSystemId": "fs-040946a2237e5b165", "FileSystemType": "ONTAP", "Lifecycle": "AVAILABLE", "StorageCapacity": 1024, "StorageType": "SSD", "VpcId": "vpc-052c7c6fe511c6f47", "SubnetIds": [ "subnet-07f250d54649d0797" ], "NetworkInterfaceIds": [ "eni-0f3283bf3c5be2efd", "eni-06850514f596f6237" ], "KmsKeyId": "arn:aws:kms:ap-northeast-1:123456789012:key/7bc6ef5a-a166-4293-9f1d-707f402b0ca5", "ResourceARN": "arn:aws:fsx:ap-northeast-1:123456789012:file-system/fs-040946a2237e5b165", "Tags": [ { "Key": "Name", "Value": "emiki_fsxn_singleAZ" } ], "OntapConfiguration": { "DeploymentType": "SINGLE_AZ_1", "Endpoints": { "Intercluster": { "DNSName": "intercluster.fs-040946a2237e5b165.fsx.ap-northeast-1.amazonaws.com", "IpAddresses": [ "10.0.10.103", "10.0.10.10" ] }, "Management": { "DNSName": "management.fs-040946a2237e5b165.fsx.ap-northeast-1.amazonaws.com", "IpAddresses": [ "10.0.10.45" ] } }, "DiskIopsConfiguration": { "Mode": "AUTOMATIC", "Iops": 3072 }, "PreferredSubnetId": "subnet-07f250d54649d0797", "ThroughputCapacity": 128, "WeeklyMaintenanceStartTime": "5:16:00" } } ] } [cloudshell-user@ip-10-2-59-122 ~]$
SVM の情報
describe-storage-virtual-machines
aws fsx describe-storage-virtual-machines \ --storage-virtual-machine-ids svm-03e7f9e94f3d79f56
実行結果(クリックで展開)
[cloudshell-user@ip-10-2-59-122 ~]$ aws fsx describe-storage-virtual-machines \ > --storage-virtual-machine-ids svm-03e7f9e94f3d79f56 { "StorageVirtualMachines": [ { "CreationTime": "2023-09-06T09:53:45.073000+00:00", "Endpoints": { "Iscsi": { "DNSName": "iscsi.svm-03e7f9e94f3d79f56.fs-040946a2237e5b165.fsx.ap-northeast-1.amazonaws.com", "IpAddresses": [ "10.0.10.102", "10.0.10.28" ] }, "Management": { "DNSName": "svm-03e7f9e94f3d79f56.fs-040946a2237e5b165.fsx.ap-northeast-1.amazonaws.com", "IpAddresses": [ "10.0.10.192" ] }, "Nfs": { "DNSName": "svm-03e7f9e94f3d79f56.fs-040946a2237e5b165.fsx.ap-northeast-1.amazonaws.com", "IpAddresses": [ "10.0.10.192" ] } }, "FileSystemId": "fs-040946a2237e5b165", "Lifecycle": "CREATED", "Name": "emiki_fsxn_singleAZ_svm", "ResourceARN": "arn:aws:fsx:ap-northeast-1:123456789012:storage-virtual-machine/fs-040946a2237e5b165/svm-03e7f9e94f3d79f56", "StorageVirtualMachineId": "svm-03e7f9e94f3d79f56", "Subtype": "DEFAULT", "UUID": "8195f244-4c9e-11ee-bd3e-e1bf43f21bb6" } ] } [cloudshell-user@ip-10-2-59-122 ~]$
作成したボリュームの情報
aws fsx describe-volumes \ --volume-ids fsvol-070542f4d78d48351
実行結果(クリックで展開)
[cloudshell-user@ip-10-2-59-122 ~]$ aws fsx describe-volumes \ > --volume-ids fsvol-070542f4d78d48351 { "Volumes": [ { "CreationTime": "2023-09-06T09:53:45.844000+00:00", "FileSystemId": "fs-040946a2237e5b165", "Lifecycle": "CREATED", "Name": "emiki_fsxn_singleAZ_vol", "OntapConfiguration": { "FlexCacheEndpointType": "NONE", "JunctionPath": "/emiki_fsxn_singleAZ_jpath", "SecurityStyle": "NTFS", "SizeInMegabytes": 10240, "StorageEfficiencyEnabled": false, "StorageVirtualMachineId": "svm-03e7f9e94f3d79f56", "StorageVirtualMachineRoot": false, "TieringPolicy": { "Name": "NONE" }, "UUID": "b16f253d-4c9e-11ee-bd3e-e1bf43f21bb6", "OntapVolumeType": "RW", "SnapshotPolicy": "none", "CopyTagsToBackups": false }, "ResourceARN": "arn:aws:fsx:ap-northeast-1:123456789012:volume/fs-040946a2237e5b165/fsvol-070542f4d78d48351", "VolumeId": "fsvol-070542f4d78d48351", "VolumeType": "ONTAP" } ] } [cloudshell-user@ip-10-2-59-122 ~]$
ルートボリュームの情報
実行結果(クリックで展開)
[cloudshell-user@ip-10-2-59-122 ~]$ aws fsx describe-volumes \ > --volume-ids fsvol-084dd9d6fa03b9ca8 { "Volumes": [ { "CreationTime": "2023-09-06T10:16:56+00:00", "FileSystemId": "fs-040946a2237e5b165", "Lifecycle": "CREATED", "Name": "emiki_fsxn_singleAZ_svm_root", "OntapConfiguration": { "FlexCacheEndpointType": "NONE", "JunctionPath": "/", "SecurityStyle": "NTFS", "SizeInMegabytes": 1024, "StorageEfficiencyEnabled": false, "StorageVirtualMachineId": "svm-03e7f9e94f3d79f56", "StorageVirtualMachineRoot": true, "TieringPolicy": { "Name": "NONE" }, "UUID": "81e370dc-4c9e-11ee-b8df-33c8a84591ac", "OntapVolumeType": "RW", "SnapshotPolicy": "default", "CopyTagsToBackups": false }, "ResourceARN": "arn:aws:fsx:ap-northeast-1:123456789012:volume/fs-040946a2237e5b165/fsvol-084dd9d6fa03b9ca8", "VolumeId": "fsvol-084dd9d6fa03b9ca8", "VolumeType": "ONTAP" } ] } [cloudshell-user@ip-10-2-59-122 ~]$
①-1. FSx for NetApp ONTAP:LUN の作成
まず FSx for NetApp ONTAP ファイスシステムに SSH でログインし、LUN の作成を行っていきます。
ONTAP CLI 実施用の Linux インスタンスに接続し、以下のコマンドで SSH ログインします。
- 構文
ssh fsxadmin@your_management_endpoint_ip
-
your_management_endpoint_ip(ファイルシステムの管理エンドポイント IP):10.0.10.45
-
コマンド例
ssh fsxadmin@10.0.10.45
▼実行結果
sh-5.1$ ssh fsxadmin@10.0.10.45 The authenticity of host '10.0.10.45 (10.0.10.45)' can't be established. ED25519 key fingerprint is SHA256:nlSP6KmwItd5lqdaDY+jngMdAuOpcF2O6XJHtUmr2c0. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.10.45' (ED25519) to the list of known hosts. (fsxadmin@10.0.10.45) Password: This is your first recorded login. FsxId040946a2237e5b165::>
ここではファイルシステムに初めて SSH 接続したので、接続先ファイルシステムの公開鍵フィンガープリントが信頼できるものかどうかを確認するように求められました。yes
を入力して進めてからパスワードを入力し、SSH 接続ができました。
LUN を作成するにあたり、現在のボリュームに割り当てられている上限一杯のサイズで作成しようと思います。LUN に設定可能な最大サイズを確認します。
lun maxsize
▼実行結果
FsxId040946a2237e5b165::> lun maxsize Without With SS Complete Vserver Volume Qtree OS Type SS Reserve Reserve SS Reserve ---------- ------------ ------------ -------- ---------- --------- ---------- emiki_fsxn_singleAZ_svm emiki_fsxn_singleAZ_vol "" aix 9.46GB 9.46GB 4.73GB hpux 9.46GB 9.46GB 4.73GB hyper_v 9.46GB 9.46GB 4.73GB linux 9.46GB 9.46GB 4.73GB netware 9.46GB 9.46GB 4.73GB openvms 9.46GB 9.46GB 4.73GB solaris 9.46GB 9.46GB 4.73GB solaris_efi 9.46GB 9.46GB 4.73GB vmware 9.46GB 9.46GB 4.73GB windows 9.46GB 9.46GB 4.73GB windows_2008 9.46GB 9.46GB 4.73GB windows_gpt 9.46GB 9.46GB 4.73GB xen 9.46GB 9.46GB 4.73GB 13 entries were displayed. FsxId040946a2237e5b165::>
実行結果より、9.46GiB まで LUN に割り当てられることが分かりました。
lun create
コマンドを使用して LUN を作成します。
- 構文
lun create -vserver svm_name -path /vol/vol_name/lun_name -size size -ostype ostype -space-allocation enabled
-
svm_name(SVM の名前):emiki_test_fsxn_svm
- vol_name(ボリュームの名前):emiki_test_fsxn_vol
- lun_name(LUN の名前を指定):emiki_test_fsxn_lun
- size(バイト単位のサイズ):10157372006(9.46GiB)
-
ostype(マウント対象の OS の種類):windows_2008
-
コマンド例
lun create -vserver emiki_test_fsxn_svm -path /vol/emiki_test_fsxn_vol/emiki_test_fsxn_lun -size 10157372006 -ostype windows_2008 -space-allocation enabled
▼実行結果
FsxId040946a2237e5b165::> lun create -vserver emiki_fsxn_singleAZ_svm -path /vol/emiki_fsxn_singleAZ_vol/emiki_fsxn_singleAZ_lun -size 10157372006 -ostype windows_2008 -space-allocation enabled Created a LUN of size 9.5g (10157372416) FsxId040946a2237e5b165::>
ちなみに、LUN に割り当てられるより大きなサイズを指定すると LUN の作成に失敗します。
失敗例(クリックで展開)
size(バイト単位のサイズ):10737418240(10GiB) で LUN 作成コマンドを実行してみます。
lun create -vserver emiki_test_fsxn_svm -path /vol/emiki_test_fsxn_vol/emiki_test_fsxn_lun -size 10737418240 -ostype windows_2008 -space-allocation enabled
▼実行結果
FsxId040946a2237e5b165::> lun create -vserver emiki_fsxn_singleAZ_svm -path /vol/emiki_fsxn_singleAZ_vol/emiki_fsxn_singleAZ_lun -size 10737418240 -ostype windows_2008 -space-allocation enabled Error: command failed: No space left on device FsxId040946a2237e5b165::>
「エラー:コマンドに失敗しました: デバイスに空き容量がありません」というエラーが表示されています。
===失敗例ここまで===
LUN が作成され、オンラインになっていることを確認します。
lun show
▼実行結果
FsxId040946a2237e5b165::> lun show Vserver Path State Mapped Type Size --------- ------------------------------- ------- -------- -------- -------- emiki_fsxn_singleAZ_svm /vol/emiki_fsxn_singleAZ_vol/emiki_fsxn_singleAZ_lun online unmapped windows_2008 9.46GB FsxId040946a2237e5b165::>
②. Windows Server:iSCSI の有効化、Windows インスタンスのイニシエーター名の取得、マルチパス I/O の設定
こちらのブログの手順を実施ください。
③-1. FSx for NetApp ONTAP:イニシエーターグループの作成
FSx for NetApp ONTAP ファイルシステムに SSH 接続しておきます。コマンドはファイルシステムに接続した状態で実行します。
NetApp ONTAP CLI lun igroup create
を使用して、イニシエーターグループ(igroup
)を作成します。
イニシエータグループは iSCSI LUN にマップし、どのイニシエーター (クライアント) が LUN にアクセスできるかをコントロールするものです。
- 構文
lun igroup create -vserver svm_name -igroup igroup_name -initiator host_initiator_name -protocol iscsi -ostype windows
-
igroup_name(イニシエーターグループ名を指定):emiki_test_fsxn_igroup
-
host_initiator_name(Windows Server で取得したイニシエーター名):iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g
-
コマンド例
lun igroup create -vserver emiki_test_fsxn_svm -igroup emiki_test_fsxn_igroup -initiator iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g -protocol iscsi -ostype windows
▼実行結果
FsxId040946a2237e5b165::> lun igroup create -vserver emiki_fsxn_singleAZ_svm -igroup emiki_fsxn_singleAZ_igroup -initiator iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g -protocol iscsi -ostype windows FsxId040946a2237e5b165::>
次のコマンドを使用して、igroup
が正常に作成されたことを確認します。
lun igroup show
▼実行結果
FsxId040946a2237e5b165::> lun igroup show Vserver Igroup Protocol OS Type Initiators --------- ------------ -------- -------- ------------------------------------ emiki_fsxn_singleAZ_svm emiki_fsxn_singleAZ_igroup iscsi windows iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g FsxId040946a2237e5b165::>
③-2. FSx for NetApp ONTAP:イニシエーターグループへ LUN のマッピング
作成したイニシエーターグループ(igroup
)と LUN の紐づけ(マッピング)を作成します。
- 構文
lun mapping create -vserver svm_name -path /vol/vol_name/lun_name -igroup igroup_name -lun-id lun_id
-
lun_id(LUN ID):01
-
コマンド例
lun mapping create -vserver emiki_test_fsxn_svm -path /vol/emiki_test_fsxn_vol/emiki_test_fsxn_lun -igroup emiki_test_fsxn_igroup -lun-id 01
▼実行結果
FsxId040946a2237e5b165::> lun mapping create -vserver emiki_fsxn_singleAZ_svm -path /vol/emiki_fsxn_singleAZ_vol/emiki_fsxn_singleAZ_lun -igroup emiki_fsxn_singleAZ_igroup -lun-id 01 FsxId040946a2237e5b165::>
次のコマンドを使用して、LUN がイニシエーターグループにマッピングされていることを確認します。
- 構文
lun show -path /vol/vol_name/lun_name
-
コマンド例
lun show -path /vol/emiki_fsxn_singleAZ_vol/emiki_fsxn_singleAZ_lun
▼実行結果
FsxId040946a2237e5b165::> lun show -path /vol/emiki_fsxn_singleAZ_vol/emiki_fsxn_singleAZ_lun Vserver Path State Mapped Type Size --------- ------------------------------- ------- -------- -------- -------- emiki_fsxn_singleAZ_svm /vol/emiki_fsxn_singleAZ_vol/emiki_fsxn_singleAZ_lun online mapped windows_2008 9.46GB FsxId040946a2237e5b165::>
③-3. FSx for NetApp ONTAP:iSCSI IP アドレスの取得
次のコマンドを使用して、SVM の二つの iSCSI エンドポイント IP アドレス(iscsi_1、iscsi_2)を取得します。
- 構文
network interface show -vserver svm_name
-
コマンド例
network interface show -vserver emiki_test_fsxn_svm
▼実行結果
network interface show -vserver emiki_fsxn_singleAZ_svm FsxId040946a2237e5b165::> network interface show -vserver emiki_fsxn_singleAZ_svm Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- emiki_fsxn_singleAZ_svm iscsi_1 up/up 10.0.10.102/24 FsxId040946a2237e5b165-01 e0e true iscsi_2 up/up 10.0.10.28/24 FsxId040946a2237e5b165-02 e0e true nfs_smb_management_1 up/up 10.0.10.192/24 FsxId040946a2237e5b165-01 e0e true 3 entries were displayed. FsxId040946a2237e5b165::>
以下二つの iSCSI エンドポイント IP が取得できました。
- iscsi_1:10.0.10.102
- iscsi_2:10.0.10.28
ちなみに、FSx マネジメントコンソールでストレージ仮想マシンのエンドポイントタブからも確認できます。
④. Windows Server:作成した LUN をマウント
Windows Server に作成した LUN を iSCSI マウントします。
以下の PowerShell スクリプトを Windows Server 上で実行し、作成した LUN をマウントします。
#iSCSI IP addresses for Preferred and Standby subnets $TargetPortalAddresses = @("iscsi_1","iscsi_2") #iSCSI Initator IP Address (Local node IP address) $LocaliSCSIAddress = "ec2_ip" #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..8 | %{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
上記スクリプトで、以下のように値を置き換えてください。
- iscsi_1(前の手順で取得した iSCSI IP①):10.0.10.102
- iscsi_2(前の手順で取得した iSCSI IP②):10.0.10.28
- ec2_ip(マウントする Windows Server のプライベート IP):10.0.10.92
上記スクリプトでは以下の操作をおこなっています。
- 各ファイルシステムの iSCSI インターフェイスに接続
- iSCSI 用の Multipath-IO(MPIO)を追加および設定
- iSCSI 接続ごとに 8 つのセッションを確立
- これにより、クライアントは最大 40 Gb/秒 (5,000 MB/秒) の集約スループットを iSCSI LUN に駆動できます(各セッションのスループットは最大 625 MB/秒)。
- ONTAP スループットキャパシティで最高レベルである 4,000 MB/秒のスループット容量をフルに駆動できます。
- また、#Establish iSCSI connection ステップのスクリプトの for-loop を、1..8 から別の上限に変更することで、セッション数を、より高いまたはより低いセッション数に変更することもできます。
スクリプトについての詳細は Windows クライアントに iSCSI LUN をマウントします を参照ください。
===追記===
後で気づいたことですが、パフォーマンスの詳細 を見ると、読み込みスループットで 4,096 MBps を設定可能なのは以下のリージョンのみなので、東京リージョンではまだ読み込みスループットは 2,048 MBps までしか設定できないようです。
- 米国東部 (オハイオ)
- 米国東部 (バージニア北部)
- 米国西部 (オレゴン)
- 欧州 (アイルランド)
===追記ここまで===
私は Windows Server に Systems Manager フリートマネージャーで RDP 接続し、Windows Server の C ドライブに work フォルダを新規作成しました。 work フォルダ内に新規テキストファイルを作成し、スクリプトをコピーして、ファイル名は「iSCSI_mount.ps1」として保存しました。
ブラウザでクリップボードのアクセスを許可しておけば、スクリプトを Windows Server 上にペーストできます。
ブラウザでクリップボードのアクセスを許可する方法は [アップデート] WindowsインスタンスにAWS Systems Manager Fleet ManagerからRDP接続できるようになりました|DevelopiesIO Fleet ManagerからRDP接続 を参照ください。
C:\work
で Shift を押したまま右クリックすると「PowerShell ウィンドウをここで開く」というメニューが出てくるので、クリックします。
C:\work
で PowerShell が開きます。
ps1 ファイルを実行します。
.\iSCSI_mount.ps1
実行結果(クリックで展開)
PS C:\work> .\iSCSI_mount.ps1 InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorPortalAddress : 10.0.10.92 IsDataDigest : False IsHeaderDigest : False TargetPortalAddress : 10.0.10.140 TargetPortalPortNumber : 3260 PSComputerName : InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorPortalAddress : 10.0.10.92 IsDataDigest : False IsHeaderDigest : False TargetPortalAddress : 10.0.10.192 TargetPortalPortNumber : 3260 PSComputerName : ProductId : iSCSIBusType_0x9 VendorId : MSFT2005 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370000 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000003 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0100 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370002 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000004 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0100 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370004 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000005 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0200 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370006 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000006 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0200 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370008 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000007 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0300 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 40000137000a IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000008 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0300 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 40000137000c IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000009 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0400 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 40000137000e IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-400001370000000a TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0400 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370010 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-400001370000000b TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0500 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370012 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-400001370000000c TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0500 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370014 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-400001370000000d TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0600 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370016 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-400001370000000e TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0600 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 400001370018 IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-400001370000000f TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0700 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 40000137001a IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000010 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0700 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 40000137001c IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000011 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0800 PSComputerName : AuthenticationType : NONE InitiatorInstanceName : ROOT\ISCSIPRT\0000_0 InitiatorNodeAddress : iqn.1991-05.com.microsoft:ec2amaz-vtgtk0g InitiatorPortalAddress : 10.0.10.92 InitiatorSideIdentifier : 40000137001e IsConnected : True IsDataDigest : False IsDiscovered : True IsHeaderDigest : False IsPersistent : True NumberOfConnections : 1 SessionIdentifier : ffff9685e16b1010-4000013700000012 TargetNodeAddress : iqn.1992-08.com.netapp:sn.9fc4c3dd4b1911eeadaecd5d675fa738:vs.3 TargetSideIdentifier : 0800 PSComputerName : PS C:\work>
Windows Server:マウント後の iSCSI イニシエーターのプロパティ確認
スクリプトの実行が終わったら、iSCSI イニシエーターのプロパティを確認してみましょう。
[スタート] - [Windows 管理ツール] - [iSCSI イニシエーター] をクリックします。
ターゲットタブでは、検出されたターゲットの状態が「接続完了」となっていることが分かります。
探索タブにもターゲットが表示されるようになりました。
お気に入りのターゲットタブにも表示されています。
Windows Server:ディスクのフォーマット
スクリプトを実行しただけでは、まだディスクとして使うことができません。ディスクのフォーマット操作が必要です。
[スタート] - [Windows 管理ツール] - [コンピューターの管理] をクリックします。
コンピューターの管理画面が開いたら「ディスクの管理」を開きます。
iSCSI マウントしたディスクがオフライン状態で見えているので、「オフライン」と書いてある枠の中で右クリックし「オンライン」をクリックします。
すると「初期化されていません」という状態になります。「初期化されていません」と書いてある枠の中で右クリックし「ディスクの初期化」をクリックします。
ディスクの初期化画面が開きます。パーティションスタイルでは「GPT」を選択して「OK」をクリックします。
ディスクがオンラインになりました。右側の「未割り当て」と書かれた網掛け部分を右クリックし「新しいシンプルボリューム」をクリックします。
新しいシンプルボリュームウィザードが開始します。「次へ」をクリックします。
ボリュームサイズを指定します。今回は割り当てられるすべての容量を割り当てます。このまま「次へ」をクリックします。
ドライブ文字を選択します。今回はこのまま D ドライブとします。「次へ」をクリックします。
パーティションのフォーマットに関するウィザードに遷移します。このまま「次へ」をクリックします。
確認画面です。「完了」をクリックします。
「フォーマット中」からすぐに「正常」となります。
エクスプローラーを開くと、作成した D ドライブが見えるようになっています。クリックしてファイルを作成してみます。
D ドライブに遷移し、右クリック [新規作成] - [テキストドキュメント] でテキストファイルを作成してみます。
できました。
おわりに
FSx for NetApp ONTAP に Windows Server で iSCSI 接続しました。手順は多いですが、落ち着いて順番に実施すれば難しい作業ではありません。
iSCSI でストレージをサーバに接続すると直接デバイスとして読み込まれ、ストレージにアクセスできます。ファイルサーバのように共有フォルダが見える方式とは違い、直接デバイスとして読み込まれるのが特徴です。UNC パスが使えないなどの制約があるシステムで役に立ちます。
どなたかのお役に立てば幸いです。