FreeBSD Lagg 端口聚合与LACP配置

基础环境

os:FreeBSD 12.3-RELEASE

网卡:Mellanox Technologies ConnectX-4 Lx

交换机:华为ce6820-48S6CQ-B

需求

FreeBSD 通过ConnectX-4 两个端口连接到交换机。 配置端口聚合(bonding、aggregate,port-chanel,portgroup 好多种说法),实现2个端口负载均衡。

配置

FreeBSD侧配置:

kldload if_lagg ### 加载bonding,即freebsd里的lagg内核模块

ifconfig lagg0 create ### 创建lagg接口

ifconfig mce0 up ### 启动mce1 网卡

ifconfig mce1 up ### 启动mce1 网卡

ifconfig lagg0 up laggproto lacp laggport mce0 laggport mce1 ### 启动聚合接口,聚合协议为lacp,同时还有loadbalance/fce/failover/roundrobin和none模式可选

交换机侧配置:

int eth 111

mode lacp-dynamic

持久化配置到服务器上,编辑/etc/rc.conf 配置文件

ifconfig_mce0="up"
ifconfig_mce1="up"
cloned_interfaces="lagg0"
ifconfig_lagg0="up laggproto lacp laggport mce0 laggport mce1"
ipv4_addrs_lagg0="x.x.x.x/x"
defaultrouter="x.x.x.x"

FreeBSD Lagg协议的分类

协议 说明
failover 主备模式,第一个端口为主端口,后续端口为备用端口。流量默认走主端口,主端口故障中断后切换到备用端口
LACP 支持 IEEE 802.3ad 链路聚合控制协议 (LACP) 和标记协议。 LACP 将与一个或多个链路聚合组中的对等方协商一组可聚合链路。 每个 LAG 由相同速度的端口组成,设置为全双工操作。 流量将在总速度最大的 LAG 中的端口之间进行平衡,在大多数情况下,只有一个 LAG 包含所有端口。如果物理连接发生变化,链路聚合将快速收敛到新配置。根据协议标头hash信息平衡活动端口之间的传出流量,并接受来自任何活动端口的传入流量。hash包括以太网源地址和目标地址,以及 VLAN 标记(如果可用)以及 IPv4/IPv6 源地址和目标地址。一般和华为交换机对接时使用
FEC 支持思科 EtherChannel。 这是一种静态设置,不会与对等方协商聚合或交换帧来监控链路,如果交换机支持 LACP,则应改为使用它。根据标头信息hash平衡活动端口之间的传出流量,并接受来自任何活动端口的传入流量。 hash包括以太网源地址和目标地址,以及 VLAN 标记(如果可用)以及 IPv4/IPv6 源地址和目标地址。
loadbalance FEC的别名
roundrobin 使用轮询分发流量,通过所有活动端口分配传出流量,并接受来自任何活动端口的传入流量。 此模式将违反以太网帧顺序,应谨慎使用。大概率负载不均。
none 这个协议什么都不做:它在不禁用 lagg 接口本身的情况下禁用任何流量。
Published At