Linux链路聚合

链路聚合是一个计算机网络术语,指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,
交换机根据用户配置的端口负荷分担策略决定网络封包从那个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发
生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任发送端
口。链路聚合在增加链路带宽,实现链路传输弹性和工程冗余等方面是一项很重要的技术。

网卡的链路聚合一般常用的有"bond"(网络绑定)和"team"(网络成组)俩种模式:

"bond"模式主要在RHEL6上使用
"Team"模式是RHEL7上实现链路聚合的技术
"bond"模式最多可以添加俩快网卡。
"bond"模式不支持负债均衡。
"bond"模式不支持ipv6。
"bond"模式不支持hash加密。
"team"模式最多可以添加八块网卡。
"team"模式支持负载均衡。
"team"模式支持ipv6。
"team"模式支持hash加密。

bond2team命令:将绑定配置文件转换为网络成组配置文件。

"team"(网络成组守护进程)
team的安装:
yum install reamd
"team"模式支持的工作模式:
active-backup:主备
loadbalance:负载均衡
broadcast:广播容错
roundrobin:平衡伦叫

使用NetworkManager守护进程控制成组的端口接口时,特别是发现错误时,请记住以下要点;

1、启动主接口不会自动启动端口接口
2、启动端口接口总是会启动主接口
3、停止主接口总是会停止端口接口
4、没有端口的主机可启动静态IP连接
5、没有端口的主机在启动DHCP连接时会等待端口
6、添加附带载波的端口后,使用DHCP连接的主机会等待端口完成连接
7、添加不附带载波的端口后,使用DHCP连接的主机会让端口继续等待

使用命令行配置"team"范例:

1.nmcli connection show (查看系统中可用的连接)

    [[email protected] ~]# nmcli connection show
    NAME      UUID                                  TYPE      DEVICE
    enp4s0f3  22c02942-97bc-4e91-9fbd-ba81ade73091  ethernet  enp4s0f3
    virbr0    84d56169-90a1-40d6-8ed8-c48ea30e3349  bridge    virbr0
    enp4s0f0  65bde539-1c28-45cc-abb1-0ea9ddbe28f4  ethernet  --
    enp4s0f1  bdf86b0b-9c32-443f-a40e-5bad91ffb632  ethernet  --
    enp4s0f2  1be55c68-9659-4041-a20e-d08dbc64cac8  ethernet  --
    [[email protected] ~]#

2.创建team接口:

    nmcli connection add type team ifname team接口名称

    [[email protected] ~]# nmcli connection add type team ifname team-ServerA
    连接“team-team-ServerA”(dc7d9c0f-dd25-4444-a5d6-c963ade56b78) 已成功添加。
    [[email protected] ~]#

    NetworkManager会将配置写入/etc/sysconfig/network-scripts/ifcfg-team-team-ServerA文件中,并将onboot设定为yes
    ,bootproto设定为dhcp。

可使用nmcli connnection show team接口名称  命令查看接口信息

[[email protected] ~]# nmcli connection show team-team-ServerA
connection.id:                          team-team-ServerA
connection.uuid:                        dc7d9c0f-dd25-4444-a5d6-c963ade56b78
connection.stable-id:                   --
connection.type:                        team
connection.interface-name:              team-ServerA
connection.autoconnect:                 是
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.auth-retries:                -1
connection.timestamp:                   0
connection.read-only:                   否

    .....

更改team接口名称:
    nmcli con mod old-team-name connection.id new-team-name

为team接口导入配置文件:
    nmcli connection modify team-name team.config JSON-config

cd

3.将enp4s0f0,enp4s0f1添加到team接口team-team-ServerA中:

nmcli con add type team-slave con-name 从team接口名称 ifname 网卡设备名称 master 主team接口名称

[[email protected] ~]# nmcli con add type team-slave con-name team-slave1 ifname enp4s0f0 master team-team-ServerA
连接“team-slave1”(31848a23-7071-4fc3-abc2-7e423ba3e181) 已成功添加。
[[email protected] ~]# nmcli con add type team-slave con-name team-slave2 ifname enp4s0f1 master team-team-ServerA
连接“team-slave2”(ab23f7fe-916d-4597-9d54-b68d532a3413) 已成功添加。
[[email protected] ~]#

4.要启用网络成组,必须先激活这些端口

[[email protected] ~]# nmcli connection up team-slave1
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/11)
[[email protected] ~]# nmcli connection up team-slave2
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/12)
[[email protected] ~]#

[[email protected] ~]# nmcli connection up team-team-ServerA
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
cd[[email protected] ~]#

使用配置文件创建team接口:
在/etc/sysconfig/network-scripts/目录下创建一个配置文件,内容如下:
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.1
PREFIX=24
TEAM_CONFIG=‘{"runner":{"name":"activebackup"},"link_watch":{"name":"ethtool"}}‘

