<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Lagg on WLStack — Simple, Scalable Cloud Solutions</title><link>https://www.wlstack.com/en/tags/lagg/</link><description>Recent content in Lagg on WLStack — Simple, Scalable Cloud Solutions</description><generator>Hugo</generator><language>en-US</language><managingEditor>info@wlstack.com (WLSTACK)</managingEditor><webMaster>info@wlstack.com (WLSTACK)</webMaster><lastBuildDate>Fri, 23 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://www.wlstack.com/en/tags/lagg/index.xml" rel="self" type="application/rss+xml"/><item><title>FreeBSD Lagg 端口聚合与LACP配置</title><link>https://www.wlstack.com/en/blog/freebsd-lagg/</link><pubDate>Fri, 23 Sep 2022 00:00:00 +0000</pubDate><author>info@wlstack.com (WLSTACK)</author><guid>https://www.wlstack.com/en/blog/freebsd-lagg/</guid><description>&lt;h1 id="基础环境">基础环境&lt;/h1>
&lt;p>os:FreeBSD 12.3-RELEASE&lt;/p>
&lt;p>网卡:Mellanox Technologies ConnectX-4 Lx&lt;/p>
&lt;p>交换机：华为ce6820-48S6CQ-B&lt;/p>
&lt;h1 id="需求">需求&lt;/h1>
&lt;p>FreeBSD 通过ConnectX-4 两个端口连接到交换机。
配置端口聚合（bonding、aggregate，port-chanel，portgroup 好多种说法），实现2个端口负载均衡。&lt;/p>
&lt;h1 id="配置">配置&lt;/h1>
&lt;h2 id="freebsd侧配置">FreeBSD侧配置：&lt;/h2>
&lt;p>kldload if_lagg ### 加载bonding，即freebsd里的lagg内核模块&lt;/p>
&lt;p>ifconfig lagg0 create ### 创建lagg接口&lt;/p>
&lt;p>ifconfig mce0 up ### 启动mce1 网卡&lt;/p>
&lt;p>ifconfig mce1 up ### 启动mce1 网卡&lt;/p>
&lt;p>ifconfig lagg0 up laggproto lacp laggport mce0 laggport mce1 ### 启动聚合接口，聚合协议为lacp，同时还有loadbalance/fce/failover/roundrobin和none模式可选&lt;/p>
&lt;h2 id="交换机侧配置">交换机侧配置：&lt;/h2>
&lt;p>int eth 111&lt;/p>
&lt;p>mode lacp-dynamic&lt;/p>
&lt;h2 id="持久化配置到服务器上编辑etcrcconf-配置文件">持久化配置到服务器上，编辑/etc/rc.conf 配置文件&lt;/h2>
&lt;pre tabindex="0">&lt;code>ifconfig_mce0=&amp;#34;up&amp;#34;
ifconfig_mce1=&amp;#34;up&amp;#34;
cloned_interfaces=&amp;#34;lagg0&amp;#34;
ifconfig_lagg0=&amp;#34;up laggproto lacp laggport mce0 laggport mce1&amp;#34;
ipv4_addrs_lagg0=&amp;#34;x.x.x.x/x&amp;#34;
defaultrouter=&amp;#34;x.x.x.x&amp;#34;
&lt;/code>&lt;/pre>&lt;h2 id="freebsd-lagg协议的分类">FreeBSD Lagg协议的分类&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>协议&lt;/th>
 &lt;th>说明&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>failover&lt;/td>
 &lt;td>主备模式，第一个端口为主端口，后续端口为备用端口。流量默认走主端口，主端口故障中断后切换到备用端口&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>LACP&lt;/td>
 &lt;td>支持 IEEE 802.3ad 链路聚合控制协议 (LACP) 和标记协议。 LACP 将与一个或多个链路聚合组中的对等方协商一组可聚合链路。 每个 LAG 由相同速度的端口组成，设置为全双工操作。 流量将在总速度最大的 LAG 中的端口之间进行平衡，在大多数情况下，只有一个 LAG 包含所有端口。如果物理连接发生变化，链路聚合将快速收敛到新配置。根据协议标头hash信息平衡活动端口之间的传出流量，并接受来自任何活动端口的传入流量。hash包括以太网源地址和目标地址，以及 VLAN 标记（如果可用）以及 IPv4/IPv6 源地址和目标地址。一般和华为交换机对接时使用&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>FEC&lt;/td>
 &lt;td>支持思科 EtherChannel。 这是一种静态设置，不会与对等方协商聚合或交换帧来监控链路，如果交换机支持 LACP，则应改为使用它。根据标头信息hash平衡活动端口之间的传出流量，并接受来自任何活动端口的传入流量。 hash包括以太网源地址和目标地址，以及 VLAN 标记（如果可用）以及 IPv4/IPv6 源地址和目标地址。&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>loadbalance&lt;/td>
 &lt;td>FEC的别名&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>roundrobin&lt;/td>
 &lt;td>使用轮询分发流量，通过所有活动端口分配传出流量，并接受来自任何活动端口的传入流量。 此模式将违反以太网帧顺序，应谨慎使用。大概率负载不均。&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>none&lt;/td>
 &lt;td>这个协议什么都不做：它在不禁用 lagg 接口本身的情况下禁用任何流量。&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description></item></channel></rss>