所以这就是场景,我希望@Chopper3 可以在这里插话。对于我们的 SAN 结构,我们有一对 Cisco MDS 9513 FC 交换机,其中包含三个 EMC 框架和四个直接连接的 Cisco UCS 域。
我们看到的行为是刀片上的 CNA 正在发送 FC 中止,因为交换矩阵互连传输 FCoE 暂停帧。Cisco TAC 解释这种行为是上游拥塞或延迟的结果。我们确实看到来自环境中 200 台左右 ESXi 服务器的数据出现相应的峰值,报告延迟峰值从 100 毫秒到 2000 毫秒。一些框架和路径似乎比其他框架和路径更受打击,这让我相信我们正在热点一个或多个链接。
刀片是 B200M2、B200M3 和 B420M3 服务器,使用。M2 系列使用“Palo”适配器 M81KR,M3 系列使用 VIC1240 适配器。
由于我对 FC 的了解不是太深,我会很感激一些关于如何追捕这个问题的建议。
所以这是关于这个的故事:
我从错误的角度看待它。适配器中止正常症状,表明某处的某些组件没有跟上。在这种情况下,适配器中止是 SAN 前端端口太忙而无法为请求提供服务的症状。一些不同的条件使情况更加复杂。
1) 错误的驱动程序 - 我们的 UCS 固件级别规定了 ESXi 中的匹配驱动程序,该驱动程序已知从中止恢复的问题,将其发送到只能通过重新引导清除的循环。
2) 变量太多 - 三个 SAN,三个不同的问题都由适配器中止表示。
3) SAN 错误 - 由于我们的 EMC VNX 代码中的错误导致问题,我们不得不禁用 VAAI。
2015年编辑:
我想更新这个帖子,因为很多新信息也已经曝光,而且检测很好,很难。我希望这篇文章能引导一些人朝着正确的方向前进。
1)以上所有内容实际上仍然相关,尽快将所有这些平方并放入支持矩阵中。
2) 某些 UCS 2.1 版本意外关闭(尽管 NXOS 仍被配置为执行此操作)优先级流量控制,这会导致某些 FCoE 流量像其他流量一样被处理,因此有时会出现乱序 FC 帧。
3) 在 UCS 2.1 代码中间的某个地方,IO Throttling 设置从装饰字段变为活动字段。旧的“烧入”固件设置是 256 的 IO Throttle 计数,所有主机都非常使用它,尽管 Windows 驱动程序确实允许您调整它。在这段代码中间的某个地方,用于将“256”安装到硬件中的原始默认值“16”变成了无效设置,UCSM 代码开始将其解释为“2048”,即最大值。结果是,单个 UCS VIC 适配器被配置为绝对破坏我们的存储阵列。
因此,请阅读您的发行说明。吸取教训,我们终于解决了这个问题。
IO 节流错误:https ://tools.cisco.com/quickview/bug/CSCum10869
PFC 错误:https ://tools.cisco.com/quickview/bug/CSCus61659