当前位置: 首页 > article >正文

CentOS7 虚拟机 双网卡绑定

一、网卡绑定模式

模式类型特点
mode0round-robin(平衡轮询策略)基于per packet方式,轮询往每条链路发送报文。提供负载均衡和容错的能力,当有链路出问题,会把流量切换到正常的链路上。交换机端需要配置聚合口。
mode1active-backup(主-备份策略)

一个端口处于主状态 ,一个处于从状态,所有流量都在主链路上处理,从链路不会有任何流量。当主端口down掉时,从端口接手主状态。不需要交换机端支持。

mode2balance-xor(平衡策略)该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。交换机端需要配置聚合口。
mode3brodcast(广播策略)在每个slave接口上传输每个数据包,适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。
mode4IEEE 802.3ad(动态链接聚合)802.3ad模式是IEEE标准,因此所有实现了802.3ad的对端都可以很好的互操作。802.3ad 协议包括聚合的自动配置,因此只需要很少的对交换机的手动配置(要指出的是,只有某些设备才能使用802.3ad)。802.3ad标准也要求帧按顺序(一定程度上)传递,因此通常单个连接不会看到包的乱序。
mode5Balance-tlb(适配器传输负载均衡)不需要交换机支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。
mode6Balance-alb(适配器适应性负载均衡)模式包含了上一个模式,同时加上针对IPV4流量的接收负载均衡,而且不需要任何交换机的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

日常生产环境中常用的模式是mode4。

二、常用配置项

# primay 指定哪个slave成为主设备,只针对mode-1
# updelay 指定当发现一个链路恢复时,在激活该链路之前的等待时间,以毫秒计算。
# arp_interval 指定ARP链路监控频率,单位是毫秒(ms)。
# arp_ip_target 指定一组IP地址用于ARP监控的目标,它只在arp_interval > 0时有效。
# downdelay 指定一个时间,用于在发现链路故障后,等待一段时间然后禁止一个slave,单位是毫秒(ms)。
# lacp_rate 指定在802.3ad模式下,我们希望的链接对端传输LACPDU包的速率。有如下选项:
# 1)slow 或者 0 请求对端每30s传输LACPDU
# 2)fast 或者 1 请求对端每1s传输LACPDU
# 3)缺省值是slow
# max_bonds    为bonding驱动指定创建bonding设备的数量。
# miimon 指定MII链路监控频率,单位是毫秒(ms)。
# mode 指定bonding的策略。

三、bond0

1)关闭Networking服务

[root@localhost network-scripts]# systemctl stop NetworkManager

2)配置ens33

[root@localhost network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

BOOTPROTO=none

NAME=ens33

UUID=8bf9b3d0-2885-4740-927a-c6e03ebd5e41

DEVICE=ens33

ONBOOT=yes

MASTER=bond0

SLAVE=yes

3)配置ens37

[root@localhost network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

BOOTPROTO=none

NAME=ens37

UUID=55e27294-0578-364d-acc6-1077fd83cb21

DEVICE=ens37

ONBOOT=yes

MASTER=bond0

SLAVE=yes

4)配置bond0

[root@localhost network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-bond0

TYPE=bond

BOOTPROTO=none

DEFROUTE=yes

NAME=bond4

DEVICE=bond4

ONBOOT=yes

IPADDR=192.168.56.136

NETMASK=255.255.255.0

GATEWAY=192.168.56.2

DNS1=8.8.8.8

BONDING_MASTER=yes

USERCTL=no

BONDING_OPTS="mode=0 miimon=100 primary=ens37 updelay=60000"

# 设置自动加载配置

[root@localhost network-scripts]# vi /etc/modprobe.d/bonding.conf

alias bond0 binding

options bond0 mode=0 miimon=100 primary=ens37 updelay=60000

5)开启混杂模式

[root@localhost network-scripts]# ip link set ens33 promisc on

[root@localhost network-scripts]# ip link set ens37 promisc on

# 设置开机自动将网卡设为混杂模式

[root@localhost network-scripts]# vi /etc/rc.local

ip link set ens33 promisc on

ip link set ens37 promisc on

6)测试

重启服务,分别移除不同的网络适配器,验证bond的高可用。

四、bond1

1)配置ens33

[root@localhost network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

BOOTPROTO=none

NAME=ens33

UUID=8bf9b3d0-2885-4740-927a-c6e03ebd5e41

DEVICE=ens33

ONBOOT=yes

MASTER=bond4

SLAVE=yes

2)配置ens37

[root@localhost network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-ens37

TYPE=Ethernet

BOOTPROTO=none

NAME=ens37

DEVICE=ens37

UUID=55e27294-0578-364d-acc6-1077fd83cb21

ONBOOT=yes

MASTER=bond4

SLAVE=yes

3)配置bond1

[root@localhost network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-bond1

TYPE=bond

BOOTPROTO=none

DEFROUTE=yes

NAME=bond4

DEVICE=bond4

ONBOOT=yes

IPADDR=192.168.56.136

NETMASK=255.255.255.0

GATEWAY=192.168.56.2

DNS1=8.8.8.8

BONDING_MASTER=yes

USERCTL=no

BONDING_OPTS="mode=1 miimon=100 primary=ens37 updelay=60000"

# 设置自动加载配置

[root@localhost network-scripts]# vi /etc/modprobe.d/bonding.conf

alias bond1 binding

options bond1 mode=1 miimon=100 primary=ens37 updelay=60000

4)测试

分别断开网卡,使用ping命令测试网络连通性 


http://www.kler.cn/a/422201.html

相关文章:

  • 浅谈——Linux命令入门之前奏
  • python源码实例游戏开发小程序办公自动化网络爬虫项目开发源码(250+个项目、26.6GB)
  • TYUT设计模式精华版
  • Navicat连接SQL Server及SpringBoot连接SQL Server(jtds)
  • Java八股文(11-29start)
  • Android矩阵Matrix在1张宽平大Bitmap批量绘制N个小Bitmap,Kotlin(1)
  • 爬虫第四篇:Xpath 路径表达式全解析:从网页基础到爬取百度贴吧图片实战
  • protobuf使用说明
  • html+css网页设计马林旅行社移动端4个页面
  • Python Web 开发 FastAPI 入门:从基础架构到框架比较
  • Go 语言函数编程指南:定义、调用技巧与返回值机制
  • 40分钟学 Go 语言高并发:基准测试编写
  • 项目开发规范
  • 论文:IoU Loss for 2D/3D Object Detection
  • 明明的随机数
  • FPGA实战篇(触摸按键控制LED灯)
  • Mock.js的学习使用
  • 5G学习笔记之随机接入
  • 基于Java Springboot校园导航微信小程序
  • 658.找到K个最接近的元素(双指针)
  • 【深度学习】—CNN卷积神经网络 从原理到实现
  • 社区团购中 2+1 链动模式商城小程序的创新融合与发展策略研究
  • Linux 网卡收包流程如下
  • 手机ip地址取决于什么?可以随便改吗
  • 20240921解决使用PotPlayer在WIN10电脑播放4K分辨率10bit的视频出现偏色的问题
  • stable diffusion实践操作-大模型介绍:SD的发展历史,SD1.5和SDXL之间的差别