xml地图|网站地图|网站标签 [设为首页] [加入收藏]

热门直播

当前位置:美高梅游戏网站 > 热门直播 > linux 网卡绑定 bonding

linux 网卡绑定 bonding

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-09-08 05:17

linux下多网卡绑定

Bonding的目的是为提高系统可用性,防止物理网口或线路的单点故障

 

  1. 检查Linux环境是否支持bonding,执行如下命令

假定将eth0,eth1,eth2,eth3绑定成bond0, 步骤如下:

(1) #vi /etc/modprobe.conf,  添加如下2行:

[root@compute ~]# modinfo bonding
filename:       /lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/net/bonding/bonding.ko
author:         Thomas Davis, tadavis@lbl.gov and many others
description:    Ethernet Channel Bonding Driver, v3.6.0
version:        3.6.0
license:        GPL
srcversion:     353B1DC123506708446C57B
depends:        8021q,ipv6
vermagic:       2.6.32-431.el6.x86_64 SMP mod_unload modversions 

                   alias bond0 bonding

上面返回信息,有库文件、版本、授权、描述等,表示支持bonding(假如没有上面信息,可能重新安装或编译内核)

                   options bonding miimon=100 mode=4

  1. 检查Linux下有没有负载均衡的执行文件(负载均衡工具也就是bonding),执行如下命令

         当mode=0时,交换机相应端口不需要做trunk,但是从节点上ping网关(192.*.*.*)有较大的延时。解决此问题的办法是把mode改成4,同时配置交换机相应端口开启链路聚合并捆绑为trunk。

   www.2cto.com  

[root@compute ~]# which ifenslave
/sbin/ifenslave

在modprobe.conf文件中,

  1. 创建bonding驱动设备配置文件,执行如下命令

miimon参数用来监测网卡物理连接,建议至少设为100

mode参数用来设置绑定模式

[root@compute ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0   ---设备名称(必要)
BOOTPROTO=static  ---使用静态IP地址(必要,或者=none也可以)
BROADCAST=192.168.1.255 ---(必要)
IPADDR=192.168.1.10 ---(必要)
NETMASK=255.255.255.0 ---(必要)
GATEWAY=192.168.1.254 ---(必要)
NETWORK=192.168.1.0
ONBOOT=yes ---引导时启动(必要)
TYPE=Ethernet ---网线类型(可选,最好填上)
USERCTL=no ---USERCTL=no表明该设备只能由root用戶來控制(可选,最好填上)

0 负载均衡(round robin策略)

  1. 更改ifcfg-eth0网卡的属性

1 active/backup模式,同一时间只有一块网卡使用。

2 负载均衡(xor算法)

[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
#HWADDR=00:0E:1E:8D:9B:40 ---必须注销,否则会引起bonding不正常
ONBOOT=yes 
BOOTPROTO=none 
MASTER=bond0 ---MASTER=bond0表明eth0绑定到bond0设备上。
SLAVE=yes 
USERCTL=no

3 广播模式

  1. 更改ifcfg-eth0网卡的属性

4 802.3ad模式,lagp协议,带宽翻倍。

模式不能写错

[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
#HWADDR=00:0E:1E:8D:9B:41 ---必须注销,否则会引起bonding不正常
ONBOOT=yes 
BOOTPROTO=none 
MASTER=bond0 ---MASTER=bond0表明eth0绑定到bond0设备上。
SLAVE=yes 
USERCTL=no

 这里很容易出现不稳定的情况,多半是这里模式选择错了,所以在实施的时候需要小心,把模式确定了,然后在动手。

以上步骤4、5是把网卡eth0和网卡eth1绑定在虚拟网卡bond0上,做网卡高可用

 

  1. 编辑/etc/modprobe.d/bonding.conf文件,加入以下内容

(2)修改/etc/sysconfig/network-scripts/目录下的ifcfg-bond0, ifcfg-eth0, ifcfg-eth1,ifcfg-eth2,ifcfg-eth3. 具体内容如下:

[[email protected] network-scripts]# pwd

[root@compute ~]# vi /etc/modprobe.d/bonding.conf
alias bond0 bonding 
options bond0 miimon=80 mode=0 

/etc/sysconfig/network-scripts

说明:mode指定了bond0的工作模式(0-6种模式),常用的是0、1、6,0与6表示负载均衡方式,1表示主从方式,可根据需要自行配置。常用的为0,1、6三种。
mode=0,表示load balancing (round-robin)为负载均衡方式,两块网卡都工作,但是与网卡相连的交换机端口必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址。
mode=1,表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。 miimon是用来进行链路监测的。比如:miimon=80,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路。
mode=6,表示load balancing (round-robin)为负载均衡方式,两块网卡都工作,但是该模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址

[[email protected] network-scripts]# cat ifcfg-bond0

  1. 加入/etc/rc.d/rc.local 启动项 (可选)
    [root@compute ~]# vi /etc/rc.d/rc.local
    ifenslave bond0 eth0 eth1 ----在最后面加入此条命令
  2. 重启网络
    [root@compute ~]# service network restart
  3. 检查bonding状态信息
    [root@compute12 ~]# more /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

DEVICE=bond0

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 80
Up Delay (ms): 0
Down Delay (ms): 0

BOOTPROTE=static

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: a8:3a:72:ce:8a:9c
Slave queue ID: 0

ONBOOT=yes

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: a8:3a:72:ce:7a:9d
Slave queue ID: 0

IPADDR=192.*.*.*

  1. 完成后重启系统,ping 192.168.1.254测试
    注意:

NETMASK=255.255.255.0

  • 所有ethxx配置的时候去掉MAC地址;
  • 必须彻底关闭NetworkManger服务,否則會和bond网上冲突
    service NetworkManger stop
    chkconfig NetworkManger off
  • RHEL 6X版本的配“/etc/modprobe.d/”文件下面自己手动新建“bonding.conf”
  • 多个bonging文件配置模式一致,例如:
    [root@compute modprobe.d]# cat bonding.conf
    alias bond0 bonding
    alias bond1 bonding
    options bond0 miimon=80 mode=0
    options bond1 miimon=80 mode=0

USERTCL=no

注明:以上含“(必要)”是必须要有内容,“(可选)”是可以填上或不填上都行

GATEWAY=192.*.*.*

[[email protected] network-scripts]# cat ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

USERTCL=no

MASTER=bond0

SLAVE=yes

[[email protected] network-scripts]# cat ifcfg-eth1

DEVICE=eth1

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

USERTCL=no

MASTER=bond0

SLAVE=yes

[[email protected] network-scripts]# cat ifcfg-eth2

DEVICE=eth2

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

USERTCL=no

MASTER=bond0

SLAVE=yes

[[email protected] network-scripts]# cat ifcfg-eth3

DEVICE=eth3

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

USERTCL=no

MASTER=bond0

SLAVE=yes

  www.2cto.com  

(3)查看bond0的状态

[[email protected] ~]# more /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

802.3ad info

LACP rate: slow

Active Aggregator Info:

        Aggregator ID: 1

        Number of ports: 4

        Actor Key: 17

        Partner Key: 480

        Partner Mac Address: 00:12:f2:cd:68:00

Slave Interface: eth0

MII Status: up

Link Failure Count: 0

Permanent HW addr: 00:1e:0b:73:56:26

Aggregator ID: 1

本文由美高梅游戏网站发布于热门直播,转载请注明出处:linux 网卡绑定 bonding

关键词:

上一篇:ubunut配置静态ip和dns

下一篇:没有了