何时需要按订单交付( IOD )以及如何设置?
不可不使用
适用场景
- SAN
- FlexPod
- SolidFire全闪存阵列
- E系列所有阵列
- NetApp Element软件
- 集群模式Data ONTAP 8.
- Data ONTAP 7及更早版本
问题解答
本文不适用于MetroCluster后端配置。有关在MetroCluster中支持ood的信息和支持的配置、请查看 《 MetroCluster安装和配置指南》。 |
什么是按顺序交付(IOD)?
帧的传输顺序在交换机中保持不变、并由有效的路由策略决定。每个路由策略的帧传输行为如下:
- 基于端口的路由
通过传入端口接收到并发往目标域的所有帧都保证按接收顺序退出交换机。 - 基于Exchange的路由
保证在给定交换的传入端口上接收到的所有帧都能按接收顺序退出交换机。由于为不同的交换选择了不同的路径、因此此策略不会在交换之间保持帧的顺序。
如果网络结构中的一个交换机提供无序交换、则无论网络结构中其他交换机上配置的策略如何、这些交换都将无序交付给目标。
在稳定的网络结构中、帧始终按顺序交付、即使交换机之间的流量在多个路径之间共享也是如此。但是、如果网络结构中发生拓扑更改(例如、链路断开)、则会围绕故障重新路由流量、某些帧可能会无序交付。大多数目标设备允许无序交付、但有些设备不允许。默认情况下、允许基于无序帧的交付、以最大限度地减少丢弃的帧数。启用按顺序交付(IOD)可确保按顺序交付或丢弃帧。只有当网络结构中的目标设备不允许偶尔无序帧传输时、才可以强制在拓扑发生更改时按顺序帧传输。
IOD如何工作?
要更详细地了解IOD、我们需要讨论几个概念:
- 光纤通道使用网络结构最短路径优先(Fabric Shortest Path First、FSPF)来确定路径可用性。在拓扑路由更改期间、新路径可能比上一路径更快或更少拥塞。这可能导致帧的交付无序。请注意、链路聚合更改也可以选择发生原因新路由。路径更改 也可能取决于动态负载共享(DLS)等设置。
- 发起端和目标端之间的光纤通道对话称为会话。会话由"帧"->"序列"->"交换"组成。考虑这些部分的另一种方法是:
- 帧~字
- 序列~句子
- Exchange ~对话
下面是一个直观的例子来说明这一点: - Exchange定义:Exchange描述N_ports (节点)之间的操作请求和响应。交易所的组成部分包括:
- 发起方交换ID (ox_ID)、即请求的N_port
- 响应者交换ID (Rx_ID)、响应N_port
在任何一对N_port之间存在单个
交换在不同的N_port对之间可能同时存在多个交换
有关帧、序列和交换如何协同工作的详细信息,请查看此处的材料: 网络结构 最短 路径 优先 (FSPF) - 一种 链 路状态帧路由 协议 , 支持 对 等成本 路径之间的流量进行负载平衡。
FSPF可以使用三种不同的机制来实现负载平衡:
- 轮循
- 基于Exchange (OXID)-源ID、目标ID和Exchange ID
- 在稳定的网络结构中、帧会在交换中按顺序交付
- 基于流量/基于端口-源ID和目标ID (可以是FCID或物理端口)
- 在稳定的网络结构中、帧会在单个交换中按顺序交付。两个交换可能使用不同的路径、从而 可能导致帧无序。
当IOD处于打开状态时、以下适用场景将对网络结构执行此操作:
- 需要FSPF才能使用基于流量/基于端口的负载平衡
- 使用旧路径的帧会在接受新帧之前交付
- 在旧路径 â??上达到保留期限之前、不会添加新路由按住等于E_D_TOV = 2000 ms (默认)
- 在交换机延迟丢弃期内通过旧路径传送的帧会被丢弃
- Cisco默认的下降周期为500毫秒
- 下降周期Brocade默认值为650毫秒
- 交换机延迟丢弃期过后、新帧将通过新路径传输
关键事实和默认设置:
- 默认情况下、如果使用不同的等成本路径、则负载平衡基于所有Cisco交换机和4 Gbps Brocade交换机上的Exchange ID。
- Brocade 2 Gbps及以下交换机仅支持源/目标ID路由、不支持链路聚合
- 默认情况下、Cisco和Brocade交换机上的IOD设置处于关闭状态。但是、即使未启用此设置、也可以保证在Exchange中的稳定网络结构上使用IOD。
何时需要IOD?
在V系列MetroCluster或基于FC的SnapMirror (SmoFC)环境中、如果网络结构中有多个交换链路(Intersw发现 链路、ISL)、则FVI需要IOD、而在这种环境中、FC-VI流量可以通过多个ISL (没有专用于FC-VI的单个ISL)传输。例外情况可在 《MetroCluster安装和配置指南》中找到。
需要专用后端交换机的新V系列环境不需要这些设置。
使用光纤通道节点的NetApp SolidFire存储集群也需要IOD。
如何在交换机网络结构上启用IOD?
- 将负载平衡方案设置为src-dst-id (AptPolicy 1|2)
- 需要启用IOD保证。
- Brocade:iodset (iodShow、iodReset)
- Cisco:在VSAN中禁用或全局禁用
- Brocade要求禁用链路聚合中链路内的动态负载平衡(dlsReset、dlsSet、dlsShow)。这不适用于Cisco。
如果帧交付无序、我会看到哪些症状?
文件管理器控制台上显示QLogic FCVI适配器重置错误消息。
错误:QLogic VI FC适配器:ISP CS_VI_ERROR Vinum = 0x3 state = 0x3 code = 0x6
注意:如果帧为、则可能会生成错误代码为0x6的消息 …
- 收到无序
- 在网络结构中丢弃
- 已在FC-VI卡上丢弃
仅(1)是真正的无序状态。按照(2)和(3)中所述丢弃的帧与IOD设置没有关系。
这些设置不适用于需要专用后端交换机的Fabric MetroCluster环境(V系列和FAS)、也不会在其中进行测试。如果根据NOW站点上发布的"Fabric 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
追加信息
不适用