网卡bond可以把多张网卡绑定为一个逻辑网卡,实现网卡的冗余,带宽扩容和负载均衡,会大幅度提升服务器的网络吞吐(I/O)。

bond模式:

1.Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。

2.Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。

3.Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)

4.Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制...和交换机的聚合强制不协商方式配合。

5.Mode=4(802.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)

6.Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave

7.Mode=6(balance-alb) 在5的tlb基础上增加了rlb。

5和6不需要交换机端的设置,网卡能自动聚合。4需要支持802.3ad。0,2和3理论上需要静态聚合方式。但实测中0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。

常用的有三种:

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

mode有七种工作状态可以用modeinfo bonding查看。需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从 原理分析一下(bond运行在mode 0下):

mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑 了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称 为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们 的解 决办法是,两个网卡接入不同的交换机即可。

mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。

实验准备:

通过网口绑定(bond)技术,可以实现网口冗余,负载均衡。

bond模式:mode 1

2个物理网口分别是:eth0、eth1

绑定虚拟端口是;bond0

服务器ip:192.168.1.225

1.备份eth0和eth1的网卡配置文件

[root@linzhongniao ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0{,.ori}

[root@linzhongniao ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth1{,.ori}

2.编辑eth0和eth1网卡的配置文件

主要配置DEVICE,USERCTL,ONBOOT,MASTER,SLAVE,BOOTPROTO其他的不用配置,eth1网卡的配置文件和eth0一样就是把DEVICE的值改成eth1。

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

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0

SLAVE=yes

TYPE=Ethernet

NM_CONTROLLED=yes

PEERDNS=yes

IPV6INIT=no

3.配置虚拟网卡bond0

配置虚拟网卡我用的自动获取ip的方式,也可以静态配置ip

dhcp自动获取ip地址:

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

DEVICE=bond0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

USERCTL=no

PEERDNS=yes

IPV6INIT=no

用静态ip地址(本次实验以这种方式为例):

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

DEVICE=bond0

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

DNS1=192.168.18.1

NM_CONTROLLED=yes

PEERDNS=yes

DNS2=114.114.114.114

TYPE=Ethernet

IPV6INIT=no

IPADDR=192.168.1.225

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

4.修改modprobe相关的配置文件

编辑加载bonding的专属配置文件/etc/modprobe.d/bonding.conf,没有就在创建一个。

[root@linzhongniao ~]# cat /etc/modprobe.d/bonding.conf

alias bond0 bonding

options bonding miimon=100 mode=1

5.加载模块(重启系统后就不用手动加载了)

[root@linzhongniao ~]# modprobe bonding

6.确认模块是否加载成功

[root@linzhongniao ~]# lsmod|grep bonding

bonding 133013 0

7.重启网络确认一下情况

[root@linzhongniao ~]# /etc/init.d/network restart

Shutting down interface bond0: [ OK ]

Shutting down loopback interface: [ OK ]

Bringing up loopback interface:[ OK ]

Bringing up interface bond0:

Determining IP information for bond0... done.

[ OK ]

[root@linzhongniao ~]# ifconfig|grep HWaddr

bond0 Link encap:Ethernet HWaddr 00:0C:29:9C:41:1C

eth0 Link encap:Ethernet HWaddr 00:0C:29:9C:41:1C

eth1 Link encap:Ethernet HWaddr 00:0C:29:9C:41:1C

现在查看的mac地址是一样的其实是不一样的如下所示

8.增加默认网关

启动系统自动绑定,增加默认网关

[root@linzhongniao ~]# vim /etc/rc.d/rc.local

#追加

route add default gw 192.168.1.1 《==根据需求配置

9.将modprobe相关文件写入/etc/rc.local中

开机自动加载

[root@linzhongniao ~]# grep "modprobe" /etc/rc.local

modprobe bonding miimon=100 mode=1

10.添加负载均衡工具ifenslave

ifenslave负载均衡工具可以将数据包有效的分配,通常结合交换机和路由使用。这时会新建一个bond0的虚拟设备,使用我们设置ip地址。这个时候eth0和eth1的工作模式混杂,什么数据都接收,但是数据过来之后ifenslave的底层驱动来做负载均衡,决定哪些数据规组里面的那个成员处理。

将负载均衡设置添加到/etc/rc.local中,开机自动加载

[root@linzhongniao ~]# cat /etc/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

modprobe bonding miimon=10 mode=1

ifenslave bond0 eth0 eth1

11.添加两个虚拟网卡的方法

添加两个网卡就不能在/etc/modprobe.d/bonding.conf里面堆叠了。正确的做法是

alias bond0 bonding

alias bond1 bonding

options bonding max_bonds=2 miimon=200 mode=1

提示:配置好之后重启系统生效

12.测试

工作服务器可以拔掉第一块网卡的网线测试。虚拟机我们可以断开第一块网卡的连接,切记不是down掉第一块网卡而是断开第一块网卡的网络连接,在虚拟机的右下角断开连接。

linux服务器多网卡聚合,linux多网卡绑定聚合-bond技术相关推荐

  1. Linux 服务器(二)-linux安装方法之Centos安装介绍——Windows中制作USB启动盘 MacOS中制作USB启动盘

    Linux 服务器(二)-linux安装方法之Centos安装介绍--Windows中制作USB启动盘 & MacOS中制作USB启动盘 安装方法 Centos安装方法: 下载镜像 按需选择下 ...

  2. linux服务器立即关机命令,Linux服务器重启/关机命令(shutdown/halt/reboot/init/poweroff)...

    Linux服务器重启命令有shutdown.halt.reboot.init和poweroff,Linux百科网分享各个重启命令参数及使用方法: 以下关于Linux服务器重启命令写的比较详细,如果你着 ...

  3. linux网卡备份还原,CentOS6.x双网卡采用主-备份策略绑定(bond)

    一 介绍 如题所示,CentOS服务器安装了双网卡,然后进行网络配置.为了增强服务器的网络连通性,采用"主-备份"策略来配置两个网卡:每次只有一个网卡处于活动状态,在一个网卡出现问 ...

  4. 怎么查看linux服务器品牌,怎么查看Linux服务器硬件信息,这些命令告诉你

    Linux服务器配置文档找不到,你还在为查询Linux服务器硬件信息发愁吗?学会这些命令,让你轻松查看Linux服务器的CPU,内存,硬盘,SN序列号等信息,根本就不用去机房. 一.查看CPU信息 C ...

  5. linux服务器怎么添加路由,linux系统中添加路由的方法

    linux系统中添加路由的方法 发布时间:2020-06-17 11:38:59 来源:亿速云 阅读:95 作者:Leah 这篇文章将为大家详细讲解有关linux系统中添加路由的方法,小编觉得挺实用的 ...

  6. linux服务器调用端口超时,Linux服务器可以ping,但是telnet端口超时,网站wget超时,访问超时的解决办法...

    最近无法通过SSH连接Linux服务器,访问该服务器上的HTTP服务也出现异常.可以ping,但是telnet端口超时,网站wget超时,访问超时. 最后排查是内核配置问题 原来是 net.ipv4. ...

  7. 如何远程链接linux服务器,如何远程登陆Linux/Windows服务器

    原标题:如何远程登陆Linux/Windows服务器 如何远程登录Linux或Windows服务器?租用了服务器,需要远程登录后才能管理自己的服务器.不同操作系统的服务器远程登录方法不一样,下面优与云 ...

  8. linux服务器无网络确认,Linux服务器故障排查实用指南

    [2013年3月25日 51CTO外电头条]由于造成网络问题的因素多种多样,因此网络故障排查技能就成了每位服务器或网络服务负责人必不可少的重要素质.Linux为我们提供了大量网络故障排查工具,在本文中 ...

  9. linux服务器备份软件下载,Linux服务器的常用备份方法 服务器系统备份方法

    文件备份无疑是企业重要的网络管理工作之一,尤其是很多单位的文件服务器上常常存储单位的无形资产和商业机密,如何保护这些文件的安全至关重要.数据备份是一项必不可少的管理工作. 系统备份是系统管理工作中十分 ...

  10. linux服务器管理公司用户,在Linux服务器Jenkins中管理用户和角色的方法

    下面将教你如何在Linux服务器Jenkins中管理用户和角色,它需要创建角色并分配给用户,你需要运行Jenkins服务器才能操作接下来的工作. 安装Jenkins参考文章 在Jenkins中管理用户 ...

最新文章

  1. missing 1 required positional argument: 'on_delete'报错解决方案
  2. 随机接入响应(RAR,即MSG2)发送过程
  3. 算法工程师如何改进豆瓣电影
  4. IOS小技巧–用runtime 解决UIButton 重复点击问题
  5. Cisco路由器交换机安全配置
  6. PHP实现redis限制单ip、单用户的访问次数功能
  7. 46什么是session
  8. 7.3图的遍历(广度优先)-理论
  9. 用户和组 win2003
  10. 基于ARM的车牌识别技术研究与实现
  11. clob oracle 连接_Oracle clob 操作
  12. key php 转小写_php字符串替换以及大写字母转小写字母
  13. 马斯克造“超级WiFi”这事儿未必能成
  14. Android usb audio调用流程(二)
  15. 以太坊 交易 data字段 内容是什么
  16. linkedin android,如何在android中登录linkedin?
  17. C语言面试题小练——第8天:static的作用、全局变量与局部变量的存储空间、宏定义注意点
  18. 电脑屏幕蓝光过滤护眼工具:f.lux for Mac
  19. 使用N2N,实现异地快速组建内网
  20. CF506 C Mr. Kitayuta vs. Bamboos (贪心)

热门文章

  1. 做BI开发,为什么一定要熟悉行业和企业业务?
  2. java计算机毕业设计springboot+vue考研资料分享系统
  3. 第二天- jQuery
  4. python pca双标图的含义_R语言:FactoMineR进行PCA分析
  5. 抖音粉丝抖音这样玩,轻松上热门!
  6. POJ2456 Aggressive cows
  7. php阿拉伯数字转汉字,php 阿拉伯数字转中文汉字
  8. Capture One Pro 10: Retouching Capture One Pro 10:修饰 Lynda课程中文字幕
  9. JAVA实用工具类-GPS,高德,百度坐标相互转换
  10. 搜狗测试年终总结和测试总监luke春节寄语