这样就创建了team主接口

    要创建属于team成员的端口,请在/etc/sysconfig/network-scripts/目录下创建一个或多个配置文件,内容如下:

        DEVICE=xxx
        HWADDR=xxxx
        DEVICETYPE=TeamPort
        ONBOOT=yes
        TEAM_MASTER=team0
        TEAM_PORT_CONFIG=‘{"prio": 100}‘

    prio用于指定优先权,该数值取值范围在-32767到+32767之间,如不指定则默认为0。

原文地址:https://blog.51cto.com/3037673/2444915

时间: 2024-09-30 11:00:10

Linux链路聚合的相关文章

Linux 链路聚合

Linux 链路聚合 链路聚合与双网卡绑定几乎相同,可以实现多网卡绑定主从荣誉,负载均衡,提高网络访问流量.但链路聚合与双网卡绑定技术(bond)不同点就在于,双网卡绑定只能使用两个网卡绑定,而链路聚合最多可将8个网卡汇聚同时做绑定,此聚合模式称之为team team 四种模式 广播容错:"broadcast" 平衡轮询:"roundrobin" 主备:"activebackup" 负载均衡:"loadbalance" tea

linux 记一次链路聚合

前言: 将多个linux网络端口绑定为1个,可以提升网络性能.公司做了glusterfs网络文件系统,读写都在一块网卡上,导致I/O很低,最后决定做链路聚合来提升服务器的网络吞吐(I/O)可以使用linux teaming 或 bond模块.目前发布的各个linux版本内核均已包含了该模块,大多数情况下不需要重新编译内核.公司的系统是centos6.5,使用bonding模块.Bonding模块提供了绑定/集成多个网卡作为一个虚拟逻辑网口的功能.本次采用了模式0负载均衡模式,常用的还有1冗余模式

linux初学者-网卡的链路聚合篇

linux初学者-网卡的链路聚合篇 网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度. 网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡. 1.bond bond模式的配置步骤如下图所示,在配置之前需要有两块网卡: a."nmcli con

Linux 主机与虚拟机网桥制作与网卡链路聚合

一.网桥制作 1.主机的网桥制作 删除主机的/etc/sysconfig/network-scripts/ifcfg-enp0s25 在/etc/sysconfig/network-scripts/ifcfg-br0目录下添加文件 #编辑主机的物理网卡文件 vim /etc/sysconfig/network-scripts/ifcfg-enp0s25 DEVICE=enp0s25 BOOTPROTO=none NAME=westos BRIDGER=br0 #编辑虚拟网桥文件 vim /etc

linux网卡实现高可用:team链路聚合

一.链路聚合简介 1. TIC teaming 将多个物理端口绑定在一起当成一个逻辑端口使用 Rhel7是通过runner(可以视作一段代码)来实现高可用或负载均衡 2. Team结构 Mster:一个逻辑端口,可以看作一个组 Slave:所有的物理端口,可以看作成员 3. Team实现过程 配置一个mster(逻辑端口),并且同时通过runner设置模式(HA或者LB) 将物理网卡绑定到master 启用加入master的slave 配置IP 二.例 将物理网卡eno16777736和eno3

Linux的高级网络网桥、链路聚合

一.网桥实验 1.测试环境为网络搭建虚拟机 开始为NAT模式 安装过程NAT速度很慢 2.配置网桥参数文件 3.测试网桥模式下的虚拟机安装速度 与第一次实验相同,只是将网络模式换为网桥模式安装,速度很快 网桥设置 二.bond 三.链路聚合

Linux进阶之链路聚合

CentOS7用命令配置链路聚合 链路聚合是一个计算机网络术语,将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出入流量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机. 一.实验环境准备 在VMware Workstation部署好CentOS7系统: 至少为安装好的CentOS7系统添加两块网卡. 二.创建虚拟网卡 nmcli connection add type team con-name team0 ifname team0 a

链路聚合、Trunk、端口绑定和捆绑简析

关于链路聚合(Link Aggregation).Trunk和端口绑定/捆绑这三种概念很容易混淆,主旨都是利用链路冗余提供服务器.交换机和存储间的可靠性,或利用冗余端口实现负载均衡等:通常在大多数场景下被不加区别的混用,今天我们简单分析一下各自的含义和区别. 链路聚合是采用不同的聚合.合并方法把多个网络链路并行的连接起以便提供网络带宽和链路冗余,实现网络业务连续性:强调的是交换机端到端的链路,一般涉及端口.网卡和交换机(如LACP)绑定等.不同交换机厂商采用不同术语描述链路聚合,但目标都是一致的

网卡的链路聚合--两个网卡接口变成一个

使用环境:由于本实验需要两个或者以上网可,所以建议在虚拟设备中作,可以虚拟出数个网卡 Linux双网卡bond方式简介 随着分步式计算.大数据大规模兴起,不断增长的计算节点之间海量数据传输交互,内部节点处理过程产生大量东西向流量,要求网络具有良好的扩展性和吞吐率,能够充分适应业务突发流量且具备高可靠性,对主机双网卡bond要求既能充分利用链路带宽资源又具备高可靠性显得尤其重要 基于linux的操作系统网卡bond模式有七种,模式 (0~6) mode=0.mode=1.mode=2.mode=3