個人的な vSAN Advent Calendar 23日目です。
前回までの iSCSI ターゲット作成手順を、PowerCLI に置き換えてみます。
今回の環境
PowerCLI 12.1 を利用します。vSAN 7.0 U1 クラスタは、前回まで使用していたものと同じ構成です。
vSAN クラスタでの iSCSI ターゲット サービスは有効にしてありますが、これまでに作成した iSCSI ターゲット(と LUN)は、いったん削除してあります。
PowerCLI での vSAN iSCSI ターゲット操作
iSCSI ターゲットのサービスが有効化されています。
PS C:\> Get-Cluster "vsan-cluster-20201221" | Get-VsanClusterConfiguration | select VsanEnabled,IscsiTargetServiceEnabled VsanEnabled IscsiTargetServiceEnabled ----------- ------------------------- True True
iSCSI ターゲットを作成します。
PS C:\> New-VsanIscsiTarget -Cluster "vsan-cluster-20201221" -Name "vit-01" -NetworkInterface vmk3
ちなみに、PowerCLI 12.1 で *-VsanIscsiTarget* コマンドレットを利用すると、なぜかエラーとなってしまうことがあります。ただ、その場合も vSphere / vSAN としては操作はできているケースもあるので、vCenter のタスク / イベントや、オブジェクトの情報取得で確認してみるとよさそうです。
New-VsanIscsiTarget : 2020/12/24 8:46:43 New-VsanIscsiTarget 1 つ以上のエラーが発生しました。
発生場所 行:1 文字:1
+ New-VsanIscsiTarget -Cluster "vsan-cluster-20201221" -Name "vit-01" - ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-VsanIscsiTarget], VimException
+ FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomation.Storage.Commands.Cmdlets.Vsan.NewVsanIscsiTarget
IQN は、今回は自動生成されたものを使用します。LUN はまだゼロです。
PS C:\> Get-Cluster "vsan-cluster-20201221" | Get-VsanIscsiTarget | select Name,IscsiQualifiedName,NetworkInterface,NumLuns | Format-List Name : vit-01 IscsiQualifiedName : iqn.1998-01.com.vmware:52be41f45ddec495-da2d1e9c99234245 NetworkInterface : vmk3 NumLuns : 0
今回の環境では、iSCSI イニシエータは vSAN クラスタに所属している ESXi ホストの vmk3 の IP アドレス宛に接続することになります。
PS C:\> Get-Cluster "vsan-cluster-20201221" | Get-VMHost | Get-VMHostNetworkAdapter -Name vmk3 | select Name,VMHost,IP,SubnetMask | Sort-Object VMHost Name VMHost IP SubnetMask ---- ------ -- ---------- vmk3 192.168.10.171 192.168.41.171 255.255.255.0 vmk3 192.168.10.172 192.168.41.172 255.255.255.0 vmk3 192.168.10.173 192.168.41.173 255.255.255.0 vmk3 192.168.10.174 192.168.41.174 255.255.255.0
Target に LUN を作成します。今回は 1つ作成します。
PS C:\> New-VsanIscsiLun -Target "vit-01" -CapacityGB 10
ターゲットに LUN が作成されました。
PS C:> Get-Cluster "vsan-cluster-20201221" | Get-VsanIscsiTarget | select Name,IscsiQualifiedName,NetworkInterface,NumLuns | Format-List Name : vit-01 IscsiQualifiedName : iqn.1998-01.com.vmware:52be41f45ddec495-da2d1e9c99234245 NetworkInterface : vmk3 NumLuns : 1
iSCSI イニシエータ グループを作成して、ターゲットへの接続を許可するイニシエータ IQN を 2つ追加します。
PS C:\> Get-Cluster "vsan-cluster-20201221" | New-VsanIscsiInitiatorGroup -Name "igroup-01" PS C:\> Get-Cluster "vsan-cluster-20201221" | Get-VsanIscsiInitiatorGroup -Name "igroup-01" | Set-VsanIscsiInitiatorGroup -AddInitiator "iqn.1988-12.com.oracle:lab-vm-01" PS C:\> Get-Cluster "vsan-cluster-20201221" | Get-VsanIscsiInitiatorGroup -Name "igroup-01" | Set-VsanIscsiInitiatorGroup -AddInitiator "iqn.1988-12.com.oracle:lab-vm-02"
イニシエータ グループに IQN が登録されました。
PS C:\> Get-Cluster "vsan-cluster-20201221" | Get-VsanIscsiInitiatorGroup -Name "igroup-01" | select -ExpandProperty InitiatorName iqn.1988-12.com.oracle:lab-vm-01 iqn.1988-12.com.oracle:lab-vm-02
ターゲットにイニシエータ グループを関連付けます。
PS C:\> Get-Cluster "vsan-cluster-20201221" | Get-VsanIscsiTarget -Name "vit-01" | New-VsanIscsiInitiatorGroupTargetAssociation -InitiatorGroup "igroup-01"
vSphere Client で見ると、下記のように設定してきた内容が反映されています。
ターゲットには、10GB の LUN が作成され、イニシエータ グループ「igroup-01」が割り当てられています。
これで、前回の投稿(下記)と同様に、iSCSI イニシエータから接続できるようになるはずです。
つづく。