运维开发网

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

运维开发网 https://www.qedev.com 2020-08-17 12:22 出处:51CTO 作者:A5互联
NICteaming是将两个或多个网络链接聚合或结合成一个逻辑链接,以提供冗余和高可用性。逻辑接口/链接称为团队接口。在活动物理链接中断的情况下,其中一个备份或保留链接将自动恢复并确保与服务器的不间断连接。Teamd-这是nicteaming守护程序,它使用libteam库通过Linux内核与团队设备进行通信。Teamdctl-这是一个允许用户控制Teamd实例的实用程序,你可以检查和改变端口状态

NIC teaming是将两个或多个网络链接聚合或结合成一个逻辑链接,以提供冗余和高可用性。逻辑接口/链接称为团队接口。在活动物理链接中断的情况下,其中一个备份或保留链接将自动恢复并确保与服务器的不间断连接。

Teamd - 这是nic teaming守护程序,它使用libteam库通过Linux内核与团队设备进行通信。

Teamdctl- 这是一个允许用户控制Teamd实例的实用程序,你可以检查和改变端口状态,以及在备份和活动状态之间切换。

Runner - 这些是用JSON编写的代码单元,用于实现各种NIC组合概念。Runner 模式的例子包括 Round robbin、负载均衡、广播和主动备份。

在本文中,我们将使用主动备份模式来配置NIC teaming。在这种情况下,一条链路保持活跃,而其余的链路处于待机状态,并保留为备用链路,以防活跃链路中断。

1、在CentOS中安装teamd守护程序

Teamd是负责创建网络团队的守护进程,它将在运行时作为逻辑接口。CentOS/RHEL 8会自带安装它,但如果因为某种原因没有安装,请执行下面的dnf命令来安装它。

$ sudo dnf install teamd

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

安装完毕后,通过运行rpm命令来验证teamd是否已经安装。

$ rpm -qi teamd

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

2、在CentOS中配置NIC Teaming。

为了配置NIC Teaming,我们将使用nmcli工具,可以用来管理NetworkManager服务。在我的系统中,我有两块网卡,我要将它们绑定或组合起来创建一个逻辑团队接口:enp0s3和enp0s8。您的实际情况可能有所不同。

要确认活动的网络接口,请运行:

$ nmcli device status

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

输出确认存在2个活动的网络连接。要收集更多关于接口的信息,如UUID,请运行命令。

$ nmcli connection show

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

为了创建一个NIC Teaming链接或接口,这将是我们的逻辑链接,我们将删除现有的网络接口。然后,我们将使用已删除的接口创建从属接口,然后将它们与teaming链接关联起来。

使用它们各自的UUID执行下面的命令来删除链接。

$ nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
$ nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

这个时候,当您检查接口时,您将注意到它们是断开连接的,并且没有提供到服务器的连接。基本上,您的服务器将与网络的其余部分隔离。

$ nmcli device status

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

接下来,我们要在active-backup runner模式下创建一个名为team0的team接口。如前所述,active backup runner模式使用一个active接口,并保留其他接口,以备活动链接中断时使用。

$ nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

要查看分配给team0接口的属性,请运行命令。

$ nmcli connection show team0

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

此时,我们只有一个接口了,就是team0接口,如图所示。

$ nmcli connection show

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

接下来,使用nmcli命令为team0接口配置IP地址,如图所示。请确保根据您的网络子网和IP寻址方案来分配IP。

$ nmcli con mod team0 ipv4.addresses 192.168.2.100/24
$ nmcli con mod team0 ipv4.gateway 192.168.2.1
$ nmcli con mod team0 ipv4.dns 8.8.8.8
$ nmcli con mod team0 ipv4.method manual
$ nmcli con mod team0 connection.autoconnect yes

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

此后,创建从属链接并将从属链接关联到团队链接。

$ nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
$ nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0

再检查一下链接的状态,你会发现从属链接现在是活动的。

$ nmcli connection show

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

接下来,停用并激活团队链接。这将激活从属链接和团队链接之间的连接。

$ nmcli connection down team0 && nmcli connection up team0

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

接下来,验证团队链接连接的状态,如图所示。

$ ip addr show dev team0

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

我们可以看到,这个链接是用我们之前配置的正确IP地址建立起来的。

要检索团队链接的其他细节,请运行命令。

$ sudo teamdctl team0 state

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

从输出中,我们可以看到两个链接(enp0s3和enp0s8)都已启动,并且活动链接是enp0s8。

步骤3:测试网络分组冗余

要测试我们的活动备份分组模式,我们将断开当前活动的链接enp0s3–并检查其他链接是否插入。

$ nmcli device disconnect enp0s3
$ sudo teamdctl team0 state

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

当检查分组接口的状态时,您会发现该链接enp0s8已启动并正在提供与服务器的连接。这确认我们的设置正在运行!

4、删除网络分组接口

如果您希望删除分组接口/链接并恢复为默认网络设置,请首先关闭分组链接:

$ nmcli connection down team0

接下来,删除从站。

$ nmcli connection delete team0-slave0 team0-slave1

最后,删除分组界面。

$ nmcli connection delete team0

如何在CentOS 8 / RHEL 8中创建NIC Teaming或绑定

此时,所有接口均已关闭,服务器无法访问。要激活您的网络接口并重新获得连接,请运行以下命令:

$ sudo ifconfig enp0s3 up
$ sudo ifconfig enp0s8 up
$ sudo systemctl restart NetworkManager

NIC组合为网络冗余提供了出色的解决方案。使用2个或更多网络接口,您可以在任何运行程序模式下配置成组接口,以确保在一个链路意外断开的情况下实现高可用性。

A5互联https://www.a5idc.net/

0

精彩评论

暂无评论...
验证码 换一张
取 消