linux双网卡端口聚合,Linux双网卡聚合改造

Linux双网卡聚合改造

一、环境和需求

Linux主机只有一块网卡接到交换机上,为了消除交换机的单点,新增一台交换机,Linux主机端新接一块网卡到新交换机上,对这两块网卡做聚合达到目的。

二、物理连线

使用网线连接新增交换机和新网卡

三、停应用

对网卡做聚合改造,会造成网络中断,为了消除对生产的影响,建议停止应用后再做改造

四、网络聚合改造

1)对/etc/modprobe.conf文件新增以下内容

# vi /etc/modprobe.conf

alias bond0 bonding

options bond0 mode=1 miimon=100 use_carrier=0

说明:

miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;

mode的值表示工作模式:

mode=0表示为负载均衡方式,两块网卡都工作。

mode=1表示提供冗余功能,工作方式是主备的工作方式

2)建立虚拟网卡配置文件

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

DEVICE=bond0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.0.215

USERCTL=no

NETMASK=255.255.255.0

NETWORK=192.168.0.0

BROADCAST=192.168.0.255

GATEWAY=192.168.0.1

TYPE=Ethernet

其中IPADDR=192.168.0.215是原网卡的IP地址

3)更改原有网卡属性

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

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0

SLAVE=yes

HWADDR=00:0C:29:38:37:23

4)更改新增网卡属性

#vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0

SLAVE=yes

HWADDR=00:0c:29:38:37:2d

5)用命令/etc/rc.d/init.d/network restart重新启动网络子系统,也可以重新启动系统来使bond0生效。

# /etc/rc.d/init.d/network restart

Shutting down interface bond0:[OK]

Shutting down loopback interface:[OK]

Bringing up loopback interface:[OK]

Bringing up interface bond0:[OK]

重启网络的时候,对IP做PING测试,中间有丢包,后续又恢复通讯

5fef03a97e4d8d9acc69fa50f8197642.png

检查IP地址:

# ifconfig

bond0Link encap:EthernetHWaddr 00:0C:29:38:37:23

inet addr:192.168.0.214Bcast:192.168.0.255Mask:255.255.255.0

UP BROADCAST RUNNING MASTER MULTICASTMTU:1500Metric:1

RX packets:48915 errors:0 dropped:0 overruns:0 frame:0

TX packets:4804 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:3857250 (3.6 MiB)TX bytes:394142 (384.9 KiB)

eth0Link encap:EthernetHWaddr 00:0C:29:38:37:23

UP BROADCAST RUNNING SLAVE MULTICASTMTU:1500Metric:1

RX packets:26942 errors:0 dropped:0 overruns:0 frame:0

TX packets:4754 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:2121514 (2.0 MiB)TX bytes:385269 (376.2 KiB)

eth1Link encap:EthernetHWaddr 00:0C:29:38:37:23

UP BROADCAST RUNNING SLAVE MULTICASTMTU:1500Metric:1

RX packets:21973 errors:0 dropped:0 overruns:0 frame:0

TX packets:50 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:1735736 (1.6 MiB)TX bytes:8873 (8.6 KiB)

loLink encap:Local Loopback

inet addr:127.0.0.1Mask:255.0.0.0

UP LOOPBACK RUNNINGMTU:16436Metric:1

RX packets:1375 errors:0 dropped:0 overruns:0 frame:0

TX packets:1375 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:4201832 (4.0 MiB)TX bytes:4201832 (4.0 MiB)

# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)

Bonding Mode: fault-tolerance (active-backup)

Primary Slave: None

Currently Active Slave: eth2

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eth2

MII Status: up

Speed: 100 Mbps

Duplex: full

Link Failure Count: 1

Permanent HW addr: b8:ca:3a:f9:6b:33

Slave Interface: eth3

MII Status: down

Speed: 100 Mbps

Duplex: full

Link Failure Count: 2

Permanent HW addr: b8:ca:3a:f9:6b:34

6)设置成聚合开机自启动

# vi /etc/rc.d/rc.local

ifenslave bond0 eth0 eth1

7)网卡切换测试

拔eth0网卡网线,查看是否会自动切到eth1网卡上,检查丢包情况

使用cat /proc/net/bonding/bond0命令查看

切到eth1网卡上

接回eth0网线,不会自动切回到eth0上,除非拔出eth1网卡

97afcf09d8769f69cae12929b983bfae.png

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

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

相关文章

linux服务器无法识别xml文件,linux上重启服务器提示找不到smartbi-config.xml文件

(本文档仅供参考)问题服务器上重启服务时,报了如下错误信息:(备注:因安全考虑,新版本的config登录界面已经不展示config文件的加载路径了。)解决方案原因一:这是一个关于在哪个路径下启动smartbi服务的问题。首先&…

linux uname命令详解,linux中uname命令参数及用法详解

uname 命令可用于大多数 UNIX 和类 UNIX 系统以及 Linux。功能说明:uname用来获取电脑和操作系统的相关信息。语  法:uname [-amnrsvpio][--help][--version]补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。参…

android linux网络连接,Android和Linux服务器之间的TCP连接

我正在编写一个代码,需要每秒从Android移动设备向台式计算机(linux服务器)发送数据。由于数据经常发送,通过Http命中无法实现(因为会消耗时间),所以Tcp通信似乎是更好的选择,因为android手机的数据可以通过此套接字编程快速发送。…

linux堆上的内存可执行吗,pwn的艺术浅谈(二):linux堆相关

这是linux pwn系列的第二篇文章,前面一篇文章我们已经介绍了栈的基本结构和栈溢出的利用方式,堆漏洞的成因和利用方法与栈比起来更加复杂,为此,我们这篇文章以shellphish的how2heap为例,主要介绍linux堆的相关数据结构…

arm嵌入式linux应用实例开发pdf,零点起步——ARM嵌入式Linux应用开发入门一书的源代码...

代码片段和文件信息属性 大小 日期 时间 名称----------- --------- ---------- ----- ----文件 24064 2016-03-20 09:49 零点起步——ARM嵌入式Linux应用开发入门\习题答案 (1).doc文件 24064 2016-03-20 09:50 零点起步——ARM嵌入式Lin…

linux上p图工具,linux图片处理工具GraphicsMagick安装使用

安装依赖包:yum install libpng libjpeg freetype libpng-devel libjpeg-devel libtool-ltdl-devel libtool-ltdl官网下载GraphicsMagick包官网地址:http://www.graphicsmagick.org/解压编译安装:tar xf GraphicsMagick-1.3.25.tar.gz./confi…

manjaro linux下载软件,manjaro linux

manjaro linux下载。manjaro linux是基于Arch Linux开发的Linux操作系统!对于裸服务器、虚拟机、IaaS 和 PaaS 方面都得到了加强,而且内置了强大的数据中心满足商业的各种要求,是强大的混合云平台和物理系统!manjaro linux介绍man…

linux 安装qt 4.6软件,QT学习之一:Linux下安装QT之版本qt-4.6.3

在Linux中分别安装应用于不同平台的QT:PC;嵌入式X86;ARM。这三者PC版、嵌入式X86版和ARM版的区别主要体现在:当configure时分别加了不同的参数,具体区别是:PC平台:在linux中全安装qt&#xff0c…

linux kill命令使用方法,Linux初学者的killall命令(8个例子)

Linux初学者的killall命令(8个例子)我们已经讨论了kill命令 ,如果你想在Linux中终止进程,你可以使用kill命令 。 但是,还有一个命令行实用程序可以用于相同的目的: killall 。 在本教程中,我们将使用一些易于理解的示例…

linux wait 信号丢失,wait函数族和SIGCHLD信号的关系

一、wait()和waitpid()函数的区别pid_t wait(int *status)进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程, wait就会收集这个子进程的信息&…

linux socket接收不到16进制数据,C下通过socket收发十六进制数据解决办法

C下通过socket收发十六进制数据系统是在LINUX下,下位机发送十六进制数据过来 上位机怎么解析 把数据以十六进制的形式显示出来,发送十六进制又如何实现------解决方案--------------------socket不就是发16进制的么------解决方案--------------------那…

c语言 字符串 url,如何对URL字符串进行百分号编码

在和web服务进行交互时,我们经常需要对URL中的特定字符和传输的表单数据进行百分号编码。例如,’&’在百分号编码时会变成’%26’。搞清楚 URL中哪部分的哪些字符应该进行百分号编码了并不是件易事。最好的资料好像是RFC 3986和W3C HTML5。出于兴趣和…

击鼓传花击鼓次数相同c语言,JavaScript 实现击鼓传花游戏

大家小时候应该都玩过击鼓传花(Hot Potato)的游戏吧!一群小孩围成一个圆圈,把花尽快的传给旁边的人。某一时刻传花停止,这时花在谁手里,谁就退出圆圈结束游戏。重复此过程,直到剩下最后一个孩子,即为胜者。…

c语言查找字符串au,几个C语言词汇不懂,望老鸟们相助(俺是新手哦)

几个C语言词汇 auto break case char const continue default do double else enum extern float for goto if int long registerreturn short signed几个C语言词汇 auto break case char const continue default do double else enum extern float for goto if int long regis…

c语言中 %.2s,C2S是什么意思

1. The testing result indicates that TiO_2 has mineralized effect on C_2S, at the same time flux effect on reducing low general melting point of CaO-SiO_2 system and yielding much liquid phase, TiO_2 has definite stabilized effect on β-C_2S.结果随着TiO2掺…

前端的c语言面试题,前端工程师面试题汇总(选择题)

前端工程师面试题汇总(选择题)时间:2017-12-05 来源:前端工程师面试题推荐作为一名前端工程师,我们必不可少的就是参加面试,面试过程中会遇到各类奇葩的问题,今天小编为大家汇总了一些相关的问题,希望可…

用英文单词模拟数字计算c语言,C语言程序设计用英文单词模拟数学计算

匿名用户1级2010-05-09 回答最后输出是用的是阿拉伯数字,这个你再改改吧, 小问题了。。。。#include #include #include #include #include int carry 0;int parse_int(const char *s, int len){char tens[10], units[10];memset(tens, 0, sizeof(tens)…

c语言猜数字游戏新建,C语言编程 如何构建一个简单的猜数字小游戏

#include//生成随机函数起点时用到time.hint main(){int number1 0, choice 0, number2 0;printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");//界面设置printf("$$$$$ 欢 迎 来 到 $$$$$\n");printf("$$$$$ 猜 数 字 …

c语言循环拆分成和,C语言拆分循环链表程序

创建一个循环链表,并将这个循环链表拆分成为两个循环链表的示例程序,将以下代码保存到一个源文件中:split_circular_linked_list.c, 如下所示 –#include #include struct node { int data; struct node *next; }; struct node *e…

pic单片机c语言读eeprom,PIC16F877单片机内部EEPROM读写实例

;PIC16F877单片机内部EEPROM读写实例****************************************************************************************; This is a program to test the function of reading&writting for EEPROM.; YouCANOBServe the value of register(30H--?) buy changin…