跳转到主内容
NetApp Response to Russia-Ukraine Cyber Threat
In response to the recent rise in cyber threat due to the Russian-Ukraine crisis, NetApp is actively monitoring the global security intelligence and updating our cybersecurity measures. We follow U.S. Federal Government guidance and remain on high alert. Customers are encouraged to monitor the Cybersecurity and Infrastructure Security (CISA) website for new information as it develops and remain on high alert.

LACP 端口通道 / 接口组故障排除

Views:
248
Visibility:
Public
Votes:
2
Category:
not set
Specialty:
network
Last Updated:

适用于

网络交换机

解答

如果这会影响您的系统,请检查 Active IQ

什么是端口通道组?

端口通道组是一组聚合在一起的多个物理以太网端口,用于提高聚合吞吐量和 / 或提高网络弹性。它也称为 EtherChannel 、中继、端口捆绑或 LACP 。电气和电子工程师协会( IEEE )定义了端口通道组的标准、并指定为 802.3ad 和 802.3ad ;而端口通道组通常指交换机端配置、 NetApp 则使用术语“interface groups / ifgrp”或虚拟接口的原有名称( VIF )。NetApp 方面的接口组分为三种。

  • SystemID : LAG 中的每个成员将在其 LACPDU 中发送系统 ID 。文件管理器的所有成员端口均应发送相同的系统 ID ,以表示只有一个逻辑设备连接至交换机。同样,每台交换机的成员端口都应发送相同的 SystemID 。但是,交换机和文件管理器之间的系统 ID 可能会有所不同。

    • 如果成员端口未发送相同的系统 ID 、则其中一端尝试聚合 LACP 不支持的两个不同逻辑设备。例如,如果交换机上未配置虚拟端口通道( VPC ), Cisco Nexus 跨交换机链路聚合组可能会发送两个不同的系统 ID 。使用 vPC 配置链路聚合组时,会通知每台交换机发送相同的系统 ID 。 

      • 注意:请参见下面的 ifconfig -a 示例,其中显示了不匹配的系统 ID

  • 单模式:无交换机端配置、仅主动 / 被动配置、而不是端口通道组
  • 多模式:“静态”端口通道组。存储控制器和交换机使用一组端口进行硬编码、这些端口始终是端口通道组的成员。它的最佳性能低于多模式 LACP 、因为除非端口脱机(例如:未插入电缆)、否则存储控制器和交换机无法阻止单个端口加入端口通道组。

    如果使用此类端口通道组配置的设备布线不正确、则“静态”多模式端口通道组也不会意识到布线错误、并且会使用所有端口进行传输。然后,您应该会看到交换机报告的 CAM 表摆动(“交流摆动”)。此外,网络连接(如果已建立)将非常不一致。

    注:交换机管理员可能将静态端口通道组称为 LACP 、但“静态”多模式 Ifgrp 或端口通道组不使用 LACP 协议、这两个术语不能互换使用。

    Multimode_LACP:一种端口通道组模式,允许两个网络设备(例如交换机和 NetApp 存储控制器)通信和比较端口状态和参数。由于 LACP 是两个端口之间的通信(例如、服务器或客户端上的 NIC 端口及其插入的交换机端口)、 LACP 可以确认两个设备之间的通信是否成功。它允许任一参与者决定是否应使用端口通道组中的每个物理端口。这比“静态”多模式端口通道组更出色,因为它可以检测到一些与未插接或完全故障端口无关的情况。ONTAP 要求每个端口通道只能有一个 SystemID ,并且不能跨多个交换机跨接。

    LACP 端口中有两个“ modes ”操作:
  • 活动 LACP 端口始终参与 LACP 协商。如果相邻设备(电缆的另一端)中的接口未配置为 LACP 使用(主动或被动),则此端口将被禁用。
  • 如果电缆另一端的设备通过发送 LACP 控制数据包启动、则允许被动 LACP 端口参与 LACP 协商。
  • 所有 NetApp 存储控制器始终在“活动 LACP ”模式下运行。这是不可配置的。
    LACP 将在任何给定时间以两个“计时”之一运行:
  • “计时器不足”每 30 秒交换一次 LACP 控制数据包。
  • “快速计时器”每 1 秒交换一次 LACP 控制数据包。
  • 当端口初始启动时,大多数设备都将使用“快速计时器”。另外,在 LACP 经过正确协商且端口启动以供使用后、 LACP 不久将移至“ Low Timers ”(低计时器)。
    在多种情况下、 LACP 可以禁用端口通道的成员。
  • 如果网络设备停止从另一台设备接收更新、该端口最终将被禁用。这最多需要 90 秒(可能更少)。
  • 如果网络设备从相邻设备接收更新、但该更新包含不正确的信息、则网络设备可以禁用该端口。这将会检测到电缆错误的系统、并且可能在 90 秒内发生。
  • 如果网络设备收到的更新指示相邻端口不可用、则在收到 LACP 控制数据包时应立即禁用该端口。
  • 在某些情况下、设置为“被动”的交换机无法与存储控制器正确协商、即使默认情况下存储控制器设置为“主动”。
  • 在某些情况下、当存储控制器移动时、交换机可能不会移动到“低计时器”。这可以防止 LACP 将端口投入使用。

    注: LACP 只能确认两个相邻设备(例如: NIC 和交换机)之间是否直接通信。LACP 不会检测到任何其它故障、例如路由故障或不影响此端口的交换机中断。
谁创建端口通道组?

存储架构师和网络管理员必须协同工作以确保正确配置其端口通道组。如果未执行此集体验证,则网络基础架构可能面临风险。

为什么要了解端口通道组并对其进行故障排除?

配置错误的端口通道组的常见症状包括:间歇性连接、数据包丢失、意外冗余丢失和“ Flatkey ”网络连接。最好确保为强大的存储基础架构配置 100% 的端口通道组。

以下是配置错误的端口通道组的常见原因:

  • 网络交换机配置不正确。
  • 存储控制器 NIC 的电缆连接至错误的网络交换机端口。
  • 存储控制器上的 ifgrp 配置中指定了错误的端口。
  • 布线或硬件问题和 / 或以太网电缆或交换机端口 / 模块损坏。
  • 在某些环境中,可能必须将交换机配置为仅使用“低计时器”和“活动 LACP ”

如何对 LACP 端口通道组进行故障排除?

本节介绍了为存储架构师排除 LACP 端口通道组故障时应遵循的步骤:查看接口组状态输出或ifgrp status。如果ifgrp status输出不正确,则需要进行一些更正。

对于 ONTAP 9.2 及更高版本,请考虑利用以下 KB 来排除故障:
如何使用 ONTAP 9.2+ 中的“ ifconfig – v ”来解决 LACP 问题

请考虑以下情形:

场景 1 —端口关闭

-------- IFGRP-STATUS --------
default: transmit 'IP Load balancing', Ifgrp Type 'multi_mode', fail 'log'
corp_lag1: 1 link, transmit 'IP Load balancing', Ifgrp Type 'lacp' fail 'default'
Ifgrp Status Up Addr_set
trunked: corp_ifgrp
up:
e13a: state up, since 26Feb2013 05:18:14 (4+19:01:01)
mediatype: auto-10g_sr-fd-up
flags: enabled
active aggr, aggr port: e13a
input packets 2965338456, input bytes 11151446739454
input lacp packets 13811, output lacp packets 414063
output packets 2518851712, output bytes 22373630536977
up indications 3, broken indications 0
drops (if) 0, drops (link) 0
indication: up at 26Feb2013 05:18:14
consecutive 0, transitions 3
broken:
e7a: state broken, since 26Feb2013 15:23:49 (4+08:55:26)
mediatype: auto-10g_sr-fd-down
flags: lacp enabled
input packets 0, input bytes 0
input lacp packets 1218, output lacp packets 36343
output packets 0, output bytes 0
up indications 4, broken indications 2
drops (if) 0, drops (link) 67
indication: broken at 26Feb2013 15:23:49
consecutive 0, transitions 6

这是一个端口通道组(具有单个工作端口)和一个实际关闭的端口的示例。正在工作的端口显示active aggr,这意味着它已成功加入链路聚合。 e7a在本例中,端口上的“ Tate Broked ”指示表示没有电缆插入端口。

场景 2 —端口布线不正确

corp_lag1: 1 link, transmit 'IP Load balancing', Ifgrp Type 'lacp' fail 'default'
Ifgrp Status Up Addr_set
trunked: corp_ifgrp
up:
e13a: state up, since 22Jan2013 15:07:01 (18+09:17:13)
mediatype: auto-10g_sr-fd-up
flags: enabled
active aggr, aggr port: e13a
input packets 18140836964, input bytes 52796851685561
input lacp packets 211121, output lacp packets 6332475
output packets 15346936943, output bytes 168979152263131
up indications 21, broken indications 9
drops (if) 0, drops (link) 0
indication: up at 22Jan2013 15:07:01
consecutive 0, transitions 30
lag_inactive:
e7a: state lag_inactive, since 22Jan2013 15:06:39 (18+09:17:35)
mediatype: auto-10g_sr-fd-up
flags: lacp enabled
input packets 582405, input bytes 1193956618
input lacp packets 211095, output lacp packets 6355756
output packets 19089029, output bytes 13102456660
up indications 15, broken indications 7
drops (if) 0, drops (link) 0
indication: lag_inactive at 22Jan2013 15:06:39
consecutive 0, transitions 22

此处的配置是相同的;但是e7a显示LAG_INACTIVE的不是“中断”。这表示存储控制器和交换机尚未同意与 LACP 相关的内容。一旦存储控制器确定 LACP 不支持使用此端口、链路将被标记为 lag_inactive 、表示链路在 "lag" (链路聚合组)中不是 "active" 。这种情况的最终结果是e7a  Data ONTAP 不会将端口用于流量、从而迫使所有流量都使用端口e13a。因此,不再存在冗余、弹性和潜在吞吐量提升。如果端口e13a也变为lag_inactive(对于前面提到的任何触发器)、则会ifgrp 将其移至非活动或脱机状态、并且不允许任何方向的通信。

在这种情况下,可以通过监控“输入 LACP 数据包”和“输出 LACP 数据包”计数器来收集有关原因的线索:

“输入 LACP 数据包”计数器监控从交换机收到的 LACP 控制 / 协商数据包数量。如果这种情况没有增加、则意味着交换机可能不会发送 LACP 数据包、或者该硬件正在丢弃所有收到的数据包。如果交换机配置为“静态”多模式ifgrp、则不会看到此计数器递增。

“输出 LACP 数据包”计数器监控存储控制器发送的 LACP 控制 / 协商数据包数量。如果端口处于“中断”以外的任何状态,则此值应始终递增

场景 3 —正确配置的 LACP Ifgrp

两个端口都有active aggr(忽略 aggr- 端口部分)。不应提及lag_inactive

配置类似于以下内容:

corp_lag2: 2 links, transmit 'IP Load balancing', Ifgrp Type 'lacp' fail 'default'
Ifgrp Status Up Addr_set
trunked: corp_ifgrp
up:
e7b: state up, since 26Feb2013 04:58:05 (4+19:12:27)
mediatype: auto-10g_sr-fd-up
flags: enabled
active aggr, aggr port: e13b
input packets 9493, input bytes 1177132
input lacp packets 13831, output lacp packets 415997
output packets 617618727, output bytes 2908794789546
up indications 3, broken indications 0
drops (if) 0, drops (link) 0
indication: up at 26Feb2013 04:58:05
consecutive 0, transitions 3
e13b: state up, since 26Feb2013 04:58:04 (4+19:12:28)
mediatype: auto-10g_sr-fd-up
flags: enabled
active aggr, aggr port: e13b
input packets 9494, input bytes 1177256
input lacp packets 13830, output lacp packets 414747
output packets 505651519, output bytes 4117402075645
up indications 3, broken indications 0
drops (if) 0, drops (link) 0
indication: up at 26Feb2013 04:58:04
consecutive 0, transitions 3

在此状态下、两个端口均列为“ Enabled ”(已启用)、“ Input LACP Packets ”(输入 LACP 数据包)和“ Output LACP Packets ”(输出 LACP 数据包)计数器应每 30 秒至少增加一个。

有关[1]配置 LACP 端口通道组的最佳实践、请参见技术报告 TR-3802 ;例如, Cisco Nexus 交换机上的语法。确保了解 NetApp 存储控制器所连接的端口、以便验证第 1 层是否符合预期。使用 Data ONTAP 的 Cisco 发现协议( CDP )功能可以帮助进行此验证。

节点 1> 选项 cdpd.enabled on
等待 60 分钟、 LLDP 轮询间隔成功。
节点 1 > cdpd show -n邻居

对于集群模式 Data ONTAP:

Cluster01::> node run -node Node1 options cdpd.enable on
Cluster01::> node run -node Node1 cdpd show-neighbors

 

注:对于当前一代 Cisco 实施方案,请考虑在vpc peer-gateway’端口通道配置上添加“设置”以确保与 NetApp FastPath 配置的最大兼容性(在 7- 模式和 cDOT 中默认为 ON )。适用于 7000 系列交换机的 NX-OS 4.2.1 和适用于 5500 系列交换机的 NX-OS 版本 5.0(3) N1(1) 中提供了此 VPC 对等网关声明。有关详细信息,请参见 Unable to Send Network Traffic over Cisco Nexus VPC with IP.FastPath Enabled KB 。

Additional Information

ifconfig -a 中的 "bad" 和 "good " 系统 ID 信息示例:(ONTAP 9.2+

请注意 " 滞后 ID" 相对于 3C-13-CC-6F-D8-08... 这在 "lagport" 下的每个分段上都应相同。  例如,当查看 e0f (关闭端口)时,它会显示 80-2D-BF-3A-A4-7F... 这应与 " 滞后 ID" 下列出的内容相同 - 3C-13-CC-6F-D8-08 。  "lagport : e0e" 显示正确的系统 ID - 3C-13-CC-6F-D8-08

a0a: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
   options=6407bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
   ether d2:39:ea:21:e8:f4
   laggproto lacp lagghash l3
   lagg options:
      flags=1<USE_FLOWID>
      flowid_shift: 16
   lagg statistics:
      active ports: 3
      flapping: 0
   lag id: [(8000,D2-39-EA-21-E8-F4,0032,0000,0000),
~~>       (8000,3C-13-CC-6F-D8-08,0001,0000,0000)]

   laggport: e0f flags=18<COLLECTING,DISTRIBUTING> state=3d<ACTIVITY,AGGREGATION,SYNC,COLLECTING,DISTRIBUTING>
      [(8000,D2-39-EA-21-E8-F4,0032,8000,0003),
~~>       (8000,80-2D-BF-3A-A4-7F,0001,8000,0108)]
      input/output LACPDUs: 13743 / 80819

      
   laggport: e0e flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> state=3d<ACTIVITY,AGGREGATION,SYNC,COLLECTING,DISTRIBUTING>
      [(8000,D2-39-EA-21-E8-F4,0032,8000,0004),
~~>       (8000,3C-13-CC-6F-D8-08,0001,8000,0108)]
      input/output LACPDUs: 13743 / 80789

客户更正了 vPC 设置后,这些系统 ID 将匹配

注意:下面的命令也可用于获取 LACP 的状态ONTAP 9.2+

::> node run -node <node> -command ifconfig -v

Scan to view the article on your device