RH358配置链路聚合--管理网络组

RH358配置链路聚合–管理网络组

本章节开始,介绍如何配置和管理链路聚合配置。此方面技术在实际工作中必备,特别在现各种高并发场景这么大量的时代,没HA咋行?

专栏地址:https://blog.csdn.net/qq_41765918/category_11532281.html

1. 网络组配置文件

NetworkManager在/etc/sysconfig/network-scripts目录中为网络组创建配置文件,这与它为其他接口创建配置文件的方式相同。它为每个接口创建配置文件;用于组接口和每个端口。

下面的配置文件定义了一个组接口。

  • DEVICETYPE变量的值决定了定义的接口类型,在本例中为网络团队定义了Team。

  • 组接口的配置文件定义接口的IP设置。

  • TEAM_CONFIG变量使用JSON语法定义组接口的组配置参数。

[root@host ~]# cat /etc/sysconfig/network-scripts/ifcfg-team0
TEAM_CONFIG="{ \"runner\": { \"name\": \"broadcast\" } }"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=172.25.5.100
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=f0813ead-3d0e-491e-89d6-2ec0fe616b68
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team

下面的配置文件定义了一个端口接口。

  • DEVICETYPE变量通知初始化脚本这是一个端口接口。

  • TEAM_MASTER变量定义了该端口作为组接口的从属端口。

[root@host ~]# cat /etc/sysconfig/network-scripts/ifcfg-team0-ens4
NAME=team0-ens4
UUID=2f8a7ab3-e0ce-42d7-8357-20d90700f96f
DEVICE=ens4
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort

2. 设置和调整组配置

在创建组接口时设置初始网络组配置。默认运行程序是roundrobin,但是如果您指定了一个team.runner值,那么该运行程序将被分配。如果没有指定运行器参数,则使用它们的默认值。

nmcli con mod命令分配不同的运行器参数。使用team.config选项,可以是一个JSON字符串(在简单更改的情况下),也可以是一个具有更复杂JSON配置的文件的名称。nmcli命令更改组接口的初始化脚本文件中TEAM_CONFIG变量的值。

nmcli con mod CONN_NAME team.config JSON-configuration-file-or-string

考虑下面的/tmp/team.conf文件,它为activebackup组端口的接口分配了不同的优先级:

image-20211215164340107

你可以使用下面的命令来应用/tmp/team.conf文件中的设置:

[root@host ~]# nmcli con mod team0 team.config /tmp/team.conf

link_watch设置决定了如何监控端口接口的链路状态。默认值如下所示,使用类似于ethtool命令的功能来确定各接口的链路状态:

"link_watch": {
	"name": "ethtool"
}

ARP ping报文还可以判断远程连接的链路状态。在这种情况下,必须指定本地和远端IP地址和超时时间。使用ARP ping报文确认链路可用性,示例如下:

"link_watch":{
	"name": "arp_ping",
	"interval": 100,
	"missed_max": 30,
	"source_host": "192.168.23.2",
	"target_host": "192.168.23.1"
},

注意:如果没有在JSON文件中指定,选项将恢复为默认值。

teamd.conf (5)手册页提供了每个组配置选项的定义。它还提供了一些更复杂配置的JSON示例。

当与以组开头的选项一起使用时,nmcli con mod命令还会修改组team. prefix选项。可以在命令行上使用选项卡补全来显示可用选项的列表。

3. 网络组故障排除

使用teamnl和teamdctl命令排除网络组的故障。这些命令只在启动的组接口上工作。下面的示例展示了这些命令的一些典型用法。

# 显示team0组界面的端口界面:
[root@host ~]# teamnl team0 ports
4: eth2: up 4294967295Mbit FD
3: eth1: up 4294967295Mbit FD

# 显示当前激活的端口team0:
[root@host ~]# teamnl team0 getoption activeport
4

# 更改team0的激活端口:
[root@host ~]# teamdctl team0 state item set runner.active_port eth1

# 显示team0的当前状态:
[root@host ~]# teamdctl team0 state

# 显示team0的当前JSON配置:
[root@host ~]# teamdctl team0 config dump
{
    "device": "team0",
    "mcast_rejoin": {
        "count": 1
    },
    "notify_peers": {
        "count": 1
    },
    "ports": {
        "eth1": {
            "link_watch": {
                "name": "ethtool"
            }
        },
        "eth2": {
            "link_watch": {
                "name": "ethtool"
            }
        }
    },
    "runner": {
        "name": "activebackup"
    }
}

4. 课本练习

[student@workstation ~]$ lab netlink-teammgmt start

1. 查看网络组状态。
[root@servera ~]# teamdctl team0 state
setup:
  runner: activebackup
ports:
  eth1
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  eth2
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
runner:
  active port: eth1
2. 按要求更改运行器。

[root@servera ~]# nmcli con mod team0 team.runner roundrobin

3. 重新启动team0连接。

[root@servera ~]# nmcli con down team0

[root@servera ~]# nmcli con up team0

4. 测试。

通过使用ping生成流量并使用tcpdump监视端口接口来测试roundrobin运行器。

[root@servera ~]# ping 192.168.0.254

[root@servera ~]# tcpdump -i eth1 icmp and src 192.168.0.254

[root@servera ~]# tcpdump -i eth2 icmp and src 192.168.0.254

完成实验。

[student@workstation ~]$ lab netlink-teammgmt finish

总结

  • 介绍网络组Team配置文件。
  • 介绍了如何调整和设置配置。
  • 常用命令辅助排错。
  • 若喜欢金鱼哥的文章,顺手点个赞。也可点个关注,因为后续会不断上干货。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT民工金鱼哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值