金鱼哥RHCA回忆录:RH358配置链路聚合--管理网络组

举报
金鱼哥 发表于 2022/04/20 10:34:33 2022/04/20
【摘要】 第二章 配置链路聚合--管理网络组

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

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

此文章( 第二章 配置链路聚合–管理网络组 )收录在RHCA专栏:RHCA 回忆录

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配置文件。
  • 介绍了如何调整和设置配置。
  • 常用命令辅助排错。

RHCA认证需要经历5门的学习与考试,还是需要花不少时间去学习与备考的,好好加油,可以噶🤪。

以上就是【金鱼哥】对 第二章 配置链路聚合–管理网络组 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点,如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200