vm.gowatana.jp

NEOにほんごVMware(仮)

vSAN iSCSI ターゲットに Linux から接続してみる。(PowerCLI でのターゲット操作例)

個人的な vSAN Advent Calendar 23日目です。

自宅ラボの vSAN 7.0 U 1 Advent Calendar 2020 - Adventar

前回までの iSCSI ターゲット作成手順を、PowerCLI に置き換えてみます。

今回の環境

PowerCLI 12.1 を利用します。vSAN 7.0 U1 クラスタは、前回まで使用していたものと同じ構成です。

vSAN クラスタでの iSCSI ターゲット サービスは有効にしてありますが、これまでに作成した iSCSI ターゲット(と LUN)は、いったん削除してあります。

f:id:gowatana:20201224224708p:plain

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:\&;gt 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」が割り当てられています。

f:id:gowatana:20201224224751p:plain

これで、前回の投稿(下記)と同様に、iSCSI イニシエータから接続できるようになるはずです。

vSAN iSCSI ターゲットに Linux から接続してみる。(入門編2) - vm.gowatana.jp

つづく。