linux系统多网口聚合配置,Linux网卡聚合linux多网卡绑定聚合之bond模式的原理是什么...

将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题。因此使用Linux teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐***I/O***。

Linux的多网卡绑定功能使用的是内核中的"bonding"模块,关于此模块可以参考Linux Ethernet Bonding Driver文档, 但是目前发布各个Linux版本内核均已包含了此模块,大多数情况下不需要重新编译内核。 Linux 的 bonding

驱动提供了绑定/集成***bond***多个网卡为一个虚拟逻辑网口的功能。并请注意绑定的网口***bonded***有多种工作模式; 一般来说,分为 热后备***hot standby*** 和 负载均衡***load balancing***. 在Redhat/Fedora和其它类Redhat Linux中是比较容易配置的’。

1.创建bond0配置文件

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

DEVICE=bond0 --物理设备名字

IPADDR=192.168.1.2 --IP地址

NETMASK=255.255.255.0 --子网掩码

GATEWAY=192.168.1.1 --网关

DNS=8.8.8.8 --DNS

ONBOOT=yes --随机启动

NAME=bond0

BOOTPROTO=none

USERCTL=no --是否允许非root用户控制该设备

2.修改被绑定的eth0和eth1的配置文件

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"

USERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

HWADDR=00:15:17:

eth1的配置文件与之相同,只是device的值改为eth1即可。

3.装在bond模块驱动

编辑/etc/modprobe.conf或者/etc/modules.conf文件,加入如下内容,使系统启动时加载bonding模块驱动

alias bond0 bonding

option bond0 miimon=100 mode=1

说明:

1***.miimon=100 用来进行链路监测的。即每100ms监测一次链路状态。bonding只监测主机与交换机之间链路。如果交换机出去的链路出问题而本身没有问题,那么bonding认为链路没有问题而继续使用。

2***.mode=1 表示提供冗余功能。除此之外还可以为0、2、3,共四种模式。0表示负载均衡

4.在/etc/rc.d/rc.local文件中加入如下语句,使得系统启动自动运行

ifenslave bond0 eth0 eth1

route add -net 192.168.1.254 netmask 255.255.255.0 bond0 #如有需要才加该路由

5.检测、验证配置

首先执行命令装载bonding模块:modprobe bonding

重启网络服务,并确认bond0正确启动:service network restart

确认设备已经正确加载:less /proc/net/bonding/bond0

列出所有网口:ifconfig

至此,bond技术的使用过程的设置就基本结束了,谢谢阅读,希望能帮到大家,请继续关注,我们会努力分享更多优秀的文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php扩展开发1--添加函数

目标:便携php扩展 要求实现 输出hello word 首先用的是php7.0.3 centos7.1或者centos6. 1.1 RPM安装PHP rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpmyum install php70wphp -v 看一下 7.0.3php -m 看一下 php70w-devel, php70w-opcache模…

lucene两个分页操作

基于lucene两个分页: lucene3.5查询方式(每次查询所有记录,然后取当中部分记录。这样的方式用的最多),lucene官方的解释:因为我们的速度足够快。处理海量数据时。内存easy内存溢出。 lucene3.5以后提供一个…

Java连接SQL Server类MyDBase的实现

1、新建Java类MyDBase package MyDB;import java.sql.*;public class MyDBase {Connection Conn;boolean Ecode = false;String ES;ResultSet RS;Statement sql;public MyDBase(String DBServer, String DBName, String DBUser, String DBPwd) {String driverName = "com.…

python typeerror* wants int_python-TypeError:’int’对象是不可迭代的?

我正在实现动态编程算法,但出现此错误.这是我的代码:def shoot(aliens):s[0]*10s[0]0s[1]0for j in xrange(2,len(aliens)):for i in xrange(0,j):s[j]max(s[i] min(aliens[j],fib(j-i))) print s[len(aliens)-1]return s[len(aliens)-1]def fib(n):if n 0:return…

.NET5停止支持,难道就是没前途?

一篇微软官博引发热议,《2022年5月8号.NET5.0将正式停止支持》,此事在.NET5发布时就已经定下来的,文章不过是重申了一下事实,结果却成为某些人眼中的 ”瞎折腾“ ”不靠谱“ ”没前途“,真是无语。技术的更新迭代才是生…

linux之vimdiff命令

1 vimdiff 我们linux系统一般用diff命令,但是感觉不好用,这个时候我们比较文件一般可以用vimdiff命令,这个命令的前提是linux系统要安装vim。 比如比较2个文件 vimdiff file1 file2 比如比较3个文件 vimdiff file1 file2 file3 默认比较是竖着的,比如我们需要横着比较…

unity5.x Translate平移移动 以及GetComponent获取组件

在unity5.x中可以使用 Translate来移动某一个游戏对象,如下: m_cube.transform.Translate(Vector3.up) 此代码使m_cube向上移动,其中,vector3.up是向上移动的意思,直接可以使用vector3或者vector2调用。 在unity5.x…

lintcode 418整数转罗马数字

描述 给定一个整数,将其转换成罗马数字。 返回的结果要求在1-3999的范围内。 说明 https://en.wikipedia.org/wiki/Roman_numeralshttps://zh.wikipedia.org/wiki/%E7%BD%97%E9%A9%AC%E6%95%B0%E5%AD%97http://baike.baidu.com/view/42061.htm样例 思路 while循环拆…

linux进程上下文切换,Linux 性能分析总结之 CPU 上下文切换(二)

0x00 前言上一篇笔记中我讲到了,在寻找 CPU 的性能瓶颈的问题的时候,首先会查看整台机器的平均负载是否高,然后再使用 pidstat 等工具判断到底是哪种情况导致的平均负载升高,主要情况有三种:CPU 密集型IO 密集型大量进…

​ArduinoYun教程之ArduinoYun硬件介绍

2019独角兽企业重金招聘Python工程师标准>>> ArduinoYun教程之ArduinoYun硬件介绍 ArduinoYun的电源插座 Arduino Yun有两排插座,这些插座可以按类型分为三类:电源、数字IO和模拟输入。电源部分主要集中在如图1.7所示的部分。 图1.7 电源集中…

Java从零开始(二) Tomacat

什么是Tomacat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。 ---//快速搭建步骤 第一步:安装JDK和Tomacat 1,安装JDK:官网下载,直接运行jdk-8u31-windows-i586.exe可执行程序,默认安装即可。 2,…

3%7python_Centos7 Python2 升级到Python3

1. 从Python官网到获取Python3的包, 切换到目录/usr/local/srcwget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz2. 使用命令如下命令进行解压缩:xz -d Python-3.7.2.tar.xztar -xf Python-3.7.2.tar3. 在/usr/local路径下创建目录--py…

.NET Nuget包 汉化工具

汉化前汉化后一键汉化附带150M数据库,包含.NET6及EFCore等常用库的翻译数据,可离线运行。使用时建议注册一个百度翻译的账号。注册地址 https://fanyi-api.baidu.com/。注意: 不是“百度云”!!! 不是“百度云”!!! 不是“百度云”!!!是“百度翻译”&…

php 计时器microtime 以及去掉数组重复值array_unique

php计时器可以计算代码执行时间,如下: 计时器 $start_time1 microtime(true); /*中间插入代码*/ $end_time1 microtime(true); echo 执行时间为:.($end_time1-$start_time1). s; 其中在注释那插入代码即可计算时间。 php去掉数组重复值可…

数据结构基础:栈(Stack)

什么是栈? 栈是限制插入和删除只能在同一个位置上进行的表,这个位置就是栈的顶端,对于栈的操作主要有三种形式:入栈(将元素插入到表中),出栈(将表最后的元素删除,也就是栈顶的元素),返回栈顶元素…

Apache错误日志提示AH02004: SSL Proxy: Peer certificate is expired

1 、问题 apache错误日志提示如下 AH02004: SSL Proxy: Peer certificate is expired 接下来日志会打印ssl握手失败 然后抓包分析的时候错误提示如下 Level: Fatal, Description: Certificate Unkonw 2 、open ssl命令探测服务器证书日期 我们用open ssl命令探测服务器证书…

【ArcGIS遇上Python】窗体版Python批量处理地理数据--栅格裁剪

一、说明 之前写过用Python代码块处理地理数据的例子,如裁剪、投影、格式转换等,曾想过用C#制作个窗体,嵌入Python代码,今天无意发现Python也能用tKinter构建简单的窗体,眼前一亮,先写个批量裁剪的例子吧。这样就不用对数据路径改来改去了,只需确定元数据路径,掩膜数据…

缺少linux内核,Linux内核缺页

整个缺页异常的处理过程非常复杂,我们这里只简单介绍一下缺页涉及到的内核函数。当CPU产生一个异常时,将会跳转到异常处理的整个处理流程中。对于缺页异常,CPU将跳转到page_fault异常处理程序中,该异常处理程序会调用do_page_faul…

简单好用的Adapter---ArrayAdapter

2019独角兽企业重金招聘Python工程师标准>>> ListView中比较简单但又非常方便的ArrayAdapter。 ArrayAdapter是BaseAdapter的派生类,在BaseAdapter的基础上,添加了一项重大的功能:可以直接使用泛型构造。 先来看一个简单的例子: Overrideprot…

表单数据自动录入_Excel总表录入、分表自动更新,只要数据透视表和一个快捷键就行...

合并多个分表到一个总表中,这样的操作很常见。但,有时候我们也需要反过来,即将一个总表拆分成多个子表,并且在总表中录入/修改数据后,每个分表都可以自动更新数据。如以下资金流动表。除了资金流水,我们还特…