聚合链路技术
什么是bonding
提供了一种将多个网络接口设备绑定到一个网络接口的方法。这可用于网络负载平衡和网络冗余;
实现将两个网卡虚拟成一个网卡。这种聚合设备看起来就像一个以太网接口设备。通俗地说,这意味着两个网卡拥有相同的 IP 地址,并被聚合在一起,从而使并行链路成为一个逻辑链路。
bonding的作用
绑定主要用于两个方面:
1. 负载均衡
绑定技术可将网络服务流量平均分配给不同的服务器和网络设备,减轻单个服务器或网络设备的负担,从而提高整个系统的效率。
2. 实现网络冗余
在网络中,网络设备的可靠性尤为重要,尤其是网卡。实现网络冗余可大大提高网络的可靠性和安全性。 在生产系统中,大多数硬件设备都通过冗余来提供服务器的可靠性和安全性;
bonding的实际操作
①第一步:首先虚拟机要有2块网卡,若只有一块网卡打开虚拟机设置--点击添加--选择网络适配器添加即可。
②第二步:开启虚拟机后使用ifconfig查看网卡是否添加成功。
③第三步:进入网卡配置文件目录/etc/sysconfig/network-scripts/下,然后创建bonding设备文件。
cd /etc/sysconfig/network-scripts/
#进入网卡配置目录
vim ifcfg-bond0
#创建bond配置文件
#文件内容:
NAME=bond0
#bond名称
TYPE=bond
#类型
DEVICE=bond0
#设备名称为bond0
BOOTPROTO=none
#获取方式为none
IPADDR=192.168.136.133
#bond0的ip地址为192.168.136.133
NETMASK=255.255.255.0
#bond0的掩码为255.255.255.0
GATEWAY=192.168.136.2
#bond0的网关地址为192.168.136.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#bond配置,mode表示使用bond类型是bond几
#miimon表示统每多少ms监测一次链路连接状态,如果有其中一条不通则转入另一条链路
#fail_over_mac=1策略表示绑定的MAC地址应永远是目前活动从属连接网卡的MAC地址。从属连接网卡的MAC地址不会更改,除非此网卡发送故障ip地址转移到另一网卡,MAC地址才会改变
DNS1=114.114.114.114
DNS2=8.8.8.8
④ 第四步:进入主网卡ens33配置主bond。
vim ifcfg-ens33
#打开ens33网卡配置文件
BOOTPROTO=static
#获取地址方式为static
NAME=ens33
#网卡名称为ens33
DEVICE=ens33
#设备名称为ens33
ONBOOT=yes
#网卡开机自启
MASTER=bond0
#主bond为bond0
SLAVE=yes
#开启从属bond
⑤第五步:进入备网卡ens35配置从属bond
vim ifcfg-ens35
#打开ens35网卡配置文件
NAME=ens35
#网卡名称ens35
DEVICE=bond0
#设备名称为bond0
BOOTPROTO=none
#不设置获取地址模式
MASTER=bond0
#主bond为bond0
SLAVE=yes
#开启从属连接
ONBOOT=yes
#网卡开机自启
⑥第六步:重启网卡使用另一台主机进行ping操作,在虚拟机里关闭一张网卡
第一台主机:
systemctl restart network //重启防网络服务
第二台主机:
ping 192.168.136.133 //ping第一台主机
nmcli实现bonding (第二种方法)
#创建新连接static ,指定静态IP,不自动连接
nmcti con add con-name static ifname eth0 autoconnect no type Ethernet
ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254
nmcli connection modify ens33 ipv4.addresses 192.168.136.133/2
nmcli connection up ens33
#添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.136.123/24
#添加从属接口
nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens35 master bond0
#注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
#要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens35
#启动绑定
nmcli con up mybond0