Linux链路聚合的示例分析
admin
2023-03-02 13:02:27
0

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

网卡的链路聚合一般常用的有"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 (查看系统中可用的连接)

    [root@localhost ~]# 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  --       
    [root@localhost ~]#

2.创建team接口:

    nmcli connection add type team ifname team接口名称

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

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

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

[root@localhost ~]# 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接口名称

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

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

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

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

使用配置文件创建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。

相关内容

热门资讯

有人呼吁白宫“封杀”中国开源大... 未来一段时间,将有多款中国开源模型发布。Kimi K3定于7月27日正式开源,阿里即将开源2.4万亿...
20名“高考状元”选择学医!此... 2026年香港高考的24名“状元”中,有20人明确表示将留港攻读医科。多年来,香港最顶尖的“学霸们”...
“抢人大战”,风向有变? 各地一场“抢老人”的大战,已然徐徐拉开大幕。最近,有着人口净流出压力的吉林,计划拿出3亿元发展旅居康...
石家庄一家不限量的爱心素食面馆... 7月24日正午时分,记者来到位于石家庄市新华区东明家居西二环店北门旁的“素面”小店,不大的店面里坐满...
中材科技申请风电叶片外补强辅助... 国家知识产权局信息显示,中材科技(伊吾)风电叶片有限公司申请一项名为“风电叶片外补强辅助固化装置”的...
为人工智能治理提供重要公共产品 图为2026世界人工智能大会暨人工智能全球治理高级别会议举办期间,在世博展览馆灵心巧手展位,参观者观...
泽连斯基称俄对乌多地发动大规模... 当地时间25日,乌克兰总统泽连斯基通报称,俄军于当日凌晨对乌克兰多地发动大规模空袭,使用2枚导弹、近...
不怕没水!武汉科学家找到水稻身... 干旱来了,水稻启动"抗旱模式",可一启动就长不大、结得少——这是困扰育种界几十年的老难题。7月23日...
多款手机涨价超1000元,大存... 今年暑期消费旺季,国内智能手机市场迎来一轮显著的价格上调。第一财经记者走访深圳多家品牌门店发现,以v...
SpaceX上市后星舰首飞:首... 界面新闻实习记者 | 李响 在经历多次波折后,SpaceX公司的星舰(Starship)终于完成了...