linux系统绑定双网卡

linux系统绑定双网卡

模式选定

绑定网卡的模式一共有七种
模式0:轮询策略(round robin),mode=0,
优点:流量提高一倍
缺点:需要接入交换机做端口聚合,否则可能无法使用
特点:增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上

模式1:主备策略(active-backup),mode=1,
只有主网卡处于工作状态,备网卡处于备用状态,主网卡坏掉后备网卡开始工作,提供容错能力。
优点:冗余性高
缺点:链路利用率低,两块网卡只有1块在工作
不需要交换机端支持

模式2:异或策略(load balancing (xor)),mode=2
根据源MAC地址和目的MAC地址进行异或计算的结果来选择传输设备,提供负载均衡和容错能力。
需要交换机配置聚合口

模式3:广播策略(fault-tolerance (broadcast)),mode=3
将所有数据包传输给所有接口通过全部设备来传输所有数据,一个报文会复制两份通过bond下的两个网卡分别发送出去,提供高容错能力。
需要交换机配置聚合口

模式4:动态链接聚合(lacp),mode=4,按照802.3ad协议的聚合自动配置来共享相同的传输速度,网卡带宽最高可以翻倍,链路聚合控制协议(LACP)自动通知交换机聚合哪些端口,需要交换机支持 802.3ad协议,提供容错能力。

模式5:输出负载均衡模式(transmit load balancing),mode=5,输出负载均衡模式,只有输出实现负载均衡,输入数据时则只选定其中一块网卡接收,需要网卡和驱动支持ethtool命令。

模式6:输入/输出负载均衡模式(adaptive load balancing),mode=6,输入和输出都实现负载均衡,需要网卡和驱动支持ethtool命令。

mode5和mode6不需要交换机端的设置,网卡能自动聚合。mode4需要支持802.3ad。mode0,mode2和mode3理论上需要静态聚合方式。

实现mode1试验

拿到新机器后,执行以下操作

# 永久关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
# 临时关闭selinux
setenforce 0
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭NetworkManager,否则重启网卡时报错
systemctl stop NetworkManager
systemctl disable NetworkManager

修改网卡信息ens33和ens34
首先按照原配置将ens33 和 ens34 中的ONBOOT改为yes
在这里插入图片描述
然后ping www.baidu.com查看是否可以上网,保证两个网卡可以正常上网
如何检查呢如下

# 关闭ens33
ifdown ens33
# 查看端口状态,如没有就yum -y install net-tools
ifconfig
# ping百度
ping www.baidu.com
# 开启ens33
ifup ens33
# 查看端口状态
ifconfig
# 同样操作ens34 检查网卡是否可用

在这里插入图片描述
检查完成后,进行下一步,使用mode1模式进行绑定网卡
将网卡进行备份

cp /etc/sysconfig/network-scripts/ifcfg-{ens33,ens33_bak}
cp /etc/sysconfig/network-scripts/ifcfg-{ens34,ens34_bak}

创建一个虚拟网卡bond0

vim  /etc/sysconfig/network-scripts/ifcfg-bond0

将下面内容填入,注意ip地址需要和网段相同

TYPE=Ethernet
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.19.120
NETMASK=255.255.255.0
GATEWAY=192.168.19.2
DNS1=114.114.114.114

修改ens33网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

将下面内容填入

TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

修改ens34网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens34

将下面内容填入

TYPE=Ethernet
BOOTPROTO=none
NAME=ens34
DEVICE=ens34
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

在/etc/modprobed.d/中创建bonding.conf

vim /etc/modprobe.d/bonding.conf

将下面内容填入

alias bond0 bonding
options bond0 miimon=100 mode=1 fail_over_mac=1

编辑开机脚本将两个网卡指定热备模式下工作顺序

# 添加启动项
echo "ifenslave bond0 ens33 ens34" >> /etc/rc.d/rc.local
# 添加执行权限
chmod +x /etc/rc.d/rc.local

最后重启网卡

# 重启网卡
systemctl restart network
# ifconfig查看信息
ifconfig

在这里插入图片描述
想查看那个网卡再工作,使用下面这个命令

cat /proc/net/bonding/bond0

在这里插入图片描述
然后就可以进行测试啦
找个机器ping 本次测试的机器
ping 192.168.19.120

# 先停掉ens33
ifdown ens33
# 查看网卡信息
ifconfig
# 查看ping百度的命令是否有断开
# 启动ens33
ifup ens33
# 重复操作ens34

经查看,当网卡切换时,ping的命令是有一个丢包
在这里插入图片描述

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值