Linux网卡绑定

  很多情况下我们都需要用到网卡绑定这中情况,例如:大数据传输备份、网卡冗余。使用网卡绑定可以提高网络的传输速度,并且还能保证网络安全性,做到网卡的高可用,甚至可以节省IP地址。
1171094-20180910165703052-868974724.png

网卡绑定模式

  • mode=0:轮询模式

链路的负载均衡,传输带宽增加,具有容错性,当其中一条链路有故障时可以自动切换到正常链路。

  • mode=1:主备模式

一块网卡处于活跃状态,另一块处于备份状态,时刻检查活跃网卡的使用情况,当网卡出现故障时,备份网卡自动切换为主网卡。

  • mode=2:平衡策略

基于指定的传输HASH策略传输数据包。对负载和容错能力有提升。

  • mode=3:广播策略

在每个slave接口上传输每个数据包,此模式提供了容错能力。

  • mode=4:动态链路聚合

创建聚合组,根据802.3ad规范将多个slave工作在同一个激活的聚合体下。

  • mode=5:适配器传输负载均衡

根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。

  • mode=6:适配器适应性负载均衡

在适配器传输负载均衡的基础上增加了接收负载均衡,接收负载均衡通过ARP协商实现。

配置网卡绑定

查看当前内核是否支持bonding

modinfo bonding

filename:       /lib/modules/3.10.0-693.el7.x86_64/kernel/drivers/net/bonding/bonding.ko.xz
author:         Thomas Davis, tadavis@lbl.gov and many others
description:    Ethernet Channel Bonding Driver, v3.7.1
version:        3.7.1
license:        GPL
alias:          rtnl-link-bond
rhelversion:    7.4
srcversion:     3F7A5A65495F3B40F22AEFD
depends:
intree:         Y
vermagic:       3.10.0-693.el7.x86_64 SMP mod_unload modversions
signer:         CentOS Linux kernel signing key
sig_key:        DA:18:7D:CA:7D:BE:53:AB:05:BD:13:BD:0C:4E:21:F4:22:B6:A4:9C
sig_hashalgo:   sha256
parm:           max_bonds:Max number of bonded devices (int)
parm:           tx_queues:Max number of transmit queues (default = 16) (int)
parm:           num_grat_arp:Number of peer notifications to send on failover event (alias of num_unsol_na) (int)
parm:           num_unsol_na:Number of peer notifications to send on failover event (alias of num_grat_arp) (int)
parm:           miimon:Link check interval in milliseconds (int)
parm:           updelay:Delay before considering link up, in milliseconds (int)
parm:           downdelay:Delay before considering link down, in milliseconds (int)
parm:           use_carrier:Use netif_carrier_ok (vs MII ioctls) in miimon; 0 for off, 1 for on (default) (int)
parm:           mode:Mode of operation; 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb (charp)
parm:           primary:Primary network device to use (charp)
parm:           primary_reselect:Reselect primary slave once it comes up; 0 for always (default), 1 for only if speed of primary is better, 2 for only on active slave failure (charp)
parm:           lacp_rate:LACPDU tx rate to request from 802.3ad partner; 0 for slow, 1 for fast (charp)
parm:           ad_select:802.3ad aggregation selection logic; 0 for stable (default), 1 for bandwidth, 2 for count (charp)
parm:           min_links:Minimum number of available links before turning on carrier (int)
parm:           xmit_hash_policy:balance-xor and 802.3ad hashing method; 0 for layer 2 (default), 1 for layer 3+4, 2 for layer 2+3, 3 for encap layer 2+3, 4 for encap layer 3+4 (charp)
parm:           arp_interval:arp interval in milliseconds (int)
parm:           arp_ip_target:arp targets in n.n.n.n form (array of charp)
parm:           arp_validate:validate src/dst of ARP probes; 0 for none (default), 1 for active, 2 for backup, 3 for all (charp)
parm:           arp_all_targets:fail on any/all arp targets timeout; 0 for any (default), 1 for all (charp)
parm:           fail_over_mac:For active-backup, do not set all slaves to the same MAC; 0 for none (default), 1 for active, 2 for follow (charp)
parm:           all_slaves_active:Keep all frames received on an interface by setting active flag for all slaves; 0 for never (default), 1 for always. (int)
parm:           resend_igmp:Number of IGMP membership reports to send on link failure (int)
parm:           packets_per_slave:Packets to send per slave in balance-rr mode; 0 for a random slave, 1 packet per slave (default), >1 packets per slave. (int)
parm:           lp_interval:The number of seconds between instances where the bonding driver sends learning packets to each slaves peer switch. The default is 1. (uint)

modprobe bonding
lssmod |grep "bonding"

bonding               145728  0

  以上信息表名,我们的内核已经支持bonding,后续直接配置即可,目前大多数的操作系统都已经支持网卡绑定了,我们这里就不在过多的描述不支持该操作的服务器如何进行安装了,如果不支持,网上搜个博客看看吧。

操作前规划

物理接口绑定后的虚拟接口
ens192/ens224bond0

