网卡绑定工具-bonding

bonding

​ 网卡绑定技术,其将多块网卡绑定同一IP地址对外提供服务,可以实现网卡的带宽扩容、高可用或者负载均衡,一般情况下,将多块网卡设置同一IP地址是不可能的,会导致IP地址的冲突,导致网络不可用。但是通过bonding,可以将多个物理网卡的MAC地址修改为相同的MAC地址,虚拟出一块网卡对外提供连接

bonding的优点

  1. 网络的负载均衡

    ​ bonding的网络负载均衡是我们在文件服务器中常会用到的,比如把多块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题

  2. 网络的冗余高可用

    ​ 把网个网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡也能提供正常的服务

Bonding的常见绑定模式

Mode 0 (balance-rr)

轮转(Round-robin)策略:从头到尾的顺序在每一个从属设备接口上面发送数据包,一条链路故障会自动切换正常链路。

**优点:**流量提高一倍

**缺点:**需要接入交换机做端口聚合,否则可能无法使用

Mode 1 (active-backup)

**活动-备份(主备)策略:**只有一个从属设备处于活动状态,其它从属设备处于备用状态,只有在活动的从属设备接口宕掉时才会激活其他从属设备,所有流量都在活动的链路上处理。因为交换机往两块网卡发包,有一半包是丢弃的。

**优点:**冗余性高

**缺点:**链路利用率低,两块网卡只有1块在工作

Mode 3 (broadcast)

**广播策略:**在所有的从属设备接口上传送所有的报文,提供容错能力。

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

CentOS6实现Bonding配置

创建bonding设备的配置文件

​ 创建bonding设备的第一步就是要先创建bond设备文件,由于之前系统没有,所以需要自己手工创建,分别是一个bond配置文件和两个从属bond的网卡配置文件。具体的操作步骤和配置文件写法,请看下面:

 ~]# cd /etc/sysconfig/network-scripts/
]# cat ifcfg-bond0 
    DEVICE=bond0
    BONDING_OPTS="mode=0 miimon=100"   # 模式为轮询
    IPADDR=192.168.9.31
    PREFIX=24
    GATEWAY=192.168.9.1
    
# 先通过  ip a查看对应网卡的名称之后在进行操作, name跟device改成不同名称,其它配置一样
network-scripts]# cat ifcfg-ens160 
    TYPE="Ethernet"
    BOOTPROTO="none"
    DEFROUTE="yes"
    NAME="ens160"
    DEVICE="ens160"
    ONBOOT="yes"
    MASTER=bond0
    SLAVE=yes

验证

~]# ip a
2: ens160: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether 00:0c:29:8b:06:8f brd ff:ff:ff:ff:ff:ff
3: ens192: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether 00:0c:29:8b:06:8f brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0c:29:8b:06:8f brd ff:ff:ff:ff:ff:ff
    inet 192.168.9.31/24 brd 192.168.9.255 scope global noprefixroute bond0
    
# 可以看到 ens160, ens192 的状态都成为了 SLAVE,三个设备MAC地址相同,原 ens160, ens192 地址失效,两块网卡共用bond0设备的一个IP地址

 ~]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    Bonding Mode: load balancing (round-robin)
    MII Status: up
    MII Polling Interval (ms): 100
    Up Delay (ms): 0
    Down Delay (ms): 0

    Slave Interface: ens160
    MII Status: up
    Speed: 10000 Mbps      # 万兆卡
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:8b:06:8f
    Slave queue ID: 0

    Slave Interface: ens192
    MII Status: up
    Speed: 10000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:8b:06:99
    Slave queue ID: 0
    
# 查看模式
cat /sys/class/net/bond0/bonding/mode 
    balance-rr 0
#这条命令可以查看bond设备的模式策略,如balance-rr 0则表示是0模式,轮转策略。

关闭其中一块网卡

]# ifconfig ens160 down

]# cat /proc/net/bonding/bond0 
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

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

    Slave Interface: ens160
    MII Status: down     # 状态就为down了
    Speed: 10000 Mbps
    Duplex: full
    Link Failure Count: 1
    Permanent HW addr: 00:0c:29:8b:06:8f  # 物理网卡地址
    Slave queue ID: 0

    Slave Interface: ens192
    MII Status: up
    Speed: 10000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:8b:06:99
    Slave queue ID: 0
    
# 在通过 ip a 查看三块网卡地址都相同皆为bord0的虚拟MAC地址
    link/ether 00:0c:29:8b:06:8f brd ff:ff:ff:ff:ff:ff

交换机端口汇聚

  1. 配置聚合口
[test]interface Eth-Trunk 2
[test-Eth-Trunk2]port link-type access 配置为接入模式
[test-Eth-Trunk2]port default vlan ID  放行vlan
配置之后可以 dis this 查看一下配置
  1. 注意在接口接进来之前需要先删除接口下配置
[xx_Vlan10_SWL3-GigabitEthernet0/0/5]dis th
     port link-type access    清空这些配置文件
     port default vlan ID
     ntdp enable      这些需要用 undo ntdp enable
     ndp enable
     bpdu enable

  1. 配置聚合端口信息
[xx_Vlan10_SWL3-GigabitEthernet0/0/6]eth-trunk 2
[xx_Vlan10_SWL3-GigabitEthernet0/0/6]dis th
#
interface GigabitEthernet0/0/6
eth-trunk 2
undo ntdp enable
undo ndp enable
#
其它接口也一样
  1. 最后查询一下
[software_Vlan10_SWL3]dis interface Eth-Trunk
Eth-Trunk2 current state : UP
Line protocol current state : UP
Description:HUAWEI, Quidway Series, Eth-Trunk2 Interface
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 5489-9875-e991
    Input bandwidth utilization  : 0.00%
    Output bandwidth utilization : 0.00%
-----------------------------------------------------
PortName                Status              Weight
-----------------------------------------------------
GigabitEthernet0/0/5    UP                  1    # 正常情况下是多个
GigabitEthernet0/0/6    UP                  1    # 正常情况下是多个
-----------------------------------------------------

扩展

多网卡绑定配置-bonding
Linux双网卡绑定bond详解
Linux双网卡绑定bond详解

猜你喜欢

转载自blog.csdn.net/u010304195/article/details/106911263