
ESXi 7.0 スタンドアロン (無料ライセンス) と SCST サーバーの間で MPIO を設定しようとしています。
IPv6アドレスを持つ4つのvmknic(vmk1、vmk2、vmk3、vmk4)を作成しました
(2001::1/64、2002::1/64、2003::1/64、2004::1/64)
そして私は割り当てた
(2001::2/64、2002::2/64、2003::2/64、2004::2/64)
Linux ボックス上の 4 つの異なる NIC に接続します。
各 L3 セグメントは異なる VLAN 上に存在します。
IPv4 IP アドレスで構成された vmk0 もあります。
SCSTサーバーでnetstatを実行すると、0.0.0.0:3260と:::3260でリッスンしていることがわかります。
私はこの素晴らしい記事を見つけましたが、ESXiホストのコマンドは4.0バージョンを参照しており、ESXi 7.0ではない持っているesxcli swiscsi
私の理解では、vmknic を vmnic にバインドする必要があるのですが、7.0 の CLI/ESXCLI に関する関連ドキュメントは見つかりませんでした。
デバイスごとに複数のパスではなく 1 つのパスが表示されます。
[root@ESXi:~] esxcfg-mpath -b |grep -B1 "Adapter"| grep -v -e "--" |sed 's/Adapter.*//'
eui.3163656561363833 : SCST_FIO iSCSI Disk (eui.3163656561363833)
vmhba64:C0:T0:L2 LUN:2 state:active iscsi
eui.3363613336363835 : SCST_BIO iSCSI Disk (eui.3363613336363835)
vmhba64:C0:T0:L8 LUN:8 state:active iscsi
eui.3761663561303238 : SCST_FIO iSCSI CD-ROM (eui.3761663561303238)
vmhba64:C0:T0:L1 LUN:1 state:active iscsi
eui.3562393762313730 : SCST_BIO iSCSI Disk (eui.3562393762313730)
vmhba64:C0:T0:L5 LUN:5 state:active iscsi
eui.6631393662333130 : SCST_BIO iSCSI Disk (eui.6631393662333130)
vmhba64:C0:T0:L0 LUN:0 state:active iscsi
eui.6164373835346366 : SCST_FIO iSCSI CD-ROM (eui.6164373835346366)
vmhba64:C0:T0:L4 LUN:4 state:active iscsi
eui.3639313435343362 : SCST_FIO iSCSI CD-ROM (eui.3639313435343362)
vmhba64:C0:T0:L3 LUN:3 state:active iscsi
eui.3332653439383239 : SCST_BIO iSCSI Disk (eui.3332653439383239)
vmhba64:C0:T0:L6 LUN:6 state:active iscsi
eui.3762393937356132 : SCST_BIO iSCSI Disk (eui.3762393937356132)
vmhba64:C0:T0:L9 LUN:9 state:active iscsi
eui.3466376564643362 : SCST_BIO iSCSI Disk (eui.3466376564643362)
vmhba64:C0:T0:L10 LUN:10 state:active iscsi
eui.6233633835373866 : SCST_BIO iSCSI Disk (eui.6233633835373866)
vmhba64:C0:T0:L7 LUN:7 state:active iscsi
iSCSIソフトウェアアダプタはすべてのVMK NICにリンクされているようです
[root@ESXi:~] esxcli iscsi logicalnetworkportal list -A vmhba64
Adapter Vmknic MAC Address MAC Address Valid Compliant
------- ------ ----------------- ----------------- ---------
vmhba64 vmk0 ac:1f:6b:98:19:a4 true false
vmhba64 vmk1 00:50:56:66:f3:a2 true false
vmhba64 vmk2 00:50:56:66:9b:7e true false
vmhba64 vmk3 00:50:56:68:b5:38 true false
vmhba64 vmk4 00:50:56:61:ee:67 true false
何が足りないのでしょうか?
答え1
最終的に、物理NICをVMK NICにバインドするということはどういうことかが分かりました。
esxcli network vswitch standard portgroup policy failover set -a vmnic4 -p PG-iSCSI_01
esxcli network vswitch standard portgroup policy failover set -a vmnic5 -p PG-iSCSI_02
esxcli network vswitch standard portgroup policy failover set -a vmnic6 -p PG-iSCSI_03
esxcli network vswitch standard portgroup policy failover set -a vmnic7 -p PG-iSCSI_04
上記のステートメントの要件は、各ポートグループでアクティブなvmnicが1つだけアクティブであり、他のvmnicは未使用であることです。
esxcli network vswitch standard portgroup policy failover set --active-uplinks=vmnic4 --portgroup-name=PG-iSCSI_01
esxcli network vswitch standard portgroup policy failover set --active-uplinks=vmnic5 --portgroup-name=PG-iSCSI_02
esxcli network vswitch standard portgroup policy failover set --active-uplinks=vmnic6 --portgroup-name=PG-iSCSI_03
esxcli network vswitch standard portgroup policy failover set --active-uplinks=vmnic7 --portgroup-name=PG-iSCSI_04
そしてもちろんポートグループを作成した後
esxcli network vswitch standard portgroup add --portgroup-name=PG-SCSI_01 -vswitch vSwitch1
esxcli network vswitch standard portgroup add --portgroup-name=PG-SCSI_02 -vswitch vSwitch1
esxcli network vswitch standard portgroup add --portgroup-name=PG-SCSI_03 -vswitch vSwitch1
esxcli network vswitch standard portgroup add --portgroup-name=PG-SCSI_04 -vswitch vSwitch1
そして各ポートグループにvmknicを追加した後
esxcli network ip interface add --interface-name=vmk1 --portgroup-name=PG-iSCSI_01
esxcli network ip interface add --interface-name=vmk2 --portgroup-name=PG-iSCSI_02
esxcli network ip interface add --interface-name=vmk3 --portgroup-name=PG-iSCSI_03
esxcli network ip interface add --interface-name=vmk4 --portgroup-name=PG-iSCSI_04
iSCSIアダプタを再スキャンしてみましょう(問題がなければすべて)
esxcli storage core adapter rescan -a
各デバイスですべてのパスが使用されていることを簡単に確認できます
for dev in $(esxcli storage core device list | grep -e '^[^\ ]' | xargs);do echo -n "Device: $dev Paths:"; path=$(esxcli storage core path list -d $dev | grep -e '^iqn'| wc -l); echo $path;done
Device: eui.3163656561363833 Paths:5
Device: eui.3363613336363835 Paths:5
Device: eui.3761663561303238 Paths:5
Device: eui.3562393762313730 Paths:5
Device: eui.6631393662333130 Paths:5
Device: eui.6164373835346366 Paths:5
Device: eui.3639313435343362 Paths:5
Device: eui.3332653439383239 Paths:5
Device: eui.6332303139666464 Paths:5
Device: eui.6233633835373866 Paths:5
もちろんすべての道でなければなりませんでアクティブ状態
esxcli storage core path list -d eui.3163656561363833 | awk '/^i/{dev=$0}/Runtime/{rn=$3}/State/{printf "%20s %7s %s\n",rn,$2,dev}'
vmhba64:C0:T0:L7 active iqn.2019-05.com....-00023d000002,iqn.2020-02.l...l:bm01-1234abcd,t,1-eui.6233633835373866
vmhba64:C5:T0:L7 active iqn.2019-05.com....-00023d000017,iqn.2020-02.l...l:bm01-1234abcd,t,1-eui.6233633835373866
vmhba64:C4:T0:L7 active iqn.2019-05.com....-00023d000012,iqn.2020-02.l...l:bm01-1234abcd,t,1-eui.6233633835373866
vmhba64:C3:T0:L7 active iqn.2019-05.com....-00023d00000d,iqn.2020-02.l...l:bm01-1234abcd,t,1-eui.6233633835373866
vmhba64:C2:T0:L7 active iqn.2019-05.com....-00023d000008,iqn.2020-02.l...l:bm01-1234abcd,t,1-eui.6233633835373866