如何在 AHV 主机上启用、禁用和验证 LACP

如何在 AHV 主机上启用、禁用和验证 LACP

如何在 AHV 主机上启用、禁用和验证 LACP

这是机器翻译的文章,请单击此处查看原始英文版本。

描述

本文将指导您如何在 AHV 主机上配置、启用、禁用和验证链路聚合控制协议 (LACP),具体操作如下:

有关更多信息,请参阅AHV 网络最佳实践指南i n Nutanix Portal 提供有关为 AHV 主机配置网络的完整文档。

LACP 的好处/优势

  • 具有多个 TCP 流的单个用户 VM 可以在具有两个 10 GB 适配器的AHV 节点中使用高达 20 Gbps 的带宽。
  • 流量哈希算法(例如 balance-TCP)可以以主动-主动方式在多个链路之间分配流量。由于上行链路显示为单个 L2 链路,因此该算法可以在绑定成员之间平衡流量,而无需考虑交换机 MAC 地址表。
  • 使用 LACP,到单独物理交换机的多个链路显示为单个第 2 层链路。
    注意:要使用多个上游交换机,必须在物理交换机上配置 MLAG 或 vPC。

[回到顶部]

推荐的交换机配置

建议在用于连接 AHV 节点的交换机上启用 LACP 回退。示例命令如下。对于其他交换机供应商,请参阅其产品手册。

芒:

端口通道 LACP 回退单个

思科 Nexus:

无 LACP 暂停-个别

**默认情况下禁用回退模式

思科 Catalyst:

无端口通道独立禁用

**默认情况下禁用回退模式

瞻博网络 QFX:

强制上升

**有关 Juniper 交换机的具体注意事项,请参阅 Nutanix KB-15541

[回到顶部]

解决方案

AOS 5.19 或更高版本

可以使用 Prism Element (PE) 或 Prism Central (PC) UI 启用 LACP。 有关虚拟交换机的更多信息,请参阅AHV 管理指南中的关于虚拟交换机章节。有关如何管理虚拟交换机的信息,请参阅创建或更新虚拟交换机章节。

由于节点间的 Bond 配置不一致,虚拟交换机可能无法正确部署,因此必须手动更新 Bond 配置,以使 Bond/Bridge 配置在所有节点上匹配。请勿使用ovs-vsctl命令进行 Bridge 级别更改(例如禁用或启用 LACP)。请改用manage_ovs命令。
在使用manage_ovs进行 OVS 级别更改之前,需要暂时禁用虚拟交换机。

可以遵循以下步骤:

  1. 列出虚拟交换机
    nutanix@cvm$ acli net.list_virtual_switch
    
  1. 通过在控制器虚拟机 (CVM) 上运行以下命令禁用集群上的虚拟交换机:
     nutanix@cvm$ acli net.disable_virtual_switch
    
  1. 然后使用“如何在主机上禁用 LACP ”部分中提到的manage_ovs命令将 bond 配置从 LACP 更改为 active-backup/balance-slb。
    注意:对于 AOS >= 5.19 和 < 5.20.2
    • 虚拟交换机中存在一个已知问题,即使禁用虚拟交换机,它也会自动重新创建。此问题已在 AOS 5.20.2 及更高版本中修复。
    • 当集群中没有虚拟交换机并且集群中第一个 AHV 节点之一断开与网络的连接并恢复网络连接时,它会自动重新创建。在更改 AHV 上的绑定配置和/或在物理交换机端进行端口配置更改的过程中,您可能会遇到这种情况。
    • 如果由于该问题而重新启用虚拟交换机,则 manage_ovs 命令将失败并出现以下错误:
       2021-08-24 17:46:20,254Z INFO manage_ovs:400 本地主机的 UUID 为 ecb39f18-fdfe-465e-a944-2506f189ee72
      2021-08-24 17:46:20,261Z CRITICAL manage_ovs:450 网桥名称:br0 由虚拟交换机:vs0 使用。虚拟交换机使用的 OVS 网桥:br0 无法通过 manage_ovs 进行修改。
    • 在这种情况下,请按照步骤 (a) 和 (b) 检查集群中是否存在虚拟交换机,然后在移至下一个节点进行 Bond 配置更改之前再次禁用它
  1. 一旦所有节点上的绑定配置一致,请将相应的网桥迁移到虚拟交换机,如下例所示。
     nutanix@cvm$ acli net.migrate_br_to_virtual_switch brX vs_name=vsX
    
    例子:
    nutanix@cvm$ acli net.migrate_br_to_virtual_switch br0 vs_name=vs0

