何时需要按订单交付( IOD )以及如何设置?
不可不使用
适用场景
- SAN
- FlexPod
- SolidFire 所有闪存阵列
- E 系列所有阵列
- SolidFire Element 操作系统
- 集群模式 Data ONTAP 8
- Data ONTAP 7 及更早版本
问题解答
本文不适用于 MetroCluster 后端配置。有关 MetroCluster 中支持 OOD 的信息和支持的配置,请查看 MetroCluster 安装和配置指南。 |
什么是订单内交付( IOD )?
帧的传输顺序在交换机中保持不变,并由有效的路由策略确定。每个路由策略的帧传输行为包括:
- 基于端口的路由
在发往目标域的传入端口上接收到的所有帧都保证按照接收到的相同顺序退出交换机。 - 基于 Exchange 的路由
在给定交换器的传入端口上接收到的所有帧都保证按照接收到的相同顺序退出交换机。由于为不同的交换选择了不同的路径、因此此策略不会在不同的交换间保持帧的顺序。
如果光纤网络中的一台交换机提供无序交换、则无论在结构中的其他交换机上配置了何种策略、交换机都将按顺序交付到目标无序交换。
在稳定的结构中、即使交换机之间的流量在多条路径之间共享时、帧也始终按顺序传送。但是,当网络结构中发生拓扑更改(例如,如果链路发生故障)时、流量会围绕故障重新路由、某些帧可能会无序传输。大多数目标设备都允许无序交付、但有些设备不允许。默认情况下、允许基于帧的无序传输以最小化丢弃的帧数。启用按顺序交付( IOD )可确保按顺序交付或丢弃帧。只有在结构中包含的目标设备不能允许偶尔无序传输帧时、才可以在拓扑更改之间强制按顺序传输帧。
IOD 如何工作?
要更详细地了解 IOD 、我们需要讨论几个概念:
- 光纤通道首先使用结构最短路径 (FSPF) 来确定路径可用性。在拓扑路由更改期间、新路径可能比前一路径更快或更不拥挤。这可能导致帧的无序交付。请记住,链路聚合更改也会导致选择新路由。路径更改也可能取决于动态负载共享(动态负载共享)等设置。
- 发起方与目标方之间的光纤通道会话称为会话。会话由帧 --> 序列 --> 交换组成。考虑这些部分的另一种方法是:
- 框架 ~ 字
- 序列 ~ 句子
- 此处的 Exchange ~ 对话
是一个直观的示例,用于说明这一点:
- Exchange 定义: Exchange 描述了 n_ports (节点)之间的操作请求和响应。Exchange 的组成部分包括:
- 发起方交换 ID ( OX_ID )、请求的 N_Port
- 响应方交换 ID ( RX_ID )、响应的 N_Port
在任何一对 N_Port 之间存在一个交换
。不同的 N_Port 对之间可能同时存在多个交换
有关帧、序列和交换如何协同工作的详细信息、请查看此处的资料: Fabric 最短路径优先 (FSPF) —一种链路状态帧路由协议、支持在等价路径之间对流量进行负载平衡。
FSPF 可以使用三种不同的机制来实现负载平衡:
- 循环。
- 基于 Exchange ( OXID )—源 ID 、目标 ID 和 Exchange ID
- 在稳定的结构中、帧在交换中按顺序传送
- 基于流量 / 基于端口的源 ID 和目标 ID (可以是 FCID 或物理端口)
- 在稳定的结构中、帧在单个交换中按顺序传送。两个交换可以使用不同的路径、从而可能导致无序帧。
当 IOD 打开时、以下情况适用于结构:
- 要求 FSPF 使用基于流量 / 基于端口的负载平衡
- 使用旧路径的帧在接受新帧之前会被传送
- 在旧路径满足停用期之前、不会添加新路由吗?按住等于 E_D_TOV =2000 毫秒(默认值)
- 在交换机延迟丢弃期间内通过旧路径传输的帧会被丢弃
- Cisco 默认值的删除时间为 500 毫秒
- Brocade 默认的丢弃周期为 650 毫秒
- 新帧将在交换机延迟中断期结束后通过新路径传输
关键事实和默认设置:
- 默认情况下,负载平衡基于所有 Cisco 交换机上的 Exchange ID 以及使用不同、等价路径的 4 Gbps Brocade 交换机。
- Brocade 2 Gbps 及以下交换机只能在不使用链路聚合的情况下进行源 / 目标 ID 路由
- 默认情况下, Cisco 和 Brocade 交换机上的 IOD 设置为关闭。但是,即使没有启用此设置、 IOD 也能在 Exchange 中的稳定结构上得到保证。
何时需要 IOD ?
在光纤网络中具有多个交换机间链路( ISL )的 V 系列 MetroCluster 或 FC 上的 SnapMirror ( SMFC )环境中、 FC VI 流量可以通过多个 ISL (没有专用于 FC-VI 的单个 ISL )传输时、 FC VI 需要 IOD 。可以在《 MetroCluster 安装和配置指南》中找到例外情况。
需要专用后端交换机的新 V 系列环境不需要这些设置。
使用光纤通道节点的 NetApp SolidFire 存储集群也需要 IOD 。
如何在交换机结构上启用 IOD ?
- 将负载平衡方案设置为 src-dst-id ( aptpolicy1|2 )
- 要求启用 IOD 保证。
- Brocade : IODSET (周期性显示、周期性复位)
- Cisco :在 VSAN 中或全局禁用
- Brocade 要求在链接聚合中的链路内禁用动态负载平衡( DLSSReset 、 DLSSET 、 DLSSShow )。这不适用于 Cisco 。
如果帧不按顺序发送,我会看到什么症状?
在文件管理器控制台上显示 QLogic FCVI 适配器重设错误信息。
错误: QLogic VI FC 适配器: isa_cs_vi_error vinum = 0x3 state = 0x3 code = 0x6
注:如果帧为,则可以生成错误代码 = 0x6 的此消息 …
- 收到的订单不在订单中
- 已丢弃在结构中
- 已弃用 FC-VI 卡
只能上传 .csv 或 .txt 文件如 (2) 和 (3) 中所述丢弃的帧与 IOD 设置无关。
这些设置不适用于需要专用后端交换机的光纤 MetroCluster 环境( V 系列和 FAS ),也不会在其中进行测试。如果交换机是根据 NOW 站点上发布的“光纤 MetroCluster 交换机配置”配置的、则不会在这些环境中出现无序交付。
确定是否设置 IOD
查看和更改此参数:
- 输入
iodShow
命令查看当前 IOD 设置。
将显示以下消息之一:IOD is set
—启用“按订单交付”( IOD )选项。这将在结构拓扑更改期间强制按顺序传送帧。IOD is not set
- 关闭“按订单交付”( IOD )选项。此命令可能会在结构拓扑更改期间导致帧无序传输。
- 输入
iodSet
命令以启用按顺序交付。 - 输入
iodReset
命令以禁用按顺序传送。
示例:
switch:admin> iodshow
IOD is set
switch:admin> configshow "route.d"
route.delayReroute:1
switch:admin> iodreset
Committing configuration...done.
switch:admin> iodshow
IOD is not set
switch:admin> configshow "route.d"
route.delayReroute:0
追加信息
不适用