某些类型的 iSCSI 适配器取决于 VMkernel 网络连接。这些适配器包括软件或从属硬件 iSCSI 适配器以及 VMware iSCSI over RDMA (iSER) 适配器。如果 ESXi 环境中包括这些适配器中的任何一个,必须为 iSCSI 或 iSER 组件与物理网络适配器之间的流量配置连接。
配置网络连接包括为各个物理网络适配器创建虚拟 VMkernel 适配器。可以在每个虚拟和物理网络适配器之间使用 1:1 映射。然后将 VMkernel 适配器与相应的 iSCSI 或 iSER 适配器关联。此过程称为端口绑定。
- 可以将软件 iSCSI 适配器与主机上任何可用的物理网卡进行连接。
- 从属 iSCSI 适配器必须只能与其自己的物理网卡进行连接。
- 必须仅将 iSER 适配器连接到支持 RDMA 的网络适配器。
有关配合使用网络连接与软件 iSCSI 的时机和方法的特定注意事项,请参见 VMware 知识库文章,网址为 http://kb.vmware.com/kb/2038869。
iSCSI 或 iSER 配置中的多个网络适配器
如果主机有多个物理网络适配器用于 iSCSI 或 iSER,则您可以将这些适配器用于多路径。
可以在单交换机配置或多交换机配置中使用多个物理适配器。
在多交换机配置中,可以为每个虚拟-物理适配器对指定单独的 vSphere 交换机。
替代方法是将所有网卡和 VMkernel 适配器添加到单个 vSphere 交换机。VMkernel 适配器的数量必须与 vSphere 标准交换机上物理适配器的数量相对应。单交换机配置不适用于 iSER,因为 iSER 不支持网卡绑定。
对于这种配置,必须替代默认网络设置,并确保每个 VMkernel 适配器只映射到一个对应的活动物理适配器,如表中所示。
VMkernel 适配器 (vmk#) | 物理网络适配器 (vmnic#) |
---|---|
vmk1 (iSCSI1) | 活动适配器 vmnic1 未用的适配器vmnic2 |
vmk2 (iSCSI2) | 活动适配器 vmnic2 未用的适配器vmnic1 |
您也可以使用分布式交换机。有关 vSphere Distributed Switch 以及如何更改默认网络策略的详细信息,请参见 《vSphere 网络连接》文档。
- 物理网络适配器和它们连接到的存储系统必须位于同一子网上。
- (仅适用于 iSCSI,不适用于 iSER)如果您使用单独的 vSphere 交换机,必须将它们连接到不同的 IP 子网。否则,VMkernel 适配器可能会遇到连接问题,并且主机将无法发现 LUN。
- 单交换机配置不适用于 iSER,因为 iSER 不支持网卡绑定。
- 阵列目标 iSCSI 端口处于不同的广播域和 IP 子网中。
- 用于 iSCSI 连接的 VMkernel 适配器位于不同的广播域、IP 子网中,或使用不同的虚拟交换机。
注: 在 iSER 配置中,用于 iSER 连接的 VMkernel 适配器不能用于融合流量。您创建的用于连接具有 iSER 的 ESXi主机与 iSER 目标的 VMkernel 适配器只能用于 iSER 流量。
使用软件 iSCSI 配置网络连接的最佳做法
使用软件 iSCSI 配置网络连接时,请考虑以下几种最佳做法。
软件 iSCSI 端口绑定
您可以将 ESXi 主机上的软件 iSCSI 启动器绑定到单个或多个 VMkernel 端口,以便 iSCSI 流量仅通过绑定端口。未绑定端口不用于 iSCSI 流量。
配置端口绑定后,iSCSI 启动器将创建从所有绑定端口到所有配置目标门户的 iSCSI 会话。
VMkernel 端口 | 目标门户 | iSCSI 会话 |
---|---|---|
2 个绑定的 VMkernel 端口 | 2 个目标门户 | 4 个会话 (2 x 2) |
4 个绑定的 VMkernel 端口 | 1 个目标门户 | 4 个会话 (4 x 1) |
2 个绑定的 VMkernel 端口 | 4 个目标门户 | 8 个会话 (2 x 4) |
无端口绑定
如果不使用端口绑定,ESXi 网络连接层会根据其路由表选择最佳 VMkernel 端口。主机通过该端口使用目标门户创建 iSCSI 会话。若无端口绑定,只能为每个目标门户创建一个会话。
VMkernel 端口 | 目标门户 | iSCSI 会话 |
---|---|---|
2 个未绑定的 VMkernel 端口 | 2 个目标门户 | 2 个会话 |
4 个未绑定的 VMkernel 端口 | 1 个目标门户 | 1 个会话 |
2 个未绑定的 VMkernel 端口 | 4 个目标门户 | 4 个会话 |
软件 iSCSI 多路径
示例 1.含单个网络门户的 iSCSI 目标的多个路径
如果您的目标只有一个网络门户,则可通过在 ESXi 主机上添加多个 VMkernel 端口并将其绑定到 iSCSI 启动器,创建多个指向该目标的路径。
在此示例中,所有启动器端口和目标门户均在同一子网中配置。该目标可通过所有绑定端口访问。您有四个 VMkernel 端口和一个目标门户,因此总共创建了四个路径。
若无端口绑定,只会创建一个路径。
示例 2.含不同子网中的 VMkernel 端口的多个路径
通过在不同的 IP 子网上配置多个端口和目标门户,即可创建多个路径。通过将启动器和目标端口保留在不同的子网中,您可以强制 ESXi 创建经过特定端口的路径。在此配置中,并不使用端口绑定,因为端口绑定要求所有启动器和目标端口位于同一子网上。
ESXi 在连接到控制器 A 和控制器 B 的端口 0 时选择 vmk1,因为所有这三个端口均位于同一子网上。同样,在连接到控制器 A 和控制器 B 的端口 1 时选择 vmk2。可以在此配置中使用网卡绑定。
路径 | 描述 |
---|---|
路径 1 | vmk1 和控制器 A 的端口 0 |
路径 2 | vmk1 和控制器 B 的端口 0 |
路径 3 | vmk2 和控制器 A 的端口 1 |
路径 4 | vmk2 和控制器 B 的端口 1 |
使用软件 iSCSI 路由
您可以使用 esxcli 命令为 iSCSI 流量添加静态路由。配置静态路由后,不同子网中的启动器和目标端口可以相互通信。
示例 1.使用具有端口绑定的静态路由
在此示例中,您将所有绑定的 VMkernel 端口保留在一个子网 (N1) 中,并在另一个子网 (N2) 中配置所有目标门户。然后,可以为目标子网 (N2) 添加静态路由。
使用以下命令:
# esxcli network ip route ipv4 add -gateway 192.168.1.253 -network 10.115.179.0/24
示例 2.使用静态路由创建多个路径
在此示例中,使用不同的子网时将使用静态路由。不能在此配置中使用端口绑定。
您在独立子网 192.168.1.0 和 192.168.2.0 中配置 vmk1 和 vmk2。此外,目标门户也位于独立子网 10.115.155.0 和 10.155.179.0 中。
可以从 vmk1 为 10.115.155.0 添加静态路由。请确保网关可从 vmk1 进行访问。
# esxcli network ip route ipv4 add -gateway 192.168.1.253 -network 10.115.155.0/24
然后从 vmk2 为 10.115.179.0 添加静态路由。请确保网关可从 vmk2 进行访问。
# esxcli network ip route ipv4 add -gateway 192.168.2.253 -network 10.115.179.0/24
使用控制器 A 的端口 0 进行连接时,将使用 vmk1。
使用控制器 B 的端口 0 进行连接时,将使用 vmk2。
示例 3.每个 VMkernel 端口使用一个单独的网关进行路由
从 vSphere 6.5 开始,您可以为每个 VMkernel 端口配置一个单独网关。如果使用 DHCP 获取 VMkernel 端口的 IP 配置,还可使用 DHCP 获取网关信息。
要查看每个 VMkernel 端口的网关信息,请使用以下命令:
Name IPv4 Address IPv4 Netmask IPv4 Broadcast Address Type Gateway DHCP DNS ---- -------------- ------------- -------------- ------------ -------------- -------- vmk0 10.115.155.122 255.255.252.0 10.115.155.255 DHCP 10.115.155.253 true vmk1 10.115.179.209 255.255.252.0 10.115.179.255 DHCP 10.115.179.253 true vmk2 10.115.179.146 255.255.252.0 10.115.179.255 DHCP 10.115.179.253 true
通过每个 VMkernel 端口的单独网关,您可使用端口绑定访问不同子网中的目标。
管理 iSCSI 网络
特殊注意事项适用于与 iSCSI 适配器关联的网络适配器,包括物理网络适配器和 VMkernel 网络适配器。
为 iSCSI 创建网络连接后,iSCSI 指示器在vSphere Client中变为启用。此指示器显示特定虚拟网络适配器或物理网络适配器是 iSCSI 绑定的。为避免 iSCSI 流量中断,请在管理 iSCSI 绑定的虚拟网络适配器和物理网络适配器时遵循以下准则和注意事项:
- 确保 VMkernel 网络适配器已在与其所连接的 iSCSI 存储门户相同的子网上分配了地址。
- 使用 VMkernel 适配器的 iSCSI 适配器无法连接到不同子网上的 iSCSI 端口,即使 iSCSI 适配器发现了这些端口。
- 使用单独的 vSphere 交换机连接物理网络适配器和 VMkernel 适配器时,请确保 vSphere 交换机连接到不同的 IP 子网。
- 如果 VMkernel 适配器位于同一子网上,则它们必须连接到一个 vSwitch。
- 如果将 VMkernel 适配器迁移到其他 vSphere 交换机,请移动关联的物理适配器。
- 请勿对 iSCSI 绑定的 VMkernel 适配器或物理网络适配器进行配置更改。
- 请勿进行可能中断 VMkernel 适配器与物理网络适配器的关联的更改。移除其中一个适配器或移除连接适配器的 vSphere 交换机时,可能会中断关联。或者更改其连接的 1:1 网络策略时,也可能会中断关联。
iSCSI 网络故障排除
警告标记表示 iSCSI 绑定的 VMkernel 适配器的不合规端口组策略。
问题
VMkernel 适配器的端口组策略在以下情况下被认为不合规:
- VMkernel 适配器未连接到活动物理网络适配器。
- VMkernel 适配器连接到多个物理网络适配器。
- VMkernel 适配器连接到一个或多个待机物理适配器。
- 活动物理适配器已更改。
解决方案
为 iSCSI 绑定的 VMkernel 适配器设置正确的网络策略。请参见在 ESXi 上为 iSCSI 或 iSER 配置端口绑定。