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

bonding技术

一、介绍

Linux 双网卡绑定,是指将两块网卡虚拟成一块网卡。聚合后的设备看似是一个独立的以太网接口,通俗来讲,就是两块网卡拥有相同的 IP 地址,并行连接形成一个逻辑链路。这项技术在 Sun 和 Cisco 中早有应用,被称为 Trunking 和 Etherchannel 技术。在 Linux 2.4.x 内核中,也采用了此技术,称为 bonding。bonding 技术最初应用于集群,旨在提升集群节点间的数据传输效率。

二、原理


BONDING_OPTS="miimon=50 mode=1 fail_over_mac=1"

miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;

mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。

mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。(需要交换机支持)

mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.


 (1)负载均衡模式:mode=0

部署——

(说明:要用kvm做,如果用VMware做会出问题) 

1.准备两块网卡

[root@kvm ~]# virsh attach-interface vm-1 --type bridge --source virbr0 --persistent  

#添加网卡

[root@bonding ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

USERCTL=no

ONBOOT=yes

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

[root@bonding ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens9

DEVICE=ens9

USERCTL=no

ONBOOT=yes

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

2.关闭NetworkManager

[root@haproxy ~]# systemctl stop NetworkManager        #启动NetworkManager服务

3.配置bonding

[root@haproxy ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

NAME=bond0

IPADDR=192.168.122.100

NETMASK=255.255.255.0

GATEWAY=192.168.122.1

DNS1=114.114.114.114

ONBOOT=yes

BOOTPROTO=none

BONDING_OPTS="miimon=50 mode=0"

4.重启网络

[root@haproxy ~]# systemctl restart network

这时候你的网卡会呈现这种状态,eth0和ens9都是处于up状态但是没有ip,只有bond有ip

5.测试

开三个终端以及一台客户机进行测试

[root@haproxy ~]# yum install tcpdump        #安装tcpdump

终端1:

[root@haproxy ~]# tcpdump -nn -i eth0 icmp        #抓包

终端2:

[root@haproxy ~]# tcpdump -nn -i ens9 icmp

客户机:

[root@kvm ~]# ping 192.168.122.100

测试结果应该是两台终端都能接收到信息

(2)冗余模式:mode=1

部署——

1.配置bonding

[root@haproxy ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

NAME=bond0

IPADDR=192.168.122.100

NETMASK=255.255.255.0

GATEWAY=192.168.122.1

DNS1=114.114.114.114

ONBOOT=yes

BOOTPROTO=none

BONDING_OPTS="miimon=50 mode=1 fail_over_mac=1"

将0改成1就行了,然后再加上fail_over_mac=1就行 

2.重启网络

 [root@haproxy ~]# systemctl restart network

3.测试

[root@haproxy ~]# cat /proc/net/bonding/bond0

开三个终端以及一台客户机进行测试

[root@haproxy ~]# yum install tcpdump        #安装tcpdump

终端1:

[root@haproxy ~]# tcpdump -nn -i eth0 icmp        #抓包

终端2:

[root@haproxy ~]# tcpdump -nn -i ens9 icmp

客户机:

[root@kvm ~]# ping 192.168.122.100

测试结果应该是只有终端2能接收到信息

相关文章:

  • span与span之间的空白如何解决?
  • Shopify Checkout UI Extensions
  • 电阻的阻值识别
  • 数据结构5(初):排序
  • 【跟着灵神刷力扣】定长滑动窗口
  • 【动态规划】相关复习
  • python数据增强和转换
  • linux 设置tomcat开机自启动
  • 面试常问系列(一)-神经网络参数初始化
  • 大模型量化框架GPTQModel的基本使用方法
  • 【yolo】yolo训练报错,以及解决方案
  • Linux 线程概念
  • 2025.03.21首板涨停股票分析
  • nt!KeWaitForMultipleObjects函数分析之一个例子ExpWorkerThreadBalanceManager
  • 字节手撕题 小于 n 的最大整数 贪心 回溯 剪枝 全排列
  • 基于springboot的地方美食分享网站(全套)
  • 基于Flux模型的多模态可控图像生成工作流实践
  • 从零开始上手huggingface
  • 综合实验配置
  • 开源链动2+1模式、AI智能名片与S2B2C商城小程序源码在社交电商渠道拓宽中的协同应用研究
  • 海昏侯博物馆展览上新,“西汉帝陵文化展”将持续展出3个月
  • 中国首艘海洋级智能科考船“同济”号试航成功,可搭载水下遥控机器人
  • 媒体:“重病老人银行取款身亡”涉事家属称已和解,银行将支付十万
  • 涉案资金超2亿元 “健康投资”骗局,专挑老年人下手
  • 车建兴被留置:跌落的前常州首富和红星系重整迷路
  • 今年有望投产里程已近3000公里,高铁冲刺谁在“狂飙”?