[回到顶部]

手动方法

  • 请参阅AHV 网络最佳实践指南
  • 绑定端口聚合了 AHV 主机上的物理接口。默认情况下,系统在包含所有物理接口的网桥br0中创建一个名为br0-up的绑定。使用manage_ovs命令更改默认绑定(br0-up)时,在使用较旧的示例时可以将其重命名为bond0 ,因此请记住,您的系统的名称可能与以下示例不同。
  • 本指南的先前版本使用了绑定名称bond0,而不是br0-up (bond0 曾经是默认名称)。Nutanix建议使用名称 br0-up来快速识别此接口作为网桥 br0 上行链路。使用此命名方案可以轻松区分其他网桥的上行链路。

在下面的例子中,我们使用br0-up作为债券名称,而不是 bond0 或任何其他自定义命名方案。

警告:使用“manage_ovs”更新上行链路将删除并重新创建具有默认配置的结合。
更新上行链路之前请考虑以下事项:

  • 如果使用主动备份负载平衡模式,上行链路更新可能会导致主机网络短暂断开。
  • 如果使用 balance-slb 或 balance-tcp (LACP) 负载平衡模式,上行链路更新会将配置重置为主动-被动。此时,依赖 LACP 的网络链路将关闭,因为主机停止响应 keepalive。可以通过在 AOS 版本 5.5.3+ 和 5.6.1+ 中的本地 CVM 上运行以下命令来缓解这种情况:
     nutanix@cvm$ manage_ovs --bridge <网桥名称> --interfaces <接口名称> --bond_name <键名称> --bond_mode balance-tcp --lacp_mode fast --lacp_fallback true update_uplinks

强烈建议在确保集群能够容忍节点故障后一次对一个节点执行更改。使用 allssh manage_ovs update_uplinks 命令可能会导致集群中断。仅当集群未投入生产且没有运行用户虚拟机时才使用它。

[回到顶部]

工作流概述

  1. 通过 SSH 连接到 CVM(控制器 VM)。通过检查其名称和 IP 确保您已连接到正确的 CVM。
  2. 按照 AHV 管理指南中的验证集群运行状况章节操作,确保集群可以容忍节点故障。如果集群无法容忍至少 1 个节点故障,请不要继续。
  3. 将节点和 CVM 放入维护模式:

a. 检查目标主机是否可以更改维护模式:

 nutanix@cvm$ acli host.enter_maintenance_mode_check <主机 ip>

b. 将主机置于维护模式。这会将正在运行的虚拟机迁移到其他主机:

 nutanix@cvm$ acli host.enter_maintenance_mode <主机 ip>

c. 在目标主机上为 CVM 启用维护模式。此步骤是为了防止 CVM 服务受到可能的连接问题的影响。如果 CVM 服务未运行或集群已停止,则可以跳过此步骤。

 nutanix@cvm$ ncli host edit id=<主机ID> enable-maintenance-mode=true

注意:您可以在“ncli host ls”命令的输出中找到 <主机 ID>:

 ncli 主机列表
Id :00058977-c18c-af17-0000-000000006f89::2872 <--- “2872” 是主机 ID
Uuid:ddc9d93b-68e0-4220-85f9-63b73d08f0ff
...
  1. 通过 IPMI 连接到主机,因为 LACP 配置过程可能会导致网络断开。
  2. 执行所需的配置步骤(如何在 AHV 中配置 LACP如何在主机上禁用 LACP )。
  3. 配置完成后,确保主机和 CVM 都可以通过网络访问。此外,通过逐个关闭链接并验证连接性,确保绑定中的所有 NIC 均可运行。
  4. 如果所有测试都成功完成,则将 CVM 和节点从维护模式中移除:

a. 从另一个 CVM 运行以下命令,使受影响的 CVM 退出维护模式:

 nutanix@cvm$ ncli host edit id=<主机ID> enable-maintenance-mode=false

b. 将主机退出到维护模式。这将恢复虚拟机本地性:

 nutanix@cvm$ acli host.exit_maintenance_mode <主机 ip>

[回到顶部]

如何检查绑定名称和桥/交换机名称?

从 CVM 运行命令以获取绑定名称和交换机/网桥名称:

 nutanix@cvm$manage_ovs show_uplinks

