網絡接口配置-bonding

Bonding

將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。直
接給兩塊網卡設置同一IP地址是不可以的。通過bonding,虛擬一塊網卡對外提供
連接,物理網卡的被修改爲相同的MAC地址。

Bonding工作模式

Mode 0 (balance-rr)
輪轉(Round-robin)策略:從頭到尾順序的在每一個slave
接口上面發送數據包。本模式提供負載均衡和容錯的能力
Mode 1 (active-backup)
活動-備份(主備)策略:只有一個slave被激活,當且僅當活動的slave接口
失敗時纔會激活其他slave.爲了避免交換機發生混亂此時綁定的MAC地址只有
一個外部端口上可見

Mode 3 (broadcast)

廣播策略:在所有的slave接口上傳送所有的報文,提供容錯能力
active-backup、balance-tlb 和 balance-alb 模式不需要交換機的任何特
殊配置。其他綁定模式需要配置交換機以便整合鏈接。如:Cisco 交換機需
要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和
EtherChannel

Bonding配置

創建bonding設備的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0”
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

查看bond0狀態:/proc/net/bonding/bond0

Bonding配置

 miimon 是用來進行鏈路監測的。如果miimon=100,那麼系統每100ms 監測
 一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路

 刪除bond0
 ifconfig bond0 down
 rmmod bonding

 詳細幫助:
 /usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt
 https://www.kernel.org/doc/Documentation/networking/bonding.txt

//centOS7上實現bonding:

1.在centos7.5 上準備兩塊網卡,橋接模式
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.20.32.77 netmask 255.255.0.0 broadcast 172.20.255.255
inet6 fe80::92c1:7a5c:30a0:4624 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:35:33:6c txqueuelen 1000 (Ethernet)
RX packets 128468 bytes 14049923 (13.3 MiB)
RX errors 0 dropped 30 overruns 0 frame 0
TX packets 2346 bytes 443972 (433.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 172.20.138.93  netmask 255.255.0.0  broadcast 172.20.255.255
    inet6 fe80::9c62:da56:4de4:a8d2  prefixlen 64  scopeid 0x20<link>
    ether 00:0c:29:20:c7:92  txqueuelen 1000  (Ethernet)
    RX packets 151  bytes 17199 (16.7 KiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 31  bytes 4843 (4.7 KiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  1. 計劃在centos7.5 bond0網卡上配172.20.0.128
    [root@rhel6 ~]#ping 172.20.0.128
    PING 172.20.0.128 (172.20.0.128) 56(84) bytes of data.
    From 172.20.32.66 icmp_seq=2 Destination Host Unreachable
    From 172.20.32.66 icmp_seq=3 Destination Host Unreachable
    From 172.20.32.66 icmp_seq=4 Destination Host Unreachable
    From 172.20.32.66 icmp_seq=6 Destination Host Unreachable
    From 172.20.32.66 icmp_seq=7 Destination Host Unreachable

  2. // 添加bonding接口, 配上IP 172.20.0.128
    [root@centos7 ~]#nmcli conection add type bond con-name mybond0 ifname mybond0 mode active-backup ipv4.method manual ipv4.address 172.20.0.128/16

    [root@centos7 network-scripts]#less ifcfg-mybond0
    BONDING_OPTS=mode=active-backup
    TYPE=Bond
    BONDING_MASTER=yes
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    IPADDR=172.20.0.128
    PREFIX=16
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=mybond0
    UUID=086e3b03-9b9b-4940-9a3c-db8ad6b35e7f
    DEVICE=bond0
    ONBOOT=yes

    //添加從屬接口
    [root@centos7 ~]#nmcli connection add con-name bond0-ens33 type bond-slave ifname ens33 master mybond0
    Connection 'bond0-ens33' (40bca0c5-654a-4667-8d3a-d359605fe078) successfully added.

    [root@centos7 network-scripts]#less ifcfg-bond0-ens33 // 查看創建好的bond0-ens33配置文件
    TYPE=Ethernet
    NAME=bond0-ens33
    UUID=40bca0c5-654a-4667-8d3a-d359605fe078
    DEVICE=ens33
    ONBOOT=yes
    MASTER_UUID=086e3b03-9b9b-4940-9a3c-db8ad6b35e7f
    MASTER=bond0
    SLAVE=yes

    [root@centos7 ~]#nmcli connection add con-name bond0-ens38 type bond-slave ifname ens38 master mybond0
    Connection 'bond0-ens38' (116fd3bc-8297-4b25-93ed-650127f595ea) successfully added.

    [root@centos7 network-scripts]#less ifcfg-bond0-ens38 // 查看創建好的bond0-ens38配置文件
    TYPE=Ethernet
    NAME=bond0-ens38
    UUID=116fd3bc-8297-4b25-93ed-650127f595ea
    DEVICE=ens38
    ONBOOT=yes
    MASTER_UUID=086e3b03-9b9b-4940-9a3c-db8ad6b35e7f
    MASTER=bond0
    SLAVE=yes

//查看當前bond0 文件狀態:
[root@centos7 network-scripts]#cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

 Bonding Mode: fault-tolerance (active-backup)
 Primary Slave: None
 Currently Active Slave: ens33        //當前是ens33網卡工作
 MII Status: up
 MII Polling Interval (ms): 100
 Up Delay (ms): 0
 Down Delay (ms): 0

 Slave Interface: ens33
 MII Status: up
 Speed: 1000 Mbps
 Duplex: full
 Link Failure Count: 0
 Permanent HW addr: 00:50:56:35:33:6c
 Slave queue ID: 0

 Slave Interface: ens38
 MII Status: up
 Speed: 1000 Mbps
 Duplex: full
 Link Failure Count: 0
 Permanent HW addr: 00:0c:29:20:c7:92
 Slave queue ID: 0   

//做測試:先斷開ens33網卡
[root@centos7 ~]#cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

 Bonding Mode: fault-tolerance (active-backup)
 Primary Slave: None
 Currently Active Slave: ens38   //ens38網卡瞬間切換爲 Active Slave
 MII Status: up
 MII Polling Interval (ms): 100
 Up Delay (ms): 0
 Down Delay (ms): 0

 Slave Interface: ens33
 MII Status: down       //ens33狀態: down
 Speed: Unknown
 Duplex: Unknown
 Link Failure Count: 1
 Permanent HW addr: 00:50:56:35:33:6c
 Slave queue ID: 0

 Slave Interface: ens38
 MII Status: up
 Speed: 1000 Mbps
 Duplex: full
 Link Failure Count: 0
 Permanent HW addr: 00:0c:29:20:c7:92
 Slave queue ID: 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章