默认情况下,ESXi提供名为本机多路径插件 (NMP) 的可扩展多路径模块。
一般来说,VMware NMP 支持 VMware 存储 HCL 上列出的所有存储阵列,并基于阵列类型提供默认的路径选择算法。NMP 将一组物理路径与特定存储设备或 LUN 关联。
对于其他多路径操作,NMP 将使用被称为 SATP 和 PSP 的子模块。NMP 向 SATP 委派为设备处理路径故障切换的特定详细信息。PSP 为设备处理路径选择。
通常情况下,NMP 会执行以下操作:
- 管理物理路径声明和取消声明。
- 注册和取消注册逻辑设备。
- 将物理路径与逻辑设备关联。
- 支持路径故障检测和修复。
- 处理逻辑设备的 I/O 请求:
- 为请求选择最佳物理路径。
- 执行处理路径故障和 I/O 命令重试的必要操作。
- 支持管理任务,如重置逻辑设备。
VMware NMP I/O 流
当虚拟机向 NMP 管理的存储设备发出 I/O 请求时,将发生以下过程。
- NMP 调用分配给此存储设备的 PSP。
- PSP 将选择要通过其发出 I/O 的相应物理路径。
- NMP 在 PSP 选择的路径上发出 I/O 请求。
- 如果 I/O 操作成功,则 NMP 报告其完成。
- 如果 I/O 操作报告错误,则 NMP 调用适当的 SATP。
- SATP 解释 I/O 命令错误,并在适当时激活非活动路径。
- 此时将调用 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 参考指南》》文档。