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

CentOS 7 双网卡绑定热备 —— 筑梦之路

为什么需要?

1. 增强网络的可靠性

2. 保障服务的可持续性

3. 降低网卡故障带来的不良影响

 有哪些模式?

模式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理论上需要静态聚合方式。

 实践示例

1. 关闭NetworkManager

关闭NetworkManager(否则重启网卡时报错)systemctl disable NetworkManager  --now服务解释:
NetworkManager服务是Linux系统中的一个网络管理服务,它负责管理网络连接、配置和设备。
NetworkManager提供了一个集中式的方式来管理和配置系统中的网络连接,可以自动检测和配置网络设备,包括有线和无线网络。它可以管理多种网络连接类型,如以太网、Wi-Fi、蓝牙、VPN和移动宽带等。它还支持网络连接的自动切换和优先级管理,以确保系统始终使用最佳的可用网络连接。
通过NetworkManager服务,用户可以通过命令行、图形界面或API来管理网络连接。它提供了一组工具和接口,使用户能够查看和修改网络设置,包括IP地址、DNS服务器、代理设置等。
NetworkManager还支持网络连接的自动配置和自动连接功能,可以根据网络环境和设备状态来自动选择最佳的网络连接。它还提供了一些安全功能,如连接的密钥管理和认证。

2. 备份配置

cd /etc/sysconfig/network-scripts/cp ifcfg-ens33 ifcfg-ens33bakcp ifcfg-ens36 ifcfg-ens36bak

3. 新建虚拟网卡配置文件

cat > /etc/sysconfig/network-scripts/ifcfg-bond0 << EOF
TYPE=Ethernet
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.1.120
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS1=114.114.114.114
EOF

4. 修改ens33和ens36的配置

# 修改ens33vim  /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no# 修改ens36vim  /etc/sysconfig/network-scripts/ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=none
NAME=ens36
DEVICE=ens36
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

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


vim /etc/modprobe.d/bonding.conf#添加一下内容
alias bond0 bonding
options bond0 miimon=100 mode=1 fail_over_mac=1

6. 指定俩网卡在主备模式下的工作顺序


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

7. 重启网卡服务


systemctl restart network注:
如果ens33和ens36没有重启成功就将他俩单独重启
ifdown ens33;ifup ens33
ifdown ens36;ifup ens36

 8. 测试验证

ping 192.168.1.120断开 ens33
恢复 ens33
断开 ens36
把ens33和ens36都断开

http://www.lryc.cn/news/228882.html

相关文章:

  • Qt绘制简单图表
  • CCLink转Modbus TCP网关_MODBUS网口设置
  • Vux购物车案例
  • 浅析网络协议-HTTP协议
  • 启动Docker服务后显示Docker Engine stopped
  • Centos7 升级到 Centos8 教程以及关于dnf包管理工具的若干问题解决方案
  • 计算机网络技术(一)
  • redis监听key失效
  • echart宽度100px原因(解决el-tabs里的echarts图表宽度不自适应,只有100px问题)
  • 【使用教程】在Ubuntu下PMM60系列一体化伺服电机通过PDO跑循环同步位置模式详解
  • 【机器学习】七、降维与度量学习
  • Yolov5 + 界面PyQt5 +.exe文件部署运行
  • 工作记录--(用HTTPS,为啥能被查出浏览记录?如何解决?)---每天学习多一点
  • MySQL-基础篇
  • 1.Osmdroid概述
  • Excel表列名称
  • ORDER BY limit 10比ORDER BY limit 100更慢
  • aws亚马逊云:置以使用 Amazon EC2!!!
  • torch.cat()、 torch.add()、torch.subtract()、torch.subtract()和torch.div()函数详解和示例
  • jetsonTX2 nx配置tensorRT加速yolov5推理
  • <<C++primer>>函数模板与类模板相关知识点整理
  • 一小时学习 Git 笔记
  • 简单漂亮的登录页面
  • Leetcode-145 二叉树的后序遍历
  • 详解JDBC
  • 江门車馬炮汽车金融中心 11月11日开张
  • Arthas设置参数以Json形式输出
  • 优雅关闭TCP的函数shutdown效果展示
  • 商品管理幻灯图片更换实现
  • tomcat下载与使用教程