例子

nutanix@cvm$manage_ovs show_uplinks
桥 br1: ---> 桥/交换机名称
  上行端口:br1-up ---> 绑定名称
  上行 iface:eth1 eth0

桥 br0: ---> 桥/交换机名称
  上行端口:br0-up ---> 绑定名称
  上行 iface:eth3 eth2

在此示例中,网桥/交换机br0的绑定名称为br0-up ,网桥/交换机br1的绑定名称为br1-up

[回到顶部]

如何在 AHV 中配置 LACP

要在目标主机具有网络访问权限时从集群中的另一个非维护模式 CVM 远程重新配置特定上行链路,请使用manage_ovs命令。根据需要使用变量:

 nutanix@cvm$ manage_ovs--bridge 
  
  --接口 
   
  
   --债券名称 
    
   
      - 主持人 
     
    
     --bond_mode balance-tcp --lacp_mode fast --lacp_fallback true update_uplinks
     
    
    
    
   
   
   
  
  
  
 

请参阅下面的示例:

 nutanix@cvm$ manage_ovs --bridge br0 --interfaces eth2,eth3 --bond_name br0-up --host hh.hh.hh.hh --bond_mode balance-tcp --lacp_mode fast --lacp_fallback true update_uplinks

注意:考虑 LACP 时间选项(慢速和快速)。如果交换机具有快速配置,请记住您还需要将 Nutanix Cluster 的 LACP 设置为快速模式。否则,您可能会因 LACP 速度不匹配而导致中断。

[回到顶部]

如何验证 AHV 中是否配置了 LACP

运行以下命令。

 root@ahv# ovs-appctl bond/show br0-up 
root@ahv# ovs-appctl lacp/显示 br0-up

工作示例:

对于ovs-appctl bond/show ,请注意“ lacp_status: negotiationd

 root@ahv# ovs-appctl bond/show br0-up  
---- br0 向上 ----  
bond_mode:平衡-tcp  
债券可以使用再循环:是的,Recirc-ID:301  
债券哈希基础:0  
上传延迟:0 毫秒  
下行延迟:0 毫秒  
下一次重新平衡:6757 毫秒  
lacp_status:已协商  
活动从属 mac:0c:c4:7a:1e:3e:6e(eth2)  
  
从属 eth2:已启用  
        主动从属  
        may_enable: true  
        hash 78: 127 kB 负载  
        hash 108:13 kB 负载  
        hash 244:94 kB 负载  
  
从属 eth3:已启用  
        may_enable: true  
        哈希 9:6 kB 负载  
        hash 11:11 kB 负载  
        hash 23:12 kB 负载  
...

对于ovs-appctl lacp/show ,请注意每个接口的“ status: active negotiation”和“current attachment ”:

 root@ahv# ovs-appctl lacp/show br0-up ---- br0-up ---- 状态:活动协商 sys_id:0c:c4:7a:2f:4f:9d sys_priority:65534 聚合密钥:1 lacp_time:慢速 从属:eth2:当前附加 port_id:1 port_priority:65535 may_enable:true 参与者 sys_id:0c:c4:7a:2f:4f:9d 参与者 sys_priority:65534 参与者 port_id:1 参与者 port_priority:65535 参与者密钥:1 参与者状态:活动聚合同步收集分发合作伙伴 sys_id:00:2b:21:45:2d:12 合作伙伴 sys_priority:32768 合作伙伴 port_id:39 合作伙伴 port_priority:32768 合作伙伴密钥:115 合作伙伴状态:活动聚合同步收集分发从属:eth3:当前附加端口 ID:2 端口优先级:65535 may_enable:true 参与者系统 ID:0c:c4:7a:2f:4f:9d 参与者系统优先级:65534 参与者端口 ID:2 参与者端口优先级:65535 参与者密钥:1 参与者状态:活动聚合同步收集分发合作伙伴系统 ID:00:2b:21:45:2d:12 合作伙伴系统优先级:32768 合作伙伴端口 ID:40 合作伙伴端口优先级:32768 合作伙伴密钥:115 合作伙伴状态:活动聚合同步收集分发

不起作用的例子

对于ovs-appctl bond/show ,请注意“ lacp_status:configured ”:

 root@ahv# ovs-appctl bond/show br0-up ---- br0-up ---- bond_mode: balance-tcp bond 可能使用再循环:否,Recirc-ID:-1 bond-hash-basis:0 updelay:0 ms downdelay:0 ms lacp_status:已配置 lacp_fallback_ab:true active-backup 主: 
  
  活动从属 mac:00:e0:ed:8b:72:a1(eth2)<截断>
  
 

