为管理多路径,ESXi 使用特殊的 VMkernel 层(即,可插入存储架构 (PSA))。PSA 是一个开放的模块化框架,用于协调负责多路径操作、VMware NMP、VMware HPP 和第三方 MPP 的各种软件模块。
VMware 提供了通用本机多路径模块:VMware NMP 和 VMware HPP。此外,PSA 还提供了一组第三方开发人员可以使用的 VMkernel API。软件开发人员可以为特定的存储阵列创建自己的负载均衡和故障切换模块。这些第三方多路径模块 (MPP) 可以安装在 ESXi 主机上,并独立于 VMware 本机模块运行,或作为其替换项运行。
当协调 VMware 本机模块和安装的任何第三方 MPP 时,PSA 将执行以下任务:
- 加载和卸载多路径插件。
- 从特定插件隐藏虚拟机细节。
- 将特定逻辑设备的 I/O 请求路由到管理该设备的 MPP。
- 处理逻辑设备的 I/O 排队操作。
- 在虚拟机之间实现逻辑设备带宽共享。
- 处理物理存储 HBA 的 I/O 排队操作。
- 处理物理路径发现和移除。
- 提供逻辑设备和物理路径 I/O 统计信息。
如“可插入存储架构”图所示,多个第三方 MPP 可以与 VMware NMP 或 HPP 并行运行。安装时,第三方 MPP 可以替换本机模块的行为。MPP 可以控制指定存储设备的路径故障切换和负载均衡操作。
多路径概念和缩写
多路径概念 | 缩写形式 | 定义 |
---|---|---|
可插入存储架构 | PSA | PSA 是开放式模块框架,用于协调负责多路径操作的各种软件模块。这些模块包括 VMware 提供的通用多路径模块、NMP 和 HPP,以及第三方 MPP。 |
本机多路径插件 | NMP | NMP 是 ESXi 默认情况下提供的 VMkernel 多路径模块,用于 SCSI 存储设备。NMP 将物理路径与特定存储设备相关联,并基于阵列类型提供了默认路径选择算法。NMP 是可扩展的,可管理其他子模块,即名为路径选择策略 (PSP) 和存储阵列类型策略 (SATP) 的子模块。PSP 和 SATP 可由 VMware 或第三方提供。 有关详细信息,请参见VMware 本机多路径插件。 |
路径选择插件 | PSP | PSP 是 VMware NMP 的子模块。PSP 负责为 SCSI I/O 请求选择物理路径。 有关详细信息,请参见VMware 路径选择插件和策略。 |
存储阵列类型插件 | SATP | SATP 负责对 SCSI 存储阵列执行特定于阵列的操作。SATP 可判断某个特定于阵列的路径的状态、执行路径激活,并检测任何路径错误。 有关详细信息,请参见VMware SATP。 |
多路径插件 | MPP(第三方) | PSA 提供了第三方用于创建自己的多路径插件 (MPP) 的 VMkernel API 集合。模块为特定存储阵列提供特定的负载均衡和故障切换功能。MPP 可以安装在 ESXi 主机上。它们可以作为 VMware 本机模块的补充插件运行,或作为其替代插件运行。 |
本机高性能插件 | HPP | HPP 替换了高速设备(例如 NVMe)的 NMP。HPP 可以提高安装在 ESXi 主机本地的超快速闪存设备的性能,并且是声明 NVMe 目标的默认插件。 有关信息,请参见VMware 高性能插件和路径选择方案。 |
路径选择方案 | PSS | 为了支持多路径,HPP 使用路径选择方案 (PSS)。特定 PSS 负责为 I/O 请求选择物理路径,并处理 NVMe 存储设备的多路径。 有关信息,请参见VMware 高性能插件和路径选择方案。 |
声明规则 | PSA 使用声明规则确定哪个插件拥有通往特定存储设备的路径。请参见使用声明规则控制 ESXi 多路径模块。 |