• Bond网卡


    一、Bond网卡

    1.1 Bond网卡概述

    Bond网卡是指使用 Linux 系统中的 Bonding 技术创建的虚拟网络接口。

    Bonding 技术允许将多个物理网卡(也称为接口或端口)绑定在一起,形成一个虚拟的网络接口,以增加网络带宽、提高网络容错性和负载均衡能力。

    在 Linux 中,可以使用工具如 ifenslaveifconfigip 等来配置和管理 Bonding 接口。

    1.2 Linux网卡的绑定模式

    • mode=0 :load-balancing 负载均衡方式,两个网卡都工作,最简单常用

    • mode=1 :冗余模式,只有主工作,从监听,主挂了,从才工作

    • mode=2 :平衡策略,既能提供负载均衡,也有容错能力,冗余的升级版

    • mode=3 :网卡的广播策略,极少用

    • mode=4 :动态链聚合(连接交换即)

    • mode=5 :也是负载均衡模式,但是需要额外插件:ethtool支持每个slave的速率(定制模式,很少见)

    • mode=6 :适配器的负载均衡,也很少用

    二、配置简单Bond网卡

    要求:新增一个网络适配器到虚拟机,配置网卡,使虚拟机的两个网卡实现Bond网卡。

    共用IP地址:20.0.0.30

    实现:

    1. 新增网卡后,ifconfig查看新增网卡的设备名为ens36

    2. 对两个网卡的配置文件进行修改:ens33 ens36

      ens33

      vim /etc/sysconfig/network-scripts/ifcfg-ens33 
      #配置文件内容如下
      TYPE=Ethernet
      DEVICE=ens33	#当前设备名
      ONBOOT=yes
      BOOTPROTO=none	#不设置IP地址
      MASTER=bond0	#主设备为bond0
      SLAVE=yes		#从属于bond0
      USERCTL=no		#禁止普通用户启用/禁止设备
      

      ens36

      vim /etc/sysconfig/network-scripts/ifcfg-ens36 
      #配置文件内容如下
      TYPE=Ethernet
      DEVICE=ens36	#当前设备名
      ONBOOT=yes
      BOOTPROTO=none	#不设置IP地址
      MASTER=bond0	#主设备为bond0
      SLAVE=yes		#从属于bond0
      USERCTL=no		#禁止普通用户启用/禁止设备
      
    3. 创建并编辑虚拟网卡bond0

      vim /etc/sysconfig/network-scripts/ifcfg-bond0
      #配置文件内容如下
      TYPE=Ethernet
      DEVICE=bond0		#虚拟网卡设备bond0
      ONBOOT=yes
      BOOTPROTO=static	#静态IP地址
      IPADDR=20.0.0.30
      NETMASK=255.255.255.0
      GATEWAY=20.0.0.2
      DNS1=218.2.135.1
      BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"
      

      最后一行的解释:绑定的模式和选项
      BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"

    • miimon=100 :检查所有从设备的连接状态,100表示100ms,即每隔100ms检查从设备网卡的连接状态

    • mode=0 :绑定网卡的mode=0

    • fail_over_mac=1 :表示在故障切换时,备用接口会获取主接口的MAC地址,减少切换过程中可能出现的故障。如果计算机连接交换机,交换机不需要重新学习MAC地址。ens33,ens36都知道对方的MAC地址。

    刷新bond配置,重启网卡

    modprobe bonding 	#刷新bond配置
    systemctl restart network
    

    ifconfig查看网卡信息
    在这里插入图片描述
    可以看到:ens33ens36都没有IP地址,它们共用bond0的IP地址。

    测试连通性、查看数据流向。

    tcpdump -i ens33
    tcpdump -i ens36
    

    可以看到两个网卡都有数据,实现简单的负载均衡。

    tcpdump :Linux自带的抓包工具

    -i :接设备名,抓取指定设备的数据包流量

    也可以ifdown 关掉一个网卡,网络依然可以联通。

  • 相关阅读:
    Java | Leetcode Java题解之第130题被围绕的区域
    Git基本操作(1)
    两种AI 图像生成技术:MidJourney 和 Stable Diffusion
    Nginx 常用的基础配置(前端相关方面)
    [机缘参悟-76]:深度思考-职场中注意事项与大忌-员工版
    HTML语法标记有什么特点
    tomcat优化(生产环境) 加多实例部署
    大语言模型LLM分布式框架:PyTorch Lightning框架(LLM系列14)
    解析Collection接口中的常用的被实现子类重写的方法
    #php将时间戳 转化为天小时分秒#
  • 原文地址:https://blog.csdn.net/weixin_44265455/article/details/139479821