bonding

简介:

 多块网卡绑在一起,作为一个网卡用,实现负载均衡和提高带宽

 
linux双网卡绑定一个IP地址,实质工作就是使用两块网卡虚拟为一块,使用同一个IP地址,是我们能够得到更好的更快的服务。其实这项技术 在 Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称为 bonding。  
   1、bonding 的原理:
  什么是bonding需要从网卡的混杂(promisc)模式说起。我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接 收网络上所有的帧,比如说tcpdump,就是运行在这个模式下.bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的 Mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。
  2、bonding模块工作方式:
  bonding mode=1 miimon=100.miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0-6 七种模式,常用的为0,1,6三种。
  mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
  mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
  mode=6:平衡负载模式,有自动备援,不需要”Switch”支援及设定。
 
 注意:
MODE=0测试结论:如果交换机未配置链路聚合则会发生MAC动荡的情况,在配置了链路聚合后不会出现,发出数据包的MAC为Bond0的MAC
MODE=6测试结论:此时交换机无需特殊配置,即可实现负载均衡。2个网卡发出的包使用的是各自的MAC,因此也不会造成交换机MAC地址表的动荡
 
  3、debian系统的安装配置
  3.1、安装ifenslave
  apt-get install ifenslave
  3.2、让系统开机自动加载模块bonding
  sudo sh -c "echo bonding mode=1 miimon=100 >> /etc/modules"
  3.3、网卡配置
  sudo vi /etc/network/interfaces
  #实例内容如下:
  auto lo
  iface lo inet loopback
  auto bond0
  iface bond0 inet static
  address 192.168.1.110
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1
  post-up ifenslave bond0 eth0 eth1
  pre-down ifenslave -d bond0 eth0 eth1
  3.4、重启网卡,完成配置
  #如果安装ifenslave后你没有重启计算机,必须手动加载bonding模块。
  sudo modprobe bonding mode=1 miimon=100
  #重启网卡
  sudo /etc/init.d/networking restart
  4、redhat系统的安装配置
  4.1、安装ifenslave
  redhat默认一般已经安装。未安装的要先安装。
  yum install ifenslave
  4.2、让系统开机自动加载模块bonding
  sudo sh -c "echo alias bond0 bonding >> /etc/modprobe.conf"
sudo sh -c "echo options bond0 miimon=100 mode=1 >> /etc/modprobe.conf"
  4.3、网卡配置
  sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
  #eth0配置如下
  DEVICE=eth0
  ONBOOT=yes
  BOOTPROTO=none
  sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1
  #eth1配置如下
  DEVICE=eth1
  ONBOOT=yes
  BOOTPROTO=none
  sudo vi /etc/sysconfig/network-scripts/ifcfg-bond0
  #bond0配置如下
  DEVICE=bond0
  ONBOOT=yes
  BOOTPROTO=static
  IPADDR=192.168.1.110
  NETMASK=255.255.255.0
  GATEWAY=192.168.1.1
  SLAVE=eth0,eth1
  TYPE=Ethernet
  #系统启动时绑定双网卡
  sudo sh -c "echo ifenslave bond0 eth0 eth1 >> /etc/rc.local"
  4.4、重启网卡,完成配置
  #如果安装ifenslave后你没有重启计算机,必须手动加载bonding模块。
  sudo modprobe bonding mode=1 miimon=100
  #重启网卡
  sudo /etc/init.d/network restart
  5、交换机etherChannel配置
  使用mode=0时,需要交换机配置支持etherChannel。
  Switch# configure terminal
  Switch(config)# interface range fastethernet 0/1 - 2
  Switch(config-if-range)# channel-group 1 mode on
  Switch(config-if-range)# end
  Switch#copy run start









本文转自 kuchuli 51CTO博客,原文链接:http://blog.51cto.com/lgdvsehome/812519,如需转载请自行联系原作者
目录
相关文章
|
设计模式 Java 机器人
SpringBoot3自动配置流程 SPI机制 核心注解 自定义starter
SpringBoot3自动配置流程 SPI机制 核心注解 自定义starter
|
机器学习/深度学习 编解码 计算机视觉
一文读懂深度学习中的各种卷积 !!
一文读懂深度学习中的各种卷积 !!
504 0
|
缓存 API 流计算
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
|
弹性计算 运维 架构师
阿里云推出“百炼计划”训练营,“训战结合”精准提升伙伴能力
阿里云组织的首场面向合作伙伴的“百炼计划”训练营在山东省圆满收官。
|
人工智能 自然语言处理 算法
GPT-4无师自通预测蛋白质结构登Nature子刊!LLM全面进军生物学,AlphaFold被偷家?
【9月更文挑战第17天】近日,《自然》子刊发表的一篇论文展示了GPT-4在预测蛋白质结构方面的惊人能力,这一突破不仅揭示了大型语言模型在生物学领域的巨大潜力,还可能影响传统预测工具如AlphaFold的地位。研究人员发现,GPT-4仅通过自然语言处理就能准确预测蛋白质的三维结构,包括常见的氨基酸序列和复杂的α-螺旋结构。实验结果显示,其预测精度与实际结构非常接近。这一成果意味着自然语言处理技术也可应用于生物学研究,但同时也引发了关于其局限性和对现有工具影响的讨论。论文详情见:https://www.nature.com/articles/s41598-024-69021-2
289 8
|
机器学习/深度学习 自然语言处理 开发者
大语言模型应用框架介绍
大型语言模型(LLM)是在大规模文本数据上训练而成,用于执行自然语言处理任务的深度学习模型,如文本分类、问答、总结和生成等。尽管LLM如ChatGPT、GPT-3、LaMDA等备受关注,但其泛化能力和特定任务优化方面仍有限制。为此,应用框架如LangChain应运而生,提供了更优化的解决方案。学习LLM应用框架可循序渐进,掌握其应用场景及常见框架,构建具体应用。
|
机器学习/深度学习 人工智能 自然语言处理
500篇论文!最全代码大模型综述来袭
11月14日,蚂蚁集团联合上海交通大学发布55页代码大模型综述,覆盖超过50个模型、30个下游任务、500篇参考文献,全方位总结大语言模型在代码相关应用中的最新进展与挑战。
1834 0
|
存储 传感器 物联网
|
安全 网络安全 数据安全/隐私保护
什么是双因素身份验证 (2FA)?
【4月更文挑战第14天】
2364 2
|
前端开发 应用服务中间件 nginx
用docker和nginx部署前端项目访问本地java网关gateway服务
本地开发 java 微服务项目,但是拿到的对应的web前端项目只有打包编译过后的 dist 目录里的静态资源(里面只有一个index.html和一些编译过后的 js、css文件),前端接口需要先访问到 java 的网关服务,然后网关里再做转发