了解 如何创建网卡绑定之前,我们需要首先理解被称为”连接”的概念。

例如一台运行了 CentOS/RHEL 的主机有一块以太网卡,名叫 ens33 ,每块网卡都有自己特定的配置文件(位于 /etc/sysconfig/network-scripts/ 目录中)用于分配 IP 地址。详细内容如下图所示:

图.1 查看系统网络设备信息

如果想为一块网卡设置多个 IP 地址而又不希望修改现有的配置文件,则可以采用增加配置文件的方式来实现。例如同一块网卡,我们可以创建三个配置文件”ifcfg-ens33″、”ifcfg-office”、”ifcfg-home”,对这块网卡分配不同的 IP 地址。我们可以对一块网卡创建多个类似的配置文件,但在同一时间,只有一个配置文件起作用。

以上面的例子来说明,假如某一时间,ens33的配置是生效的,那么 office 和 home 的配置则是未生效状态。而我们激活 office 的配置令其生效后,则之前的配置则会自动失效,IP 地址也随之变换成为 office 配置的 IP 地址。

同样,如果激活 home 的配置,则其他配置则会失效。

在 CentOS/RHEL 系统,可以使用命令 nmcli (Network Manager Command-Line Interface)来处理网络连接。通过这个命令,可以定义网卡使用哪个连接配置,从而改变其对就的 IP 地址:

图.2 nmcli 命令示例

现在,为网卡 ens33 创建一个新的连接配置,名叫”mycon”,手动设置其 IP 地址为 192.168.1.10,自动连接选项设置为否,命令如下所示:

# nmcli con add con-name mycon ifname ens33 type ethernet ipv4.method manual ipv4.address 192.168.1.1/24 ipv4.gateway 192.168.1.1 autoconnect no
# nucli con show

图.3 nmcli 添加连接

连接添加成功后,就可以使用 nmcli 命令切换连接了,从而实现 IP 地址的变换:

# nmcli con up mycon
# nmcli con show
# ifconfig ens33

图.4 切换连接配置文件实现 IP 地址变换

如果想切换回原来的 IP 地址,只需要使用以上的命令将 ens33 的配置启用起来即可。

基本上,我们会为一块网块分配 一个 IP 地址,如果这块网卡故障,则会出现中断。为了避免出现类似情况,可以采用两块网卡绑定高可用方式解决。可以创建一个虚拟网卡,将实际的网卡添加至这个虚拟设备中。这个虚拟设备被称为绑定适配器。

绑定模式中,流量将以组队优先通过。它将从绑定组传递到您的服务器RHEL/CENTOS。绑定组有两个适配器组成,一个处于活动状态,另一个是备份状态。如果活动网卡失效,绑定组将使用备份网卡将流量传递给服务器。这种方式即为典型的主备绑定方式。

绑定方式由以下部分组成:

  • teamd:绑定的服务进程
  • teamdctl:绑定服务的管理工具
  • runners:绑定方式,有三种(线中绑定、负载平衡以及主备方式)

主机目前具有两块网卡,ens33 和 ens34,想要将两块网卡组成绑定组,使用如下命令:

# nmcli con add type team con-name teamA ifname teamA config '{"runner":{"name":"activebackup"}}'
# nmcli con add type team-slave con-name teaeA-slave1 ifname ens33 master teamA
# nmcli con add type team-slave con-name teaeA-slave2 ifname ens34 master teamA

图.5 配置 team 绑定

绑定完成后,就可以为绑定连接 teamA 进行网络配置:

# nmcli con mod teamA ipv4.method manual ipv4.address 192.168.1.20 ipv4.gateway 192.168.1.1 connection.autoconnect yes
# nmcli con up teamA

图.6 配置绑定网络

最后,可以使用命令断开连接,看绑定是否具有主备切换功能:

# nmcli dev disconnect ens34
# teamdctl teamA state

发表评论

您的电子邮箱地址不会被公开。