ESXi 循环 PSP(路径选择插件)使用循环算法平衡所有活动存储路径中分布的负载。将选择并使用一个路径,直至传送了特定数量的数据。达到这一数量后,PSP 选择列表中的下一个路径。
触发路径更改的这一数量称为限制。
ESXi 循环 PSP 支持两种类型的限制:
- IOPS 限制:循环 PSP 默认使用 IOPS 限制值 1000。在此默认情况下,发出 1000 个 I/O 操作后使用新路径。
- 字节数限制:字节数限制可由 IOPS 限制替代。字节数限制允许在传送的字节数达到指定值后切换路径。
调整限制对性能有正面影响,其他存储供应商建议采用此方法将 IOPS 限制改为 1。
示例:
默认每秒 1000 次输入/输出操作 (IOPS) 在沿着每个路径方向发送 1000 个 I/O 后切换路径。如果负载的情况是,1000 IOPS 中的一部分即可使路径的带宽达到饱和,则即使存储阵列可以为请求提供服务,其余 I/O 也必须等待。IOPS 限制或字节数限制可以向下调整,以便在某个出现频率更高的传输率切换路径。调整功能允许在其他路径当前达到饱和时使用其他路径的带宽。
调整 IOPS 参数
要将 IOPS 参数从默认值 1000 调整为 1,请运行以下命令:
在 ESXi 5.x/6.x 中:
for i in `esxcfg-scsidevs -c |awk '{print $1}' | grep naa.xxxx`; do esxcli storage nmp psp roundrobin deviceconfig set --type=iops --iops=1 --device=$i; done
其中.xxxx 与您的 naa ID 的前几个字符匹配。
要验证是否应用了更改,请运行以下命令:
esxcli storage nmp device list
您会看到类似以下内容的输出:
Path Selection Policy: VMW_PSP_RR
Path Selection Policy Device Config: {policy=iops,iops=1,bytes=10485760,useANO=0;lastPathIndex=1: NumIOsPending=0,numBytesPending=0}
Path Selection Policy Device Custom Config:
Working Paths: vmhba33:C1:T4:L0, vmhba33:C0:T4:L0
在 ESXi 4.x 中:
for i in ` esxcfg-scsidevs -c |awk '{print $1}' |grep naa.xxxx ` ;do esxcli nmp roundrobin setconfig --device=$i --type=iops --iops=1; done
其中,.xxxx与您的 naa ID 的前几个字符匹配。
要验证是否应用了更改,请运行以下命令:
esxcli nmp device list
您会看到类似以下内容的输出:
Path Selection Policy: VMW_PSP_RR
Path Selection Policy Device Config: {policy=iops,iops=1,bytes=10485760,useANO=0;lastPathIndex=0: NumIOsPending=0,numBytesPending=0}
Working Paths: vmhba33:C0:T1:L0
注意:无需重新启动主机,更改即可生效。