1171094-20180910165731944-1455394589.png

  当前双网卡的速率都是万兆网。

修改物理网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens224

DEVICE=ens224
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

vim /etc/sysconfig/network-scripts/ifcfg-ens192

DEVICE=ens192
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

配置虚拟网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
BONDING_OPTS="mode=0 miimon=100"
BOOTPROTO=none
ONBOOT=yes
BROADCAST=10.240.1.255
IPADDR=10.240.1.1
NETMASK=255.255.0.0
NETWORK=10.240.0.0
USERCTL=no

修改modprobe相关文件

vim /etc/modprobe.d/bonding.conf

alias bond0 bonding
options bonding mode=0 miimon=100

miimon:监控网络链接的频率,单位为毫秒。
mode:配置绑定选用模式。

systemctl restart network

查看绑定后信息

1171094-20180910165757161-1142303023.png

1171094-20180910165814825-1565466607.png

  我们可以发现绑定的虚拟网卡已经启动,并且传输速率为20000Mb/S。
1171094-20180910165828682-1445244516.png

  查看当前网卡绑定信息。

转载于:https://www.cnblogs.com/Cherry-Linux/p/9620952.html

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
<p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"><strong style="word-break: break-all;">本课程为Django第六季课程:</strong>后台管理的项目实战, 本项目主要实现基本的学生管理,包含的主要知识点有:virtualenv虚拟环境、pip下载包、多app项目开发、templates模板的继承、font-awesome图标的使用、原生SQL语句和数据库交互、ORM模型和数据库交互、LayUI页面布局、jQuery实现用户交互、Ajax的异步请求、页面的块状展示数据、表格展示数据、表格的分页、数据的增改删改、Layer弹出层使用、表单的验证等等知识点。</p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;">本案例完整的演示了项目实现过程,虽然不复杂,但涉及的内容非常多,特别是前后端交互的时候,有诸多的坑等着你去踩,好在王老师全程代码呈现,带着大家一起填坑,大大提高学习效率的同时,也培养了大家良好的代码习惯,希望大家一致跟着王老师学习Python开发。</p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"><span style="word-break: break-all;"><span style="word-break: break-all; color: #ff0000;"><strong style="word-break: break-all;">课程目标:</strong></span><br style="word-break: break-all;" /><span style="word-break: break-all;">本系列课程是从零基础开始并深入讲解Django,最终学会使用Django框架开发企业级的项目。课程知识点详细,项目实战贴近企业需求。本系列课程除了非常详细的讲解Django框架本身的知识点以外,还讲解了web开发中所需要用到的技术,学完本系列课程后,您将独立做出一个具有后台管理系统,并且前端非常优美实用的网站。对于从事一份Python Web开发相关的工作简直轻而易举。</span></span></p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"> </p> <p style="word-break: break-all; margin: 0px; padding: 0px; overflow-wrap: break-word; color: #666666; font-family: Verdana, 'Microsoft YaHei', 宋体; font-size: 14px; background-color: #ffffff;"><span style="word-break: break-all;"><span style="word-break: break-all;"><img src="https://img-bss.csdnimg.cn/202102061554519299.png" alt="" /></span></span></p>
<p> <img src="https://img-bss.csdn.net/201909231423115500.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909231423337403.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909231423434581.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909231424065321.png" alt="" /><img src="https://img-bss.csdn.net/201909231424244483.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <div style="color:#444444;"> 适用人群 <p style="color:#666666;"> Java开发人员,Vue开发人员,前后端分离开发人员,权限管理和配置开发人员 </p> </div> <div style="color:#444444;"> 课程概述 <div style="color:#666666;"> 【讲师介绍】<br />       现某知名大型互联网公司资深架构师,技术总监,职业规划师,首席面试官,曾在某上市培训机构,高校任教多年。<br />      Array(Array老师)10多年互联网公司实战经验,知名的大型互联网公司的架构师,高管等职,在企业长期从事于技术的源码阅读和新技术的研究;擅长于职业规划,面试辅导,从事面试官多年 <br /> 技术选型<br /> 开发环境:Eclipse/Idea ,JDK 1.8以上 <br /> 后端技术<br /> 核心框架:SpringBoot2.x框架系列(同样适用Springcloud F版本以后的版本),如下(节选):    <br /> 持久层框架:MyBatis 3.x + Mybatis-plus 3.x<br /> 日志管理:SLF4J 1.7 + Log4j2 2.7<br /> 工具类:Apache Commons、Jackson 、fastjson、Gson<br /> 权限验证<br /> 前端技术  <br /> Vue  <br /> Vue-cli<br /> ElementUI ---https://element.eleme.io/<br /> JSX (JavaScript Xml)<br /> 前台的权限验证和路由设置<br /> 开发模式  <br />      前后端分离的开发<br /> 数据库 <br />       Mysql5<br /> IDE<br />     Intellij Idea<br /> 【课程收益】<br /> 学完课程能独立完成springboot2+vue+elementUI的整合项目开发(前后端分离) <br /> 学完课程能Shiro的权限控制,按钮级别的权限控制 <br /> 学完课程能独立后端开发和独立前端开发Vue <br /> 学完课程能快速的掌握目前互联网用的前沿的框架和技术实战 </div> </div>
<p class="MsoNormal"> <span style="font-family:'微软雅黑',sans-serif;">YOLO</span><span style="font-family:'微软雅黑',sans-serif;">系列是基于深度学习的端到端实时目标检测方法。 <span>PyTorch</span>版的<span>YOLOv5</span>轻量而性能高,更加灵活和便利。</span><span style="font-family:微软雅黑, sans-serif;"> </span> </p> <p class="MsoNormal"> <span style="font-family:'微软雅黑',sans-serif;">本课程将手把手地教大家使用<span>labelImg</span>标注和使用<span>YOLOv5</span>训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。</span><span style="font-family:微软雅黑, sans-serif;"> </span> </p> <p class="MsoNormal"> <span style="font-family:'微软雅黑',sans-serif;">本课程的<span>YOLOv5</span>使用<span>ultralytics/yolov5</span>,在<span style="color:#e03e2d;"><strong><span>Windows</span></strong></span>系统上做项目演示。包括:安装<span>YOLOv5</span>、标注自己的数据集、准备自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型和性能统计。</span><span style="font-family:微软雅黑, sans-serif;"> </span> </p> <p class="MsoNormal"> <span style="font-family:微软雅黑, sans-serif;">希望学习Ubuntu上演示的同学,请前往 </span><span style="font-family:微软雅黑, sans-serif;">《</span><span style="font-family:微软雅黑, sans-serif;">YOLOv5(PyTorch)</span><span style="font-family:微软雅黑, sans-serif;">实战:训练自己的数据集(Ubuntu)》课程链接:https://edu.csdn.net/course/detail/30793</span><span style="font-family:宋体;"><span style="font-size:14px;"> </span></span> </p> <p style="margin-left:0cm;">   </p> <p style="margin-left:0cm;"> 本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括: </p> <p> 《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》 </p> <p> Ubuntu系统 <strong><a href="https://edu.csdn.net/course/detail/30793"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/30793</span></a></strong> </p> <p> Windows系统 <strong><a href="https://edu.csdn.net/course/detail/30923"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/30923</span></a></strong> </p> <p> 《YOLOv5(PyTorch)目标检测:原理与源码解析》<strong><a href="https://edu.csdn.net/course/detail/31428"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/31428</span></a></strong> </p> <p> 《YOLOv5(PyTorch)目标检测实战:Flask Web部署》<strong><a href="https://edu.csdn.net/course/detail/31087"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/31087</span></a></strong> </p> <p> 《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》<strong><a href="https://edu.csdn.net/course/detail/32303"><span style="color:#7c79e5;">https://edu.csdn.net/course/detail/32303</span></a></strong> </p> <p> <img src="https://img-bss.csdnimg.cn/202010090636458614.jpg" alt="课程内容" width="880" height="356" /> </p> <p> <img src="https://img-bss.csdnimg.cn/202010090637068681.jpg" alt="技巧" width="880" height="706" /> </p> <p> <img src="https://img-bss.csdnimg.cn/202010090637267536.jpg" alt="功能" width="880" height="913" /> </p>
<p> <span style="color:#E53333;font-size:24px;"><strong>主要内容</strong></span> </p> <p> 掌握MyBatis的常用配置,MyBatis的Mapper映射文件的编写,包含select, update, insert和delete,MyBatis映射文件 </p> 之parameters和@Param注解,MyBatis映射文件的resultMap的使用,MyBatis映射之association(一对一)配置与使用,<br /> MyBatis映射之collection(一对多)配置与使用,MyBatis映射之association与collection的复杂使用(一对一与一对多同时使用<br /> ),MyBatis动态SQL之if,choose, when, otherwise,where,set,foreach,分页查询,主键回填,日志配置等技术;掌握<br /> SpringMVC的项目整合配置,@Controller,@RequestMapping,@Resource,@PathVariable,@ResponseBody,<br /> @ModelAttribute,@CookieValue,@Transactional等注解的使用,json数据传值,国际化,拦截器,权限控制,生成日志,文<br /> 件上传下载,日期格式转换等。<br /> <br /> <span style="font-size:24px;color:#E53333;"><strong>开发技术:</strong></span>java,jsp,mysql,MyBatis,jquery,ajax,json,springmvc<br /> <span style="font-size:24px;color:#E53333;"><strong>运行环境</strong>:</span>jdk1.7及以上版本,tomcat7.0及以上版本,mysql5.5及以上版本<br /> <p> <span style="font-size:24px;color:#E53333;"><strong>开发工具: </strong></span>本项目开发工具是Eclipse,也支持myEclipse,Intellij Idea等其他版本开发工具 </p> <p> <span style="font-size:24px;color:#E53333;"><strong>适用人群:</strong></span> </p> <p> 零基础开始讲解MyBatis,SpringMVC,通过项目实战达到精通各种技术的能力,包括权限控制 </p> <div> <br /> </div> <br /> <br />
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页