“configured” 表示 AHV 主机上已配置 LACP,但主机尚未能够与交换机端口协商 LACP。

对于ovs-appctl lacp/show br0-up ,请注意每个接口的“ status: active ”和“ defaulted attachment ”:

 root@ahv# ovs-appctl lacp/show br0-up ---- br0-up ---- 状态:活动 sys_id:ac:2f:7b:b6:fe:2e sys_priority:65534 聚合密钥:1 lacp_time:快速 从属:eth0:默认附加 port_id:2 port_priority:65535 may_enable:true 参与者 sys_id:ac:2f:7b:b6:fe:2e 参与者 sys_priority:65534 参与者 port_id:2 参与者 port_priority:65535 参与者密钥:1 参与者状态:活动超时聚合同步收集分发默认合作伙伴 sys_id:00:00:00:00:00:00 合作伙伴 sys_priority:0 合作伙伴 port_id:0 合作伙伴 port_priority:0 合作伙伴密钥:0 合作伙伴状态:从属: eth1:默认附加端口 ID:3 端口优先级:65535 may_enable:true 参与者系统 ID:ac:2f:7b:b6:fe:2e 参与者系统优先级:65534 参与者端口 ID:3 参与者端口优先级:65535 参与者密钥:1 参与者状态:活动超时聚合同步收集分发默认

输出表明 LACP 尚未协商。Defaulted 表示 AHV 主机尚未从交换机收到 LACP PDU。如果您在主机上看到此配置,请检查主机所连接的交换机上的 LACP 配置。

[回到顶部]

如何在主机上禁用 LACP

执行以下步骤以安全地禁用主机上的 LACP。查看上面的“工作流程概述”部分,了解执行配置前和配置后任务的步骤。

  1. 使用以下命令之一配置主机以使用不需要 LACP 的绑定模式。

a. 以下命令将负载平衡策略设置为 active-backup,这意味着仅使用一个活动上行链路,并且仅当活动适配器发生故障时才使用备用适配器。

 nutanix@cvm$ manage_ovs--bridge 
  
  --接口 
   
  
   --债券名称 
    
   
      - 主持人 
     
    
     --bond_mode 主动备份 update_uplinks
     
    
    
    
   
   
   
  
  
  
 

绑定的所有成员都必须物理连接,否则 manage_ovs 命令会生成警告并退出而不配置绑定。要避免此错误并配置绑定的接口(即使它们未连接),请使用 require_link=false 标志。

 nutanix@cvm$ manage_ovs--bridge 
  
  --接口 
   
  
   --债券名称 
    
   
      - 主持人 
     
    
     --bond_mode 主动备份 --require_link=false 更新上行链路
     
    
    
    
   
   
   
  
  
  
 

b.以下命令将负载平衡策略设置为 balance-slb,将虚拟机流量从使用率高的接口重新平衡到使用率较低的接口,并使用所有可用的上行链路。您可以参考AHV 网络最佳实践指南以了解有关负载平衡策略的更多信息。

  1. 关闭交换机端口上的 LACP。

[回到顶部]

如何查找 AHV 主机 NIC 的 MAC 地址

要查找 AHV 主机 NIC 的 MAC 地址,请使用以下任一命令:

  • 在 AHV 主机上执行以下命令
[root@ahv ~]# ethtool -P <接口>

示例输出:

 [root@ahv ~]# ethtool -P eth3
永久地址:00:25:90:cb:39:27
  • 在 AHV 主机上执行以下命令
[root@ahv ~]# ifconfig <接口>

示例输出:

 [root@ahv ~]# ifconfig eth3
eth3 链路封装:以太网HWaddr 00:25:90:CB:39:27上行广播正在运行多播 MTU:1500 度量:1 RX 数据包:46857327754 错误:0 丢弃:228250 超限:0 帧:0 TX 数据包:49134503170 错误:0 丢弃:0 超限:0 载波:0 冲突:0 txqueuelen:1000 RX 字节:49893674683483(45.3 TiB)TX 字节:54855610562476(49.8 TiB)

[回到顶部]

附加信息

文件ID:HT516513
初始发布日期:05/21/2024
最近修改日期:05/30/2024