双网卡绑定bond0配置mode=0(balance-rr)

一、查看现有网卡

1、什么是bond?

网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。

2、实现原理:

网卡工作在混杂(promisc)模式,接收到达网卡的所有数据包,tcpdump工作用的也是混杂模式(promisc),将两块网卡的 MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进行处理。

3、通过以下命令确定内核是否支持 bonding:

cat /boot/config-3.10.0-957.el7.x86_64 |grep -i bonding
CONFIG_BONDING=m

4、bond的模式

bond的模式常用的有两种:mode=0(balance-rr)

表示负载分担round-robin,并且是轮询的方式比如第一个包走eth0,第二个包走eth1,直到数据包发送完毕。

优点:流量提高一倍

缺点:需要接入交换机做端口聚合,否则可能无法使用

mode=1(active-backup)

表示主备模式,即同时只有1块网卡在工作。

优点:冗余性高

缺点:链路利用率低,两块网卡只有1块在工作

注:默认情况下虚拟机只有一块网卡

二、配置

1、查看系统版本

cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core) 

2、查看内核版本

uname -r
3.10.0-957.el7.x86_64

3、模拟添加一块物理网卡:

4、查看是否添加完成:

ip a

注:目前可以看到有两块物理网卡;

5、配置网卡文件:

cd /etc/sysconfig/network-scripts/    进入到网卡文件配置目录
cp ifcfg-ens33 ifcfg-ens36            拷贝一份原网卡文件修改配置
vim ifcfg-en36                        修改网卡文件配置
systemctl restart network             修改完成重启网卡
ip a                                  查看新添加网卡是否有ip,是否识别到新添加的网卡

6.编辑网卡配置文件

网卡1:vim ifcfg-ens33
DEVICE=ens33              #网口名eth0
TYPE=Ethernet            #以太网接口
ONBOOT=yes              #LINUX在启动时激活该网口
BOOTPROTO=none    #使用什么协议激活网口
                                               none表示不使用任何协议
                                               static表示设置静态IP
                                               dhcp表示动态获取IP
MASTER=bond0         #指定虚拟网口的名字(主人)
SLAVE=yes                  #备用(从设备)
网卡2:vim ifcfg-ens36
DEVICE=ens36               #网口名eth1
TYPE=Ethernet            #以太网接口
ONBOOT=yes              #LINUX在启动时激活该网口
BOOTPROTO=none    #使用什么协议激活网口
                                              none表示不使用任何协议
                                              static表示设置静态IP
                                              dhcp表示动态获取IP
MASTER=bond0         #指定虚拟网口的名字
SLAVE=yes                  #备用
bond0网卡文件:vim ifcfg-bond0
DEVICE=bond0           名称
TYPE=Ethernet
ONBOOT=yes             状态开启或关闭
BOOTPROTO=static       配置静态或动态
IPADDR=192.168.1.116   IP地址
NETMASK=255.255.0.0    掩码
GATEWAY=192.168.1.1    网关
DNS1=
BONDING_OPTS=”miimon=100 mode=0”
查看内核模块的信:modinfo
查看内核是否支持:lsmod
加载模块的信:modprobe --first-time bonding
关闭NetworkManager: systemctl stop NetworkManager
查看查看bond0状态:/proc/net/bonding/bond0
重启网卡:systemctl restart network
删除bond0:ifconfig bond0 down    rmmod bonding

三、直接使用nmcli 命令做双网卡绑定bond0:

nmcli:

OBJECT里我们平时用的最多的就是connection和device,这里就跟大家简单区分一下connection和device connection是连接,偏重于逻辑设置 device叫网络接口,是物理设备 多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。 这样的好处是针对一个网络接口,我们可以设置多个网络连接,比如静态IP和动态IP,再根据需要up相应的connection

3.1命令操作

nmcli device show 查看所有网卡设备信息     后面指定具体网卡名称可以查看某块网卡详细的信息
nmcli connection show 查看所有连接        后面指定具体网卡名称可以查看某块网卡详细的信息 
connection show 后跟上 -a 参数是仅显示活动的连接
balance-rr : mode1  轮询
balance-backup :mode0  主备
​
nmcli con add type bond con-name bond0 ifname bond0 mode balance-rr
 
# 为Bond连接添加从属设备(假设从属设备是eth0和eth1)
nmcli con add type ethernet con-name bond-slave-eth0 ifname ens33 master bond0
nmcli con add type ethernet con-name bond-slave-eth1 ifname ens36 master bond0
 
bond-slave-eth0 网卡名称         ens33 添加的哪块网卡
​
 
# 激活Bond连接  重启网卡与bond0
nmcli con up bond0
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1

3.2 在命令行输入nmtui进入操作界面按下面步骤进行操作:

 

 

使用命令查看bond完成:

nmcli con show

 

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值