MPIO 和 ESXi 7.0 獨立

MPIO 和 ESXi 7.0 獨立

我正在嘗試在 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 個不同的網路卡。

每個 L3 網段駐留在不同的 VLAN 上。

我還有一個配置了 IPv4 IP 位址的 vmk0。

當我在 SCST 伺服器上執行 netstat 時,我看到它偵聽 0.0.0.0:3260 和 :::3260

我發現這篇精彩的文章,但 ESXi 主機上的命令指的是 4.0 版本,而 ESXi 7.0 上的命令是指不是esxcli swiscsi

https://virtualgeek.typepad.com/virtual_geek/2009/01/a-multivendor-post-to-help-our-mutual-iscsi-customers-using-vmware.html

我的理解是,我必須將 vmknic 綁定到 vmnic,但我找不到 7.0 上的 CLI/ESXCLI 的任何相關文件。

我的每台設備仍然看到一條路徑,而不是多條路徑:

[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 網路卡

[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

最終我意識到「將實體網卡綁定」到VMK網卡是什麼意思,即

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 處於活動狀態,而其他 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

相關內容