VMware ESX/ESXi 使用NETAPP存储 FCP Partner Path Misconfigured 报错处理
在VMware ESX/ESXi 使用NETAPP存储时,存在多路径访问存储lun的情况下如果配置不当极易引起报错:
[hostname: scsitarget.partnerPath.misconfigured:error]: FCP Partner Path Misconfigured - Host I/O access through a non-primary and non-optimal path was detected.
这个主要是因为ESX主机在访问lun时使用了非主路径造成的,就如下图这种情况:

从上图来看我们可以看到这个lun在主机上实际是有2个访问路径的,一个是通过lun所在的机头访问的主路径,另一个是Partner机头的备用路径。
如果是更加高可用的采用2个机头各自使用2个光纤交叉连接至2个交换机的方式,那么每个lun在主机上对应的访问路径将会有4个,其中2个是主路径,2个是备用路径。
那么在ESX中是如何来选择多路径的呢,这里也介绍下ESX的多路径选择机制。
首先ESX会判断存储的类型,主要是A/P主-被、A/A主-主、ALUA主-被和非对称主-主这几种。
对应不同的存储类型ESX会使用不同的默认路径选择方式:
最近使用(VMW_PSP_MRU):选择最近用于访问指定设备的路径。如果此路径不可用,则会切换到替代路径并在该新路径可用时继续使用它。MRU是主-被阵列(A/P- Active/Passive)的默认路径策略。
固定(VMW_PSP_FIXED):使用指定首选路径(如果已配置)。否则,它将使用在系统引导时间发现的第一个工作路径。如果主机不能使用首选路径,则它会选择随机替代可用路径。一旦首选路径可用,主机便会恢复到首选路径。“固定”是主-主阵列(A/A – Symmetric Active/Acivie)的默认路径策略。
VMW_PSP_FIXED_AP:将“固定”功能扩展到主动-被动阵列和非对称主-主(ALUA – Asymmetric Active/Active)阵列。
循环(VMW_PSP_RR) :使用路径选择算法轮流选择所有可用的活动路径,并在路径之间启用负载平衡。
根据我管理的系统中2台NETAPP的存储在ESX中均被识别为:VMW_SATP_DEFAULT_AA,就是A/A主-主类型,所以他默认使用的是 固定(VMW_PSP_FIXED)。
那么问题就在这里了,由于固定(VMW_PSP_FIXED)方式的路径选择,ESX将会选用第一个发现的路径作为首选路径来使用,但是有些时候这往往不是主路径,所以就导致了Host I/O access through a non-primary and non-optimal path was detected.的报错。
这个时候就需要手工调整首选路径了,那么如何来确定什么路径才是主路径呢?
1.首选确定目标lun所在的机头
这个我想不用多说了
2.连上目标lun所在的机头确认FC Nodename和Portname
FAS2050A> fcp show adapters
Slot: 0a
Description: Fibre Channel Target Adapter 0a (Dual-channel, QLogic 2432 (2462) rev. 2)
Adapter Type: Local
Status: ONLINE
FC Nodename: 50:0a:09:80:88:8c:82:35 (500a0980888c8235)
FC Portname: 50:0a:09:81:88:8c:82:35 (500a0981888c8235)
Standby: No
Slot: 0b
Description: Fibre Channel Target Adapter 0b (Dual-channel, QLogic 2432 (2462) rev. 2)
Adapter Type: Local
Status: ONLINE
FC Nodename: 50:0a:09:80:88:8c:82:35 (500a0980888c8235)
FC Portname: 50:0a:09:82:88:8c:82:35 (500a0982888c8235)
Standby: No
根据上例返回的信息,这个机头有2个hba卡,在esx看到的目标路径就是Nodename Portname,这个的2个目标路径就是
50:0a:09:80:88:8c:82:35 50:0a:09:81:88:8c:82:35
50:0a:09:80:88:8c:82:35 50:0a:09:82:88:8c:82:35
3.知道了目标路径后打开esx存储适配器手工指定目标lun的首选路径

本图由于有4个路径分表是其中有2个目标路径对应lun所在机头的2个hba卡,可以根据实际情况手工指定不同的hba卡分流流量。
如何检测调整的效果
1. lun stats -o 查看Partner Ops 和 Partner KBytes 字段,可以直观的以lun列表的形式查看,如果是调整后可以使用lun stats -z清空统计数据。
2. sysstat -b 1 查看Partner字段,可以直观的以实时监控的形式查看。
如果上述字段为非0那就说明有Host I/O access through a non-primary and non-optimal path的情况。