。
ESX/ESXi默认情况下提供的 VMkernel 多路径插件是 VMware 本机多路径插件 (NMP)。NMP 是管理子插件的可扩展模块。NMP 子插件有两种类型,即存储阵列类型插件(SATP) 和路径选择插件 (PSP)。SATP和PSP可以是 VMware 提供的内置插件,也可以由第三方提供。ESX原生PSP提供固7定模式(FIX)、循环模式(RR)和最近使用(MRU)三种路径选择方式 。
Mac OS X
Mac OS X通常使用HBA卡自带多路径软件,其中ATTO FC HBA卡是苹果主机上最常用的FC HBA卡(两者结合较为紧密)。ATTO MulitPath Director就是ATTO FC HBA卡提供的多路径驱动,具备IO路径切换和负载均衡功能。ATTO MulitPath Director同时支持IALUA和EALUA。
主机通过ALUA方式连接阵列时,不需要做任何特殊设置,MulitPath Director在标准查询页中发现TPGS支持后,会下发RTPG命令获取路径信息。MulitPath Director支持SCSI协议定义的四种状态,其中Active/Optimized路径作为优先路径,Active/Unoptimized以及Standby路径作为备选路径,Unavailable状态处理Disable状态。当Active/Optimized路径故障时,Active/ Unoptimized路径会立即被置为Active状态。
ALUA主要功能和能力
IO路径选择: 在ALUA模式下,主机只会对A/O路径下发IO,即对LUN工作控制器下发IO。只有当A/O路径不存在时,IALUA的主机多路径会对A/N路径下发IO,阵列将IO重定向到LUN工作控制器。
内部错误处理: 在某些错误场景下,单个LUN在单边控制器不可访问情况,这些内部错误可以转化为ALUA端口组状态,隐藏内部错误的差异,通过统一共用的接口暴露给主机。这样做的好处在于,可确保错误不扩散,提高多路径可靠性。
路径故障和恢复: 路径故障包括光纤、HBA卡、交换机等故障,如果故障发生在LUN 的A/O路径上,且没有可用A/O路径时, IALUA会通过A/N路径下发IO,EALUA则将A/N路径切换为A/O路径。如果故障发生在A/N路径上,IO行为不受影响。
故障路径恢复后,对于EALAU方式的连接,需要在CLI模式下确认受影响的LUN的工作控制器和归属控制器是否一致,如果不一致,需要手工将工作控制器切换到归属控制器侧,以确保LUN的负载均衡。
控制器故障和恢复: 如果控制器发生故障时,阵列内部系统流程会自动将故障端LUN的工作控制器Failover到对端,同时会通过UA状态知会主机路径状态变化。控制器故障恢复后,阵列内部系统流程会自动将受影响的LUN进行Failback。