默认情况下,ESXi提供名为本机多路径插件 (NMP) 的可扩展多路径模块。

一般来说,VMware NMP 支持 VMware 存储 HCL 上列出的所有存储阵列,并基于阵列类型提供默认的路径选择算法。NMP 将一组物理路径与特定存储设备或 LUN 关联。

对于其他多路径操作,NMP 将使用被称为 SATP 和 PSP 的子模块。NMP 向 SATP 委派为设备处理路径故障切换的特定详细信息。PSP 为设备处理路径选择。

通常情况下,NMP 会执行以下操作:
  • 管理物理路径声明和取消声明。
  • 注册和取消注册逻辑设备。
  • 将物理路径与逻辑设备关联。
  • 支持路径故障检测和修复。
  • 处理逻辑设备的 I/O 请求:
    • 为请求选择最佳物理路径。
    • 执行处理路径故障和 I/O 命令重试的必要操作。
  • 支持管理任务,如重置逻辑设备。
ESXi自动为您使用的阵列安装相应的 SATP。您不需要获取或下载任何 SATP。

VMware NMP I/O 流

当虚拟机向 NMP 管理的存储设备发出 I/O 请求时,将发生以下过程。

  1. NMP 调用分配给此存储设备的 PSP。
  2. PSP 将选择要通过其发出 I/O 的相应物理路径。
  3. NMP 在 PSP 选择的路径上发出 I/O 请求。
  4. 如果 I/O 操作成功,则 NMP 报告其完成。
  5. 如果 I/O 操作报告错误,则 NMP 调用适当的 SATP。
  6. SATP 解释 I/O 命令错误,并在适当时激活非活动路径。
  7. 此时将调用 PSP 以选择要通过其发出 I/O 的新路径。

显示多路径模块

使用esxcli命令列出已加载到系统中的所有多路径模块。多路径模块管理将主机与存储相连的物理路径。 这些模块包含 VMware 本机 NMP 和 HPP,以及任何第三方 MPP。

前提条件

安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell中运行 esxcli 命令。

过程

  • 要列出多路径模块,请运行以下命令:
    esxcli storage core plugin list --plugin-class=MP

结果

此命令通常显示 NMP,如果已加载,则显示 HPP 和 MASK_PATH 模块。如果已加载任何第三方 MPP,也会将它们一并列出。

Plugin name  Plugin class
-----------  ------------
NMP          MP

有关此命令的详细信息,请参见《《ESXCLI 概念和示例》》和《《ESXCLI 参考指南》》文档。

显示 NMP 存储设备

使用 esxcli命令列出由 VMware NMP 控制的所有存储设备,并显示与每个设备关联的 SATP 和 PSP 信息。

前提条件

安装 ESXCLI。请参见《ESXCLI 入门》。要进行故障排除,请在 ESXi Shell中运行 esxcli 命令。

过程

  • 要列出所有存储设备,请运行以下命令:
    esxcli storage nmp device list

    使用 --device | -d=device_ID 参数筛选此命令的输出,以显示单个设备。

示例: 显示 NMP 存储设备

# esxcli storage nmp device list
mpx.vmhba1:C0:T2:L0
   Device Display Name: Local VMware Disk (mpx.vmhba1:C0:T2:L0)
   Storage Array Type: VMW_SATP_LOCAL
   Storage Array Type Device Config: SATP VMW_SATP_LOCAL does not support device configuration.
   Path Selection Policy: VMW_PSP_FIXED
   Path Selection Policy Device Config: {preferred=vmhba1:C0:T2:L0;current=vmhba1:C0:T2:L0}
   Path Selection Policy Device Custom Config:
   Working Paths: vmhba1:C0:T2:L0
   Is USB: false

......

eui.6238666462643332
   Device Display Name: SCST_BIO iSCSI Disk (eui.6238666462643332)
   Storage Array Type: VMW_SATP_DEFAULT_AA
   Storage Array Type Device Config: {action_OnRetryErrors=off}
   Path Selection Policy: VMW_PSP_FIXED
   Path Selection Policy Device Config: {preferred=vmhba65:C0:T0:L0;current=vmhba65:C0:T0:L0}
   Path Selection Policy Device Custom Config:
   Working Paths: vmhba65:C0:T0:L0
   Is USB: false

有关此命令的详细信息,请参见《《ESXCLI 概念和示例》》和《《ESXCLI 参考指南》》文档。