MPIO 和 ESXi 7.0 独立版

MPIO 和 ESXi 7.0 独立版

我正在尝试在 ESXi 7.0 独立版(免费许可证)和 SCST 服务器之间设置 MPIO。

我创建了 4 个具有 IPv6 地址的 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

相关内容