要维持主机及其存储之间的持续连接,ESXi 必须支持多路径。借助多路径,您可以使用多条物理路径在主机和外部存储设备之间传输数据。
如果 SAN 网络中的任何元素(如适配器、交换机或电缆)发生故障,则 ESXi 可切换到另一个可行的物理路径。这种避免使用故障组件的路径切换过程称为路径故障切换。
除路径故障切换外,多路径还提供负载均衡。负载均衡是在多个物理路径中分配 I/O 负载的过程。负载均衡可以减少或消除潜在的瓶颈。
光纤通道故障切换
要支持多路径,主机通常具有两个或更多个可用的 HBA。此配置对 SAN 多路径配置进行补充。通常,SAN 多路径为 SAN 架构提供一个或多个交换机,并为存储阵列设备本身提供一个或多个存储处理器。
在下图中,可通过多个物理路径将每台服务器与存储设备相连。例如,如果 HBA1 或 HBA1 与 FC 交换机之间的链路发生故障,HBA2 会接管并提供连接。一个 HBA 取代另一个 HBA 的过程称为 HBA 故障切换。
同样,如果 SP1 发生故障或 SP1 与交换机之间的链路中断,SP2 会接管。SP2 会提供交换机与存储设备之间的连接。此过程称为 SP 故障切换。VMware ESXi 支持 HBA 和 SP 故障切换。
基于主机的 iSCSI 故障切换
在设置 ESXi 主机的多路径和故障切换功能时,可以使用多个 iSCSI HBA,或者将多个网卡与软件 iSCSI 适配器结合使用。
有关不同类型的 iSCSI 适配器的信息,请参见iSCSI 启动器。
- 将独立硬件适配器与同一主机中的软件 iSCSI 适配器或从属 iSCSI 适配器组合使用时,ESXi 不支持多路径。
- 支持在同一主机内的软件和从属适配器之间使用多路径。
- 在不同的主机上,可以混合使用从属适配器和独立适配器。
- 硬件 iSCSI 和故障切换
-
对于硬件 iSCSI,主机通常具有两个或更多的硬件 iSCSI 适配器。主机使用适配器通过一个或多个交换机访问存储系统。或者,设置可能包括一个适配器和两个存储处理器,以便适配器可以使用不同的路径访问存储系统。
如图所示,主机 1 有两个硬件 iSCSI 适配器(HBA1 和 HBA2),这提供了两条到存储系统的物理路径。主机上的多路径插件,不论是 VMkernel NMP 还是任何第三方 MPP,默认情况下都可以访问这些路径。这些插件可以监控每条物理路径的运行状况。例如,如果 HBA1 或 HBA1 与网络之间的链路发生故障,多路径插件可以将路径切换到 HBA2。
- 软件 iSCSI 和故障切换
-
如图中的主机 2 所示,通过软件 iSCSI,您可以使用多张网卡为 iSCSI 连接提供故障切换和负载均衡功能。
多路径插件不能直接访问主机上的物理网卡。因此,对于此设置,您首先必须将每个物理网卡连接至单独的 VMkernel 端口。然后使用端口绑定技术将所有的 VMkernel 端口与软件 iSCSI 启动器相关联。连接到单独网卡的每个 VMkernel 端口将成为 iSCSI 存储堆栈及其存储感知多路径插件可使用的另一条路径。
有关为软件 iSCSI 配置多路径的信息,请参见在 ESXi 中为 iSCSI 和 iSER 设置网络。
基于阵列的 iSCSI 故障切换
有些 iSCSI 存储系统以透明的方式自动管理其 ESXi 端口的路径使用。
使用此类存储系统时,主机无法识别存储上的多个端口,且无法选择要连接的存储端口。这些系统提供了一个虚拟端口地址,供您主机用于初始通信。在初始通信期间,存储系统可以重定向主机,使其与存储系统上的另一端口进行通信。主机中的 iSCSI 启动器遵守此重新连接请求,并连接到系统上的其他端口。存储系统使用此技术将负载分散在多个可用端口中。
如果 ESXi 主机与其中某一端口断开连接,则会自动尝试重新连接存储系统的虚拟端口,且应重定向到可用的活动端口。此重新连接和重定向将会快速完成,且通常不会中断正在运行的虚拟机。这些存储系统也可请求 iSCSI 启动器重新连接到系统,以更改其连接的存储端口。这样可以最有效地使用多个端口。
“端口重定向”图显示了端口重定向示例。主机尝试连接到 10.0.0.1 虚拟端口。存储系统将此请求重定向到 10.0.0.2。主机与 10.0.0.2 连接并使用此端口进行 I/O 通信。
如果存储系统上充当虚拟端口的端口变为不可用,则存储系统会将虚拟端口的地址重新分配给系统上的其他端口。“端口重新分配”显示了此类端口重新分配的示例。在这种情况下,虚拟端口 10.0.0.1 变为不可用,且存储系统会将虚拟端口 IP 地址重新分配给其他端口。第二个端口将响应两个地址。
借助这种基于阵列的故障切换形式,仅当使用 ESXi 主机上的多个端口时,才能拥有多个存储路径。这些路径为主动-主动路径。有关其他信息,请参见管理 ESXi 主机上的 iSCSI 会话。
路径故障切换和虚拟机
路径发生故障后,存储 I/O 可能会暂停 30-60 秒,直到主机确定链路不可用并且执行故障切换为止。如果尝试显示主机、主机存储设备或适配器,操作可能会停止。虚拟机(其磁盘安装在 SAN 上)可能变得没有响应。故障切换后,I/O 恢复正常,且虚拟机继续运行。
当故障切换需要很长时间时,Windows 虚拟机可能会中断 I/O 并最终出现故障。为了避免出现此故障,请将 Windows 虚拟机的磁盘超时值至少设置为 60 秒。
要在路径故障切换过程中避免中断,增加 Windows 客户机操作系统上的标准磁盘超时值。
此过程说明了如何使用 Windows 注册表更改超时值。
- 选择 。
- 键入 regedit.exe,然后单击确定。
- 在左侧面板层次结构视图中,双击 。
- 双击 TimeOutValue。
- 将数据值设置为 0x3c(十六进制)或 60(十进制),然后单击确定。
进行此更改后,Windows 将至少等待 60 秒,以便延迟的磁盘操作完成,然后才会生成错误。
- 重新引导客户机操作系统以使更改生效。