1. 程式人生 > >Linux網路管理之多網絡卡繫結

Linux網路管理之多網絡卡繫結

  一、bonding介紹

  在企業Linux伺服器管理裡中,伺服器的可靠性、可用性以及I/O速度都非常重要,保持伺服器的高可用和安全性是生產環境的重要指標,其中最重要的一點是伺服器網路連線的高可用性。通常我們會把重要的伺服器做主備,其目的在於當主伺服器宕機,備份伺服器馬上接管其主伺服器的工作,從而實現服務的連續,不至於服務的停用。還有一種情況,我們會給伺服器做負載均衡,當一個伺服器對外提供服務,接收到使用者請求太多,會導致伺服器宕機,這個時候我們用主備顯得力不從心,怎麼辦呢,這個時候我們就需要考慮把原來訪問一臺伺服器的流量,分別用很多臺伺服器來分擔,這樣一來把原來一臺伺服器承受的壓力分別用很多臺伺服器來承擔。我們知道一張物理網絡卡的網路吞吐量是有限的,當伺服器上的網絡卡吞吐量達到上限,這個時候就算效能再好的伺服器我們訪問它都會感覺慢,這時我們就需要考慮增大網絡卡的網路吞吐量。一張網絡卡不夠用,我們用兩張,三張,很多張。雖然很多張網絡卡同時對外提供服務是可以解決吞吐量的問題,但是新的問題又產生了,使用者怎麼知道我們其他網絡卡上的ip呢?通常情況我們的都是以一個ip對外服務,(當然也有多個ip對外服務,一個域名對外服務,後臺可能是多個IP),使用者只知道一個ip或者域名,那我們雖然裝了很多張網絡卡,但直接使用好像是達不到我們理想的效果。有沒有一種技術將很多張網絡卡虛擬成一個大的網絡卡,就有點類似於LVM磁碟管理一樣,可以把很多張網絡卡整合成一張,然後來提高網絡卡的效能呢?誒,有的,bonding就有這樣的功能。它可以將多張網絡卡繫結同一IP地址對外提供服務,可實現高可用或負載均衡。我們都知道兩張網絡卡或多張網絡卡設定同一IP地址是不可以的,但bonding可以,它的底層工作原理就是通過虛擬一塊網絡卡對外提供連線,物理網絡卡的MAC地址都會被修改成相同的MAC地址。這樣一來就實現了提高網絡卡的效能的同時也有冗餘的網絡卡。

  二、bonding工作模式

  bonding的工作模式有七種,其中有三種是最為常用

  Mode 0 (balance-rr)輪轉策略:這種模式就是從頭到尾順序的在每一個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實現 mode 0 並測試

  1)檢視系統是否載入了bonding模組

[root@test-centos7-node1 ~]# lsmod|grep bonding
[root@test-centos7-node1 ~]# 

  說明:如果你的系統執行了lsmod命令 沒有過濾到bonding相關的內容,說明你的系統沒有載入bonding模組

  2)載入bonding模組

[root@test-centos7-node1 ~]# lsmod|grep bonding
[root@test-centos7-node1 ~]# modprobe bonding
[root@test-centos7-node1 ~]# lsmod |grep bonding
bonding               145728  0 
[root@test-centos7-node1 ~]# 

  說明:通常情況下核心版本2.4以後都是預設支援bonding模組,無需手動編譯

  3)備份原有的網絡卡配置檔案

[root@test-centos7-node1 test]# ls /etc/sysconfig/network-scripts/
ifcfg-ens33  ifdown-ippp    ifdown-sit       ifup-bnep  ifup-plusb   ifup-TeamPort
ifcfg-ens36  ifdown-ipv6    ifdown-Team      ifup-eth   ifup-post    ifup-tunnel
ifcfg-lo     ifdown-isdn    ifdown-TeamPort  ifup-ippp  ifup-ppp     ifup-wireless
ifdown       ifdown-post    ifdown-tunnel    ifup-ipv6  ifup-routes  init.ipv6-global
ifdown-bnep  ifdown-ppp     ifup             ifup-isdn  ifup-sit     network-functions
ifdown-eth   ifdown-routes  ifup-aliases     ifup-plip  ifup-Team    network-functions-ipv6
[root@test-centos7-node1 test]# cp /etc/sysconfig/network-scripts/{ifcfg-ens33,ifcfg-ens33.bak}
[root@test-centos7-node1 test]# cp /etc/sysconfig/network-scripts/{ifcfg-ens36,ifcfg-ens36.bak}
[root@test-centos7-node1 test]# ls /etc/sysconfig/network-scripts/
ifcfg-ens33      ifdown       ifdown-isdn    ifdown-Team      ifup-bnep  ifup-plip    ifup-sit       init.ipv6-global
ifcfg-ens33.bak  ifdown-bnep  ifdown-post    ifdown-TeamPort  ifup-eth   ifup-plusb   ifup-Team      network-functions
ifcfg-ens36      ifdown-eth   ifdown-ppp     ifdown-tunnel    ifup-ippp  ifup-post    ifup-TeamPort  network-functions-ipv6
ifcfg-ens36.bak  ifdown-ippp  ifdown-routes  ifup             ifup-ipv6  ifup-ppp     ifup-tunnel
ifcfg-lo         ifdown-ipv6  ifdown-sit     ifup-aliases     ifup-isdn  ifup-routes  ifup-wireless
[root@test-centos7-node1 test]# 

  4)建立bonding配置檔案

[root@test-centos7-node1 test]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
  
DEVICE=bond0
ONBOOT=YES
BOOTPROTO=static
IPADDR=192.168.0.33
PREFIX=24
GATEWAY=192.168.0.1
DNS1=192.168.0.1
BONDING_OPTS="miimon=100 mode=0"
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
~                                                                                                                           
"/etc/sysconfig/network-scripts/ifcfg-bond0" [New] 8L, 141C written                                       
[root@test-centos7-node1 test]# 

  說明:band0相對於原來的物理網絡卡它也是一塊網絡卡,我們可以像配置物理網絡卡一樣配置,但它又區別於物理網絡卡,它是一張虛擬的網絡卡,我們除了配置ip地址資訊之外,還需要配置它工作的模式,以及心跳檢測時間,其中miimon 是用來進行鏈路監測的。如果miimon=100,那麼系統每100ms 監測一次鏈路連線狀態,如果有一條線路不通就轉入另一條線路。

  5)修改物理網絡卡配置檔案

[root@test-centos7-node1 test]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
[root@test-centos7-node1 test]# cat /etc/sysconfig/network-scripts/ifcfg-ens36
NAME=ens36
DEVICE=ens36
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
[root@test-centos7-node1 test]# 

  說明:把原有的配置ip資訊去掉,把BOOTPROTO修改成none,然後新加MASTER=bond0,SLAVE=yes即可

  6)重啟網路服務並測試

   說明:重啟網路服務我用的crt會一直卡在哪裡,原因是我們重新配置了IP地址。我們可用crt重新連線新配的地址

[root@test-centos7-node1 test]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether 00:0c:29:f2:82:0c brd ff:ff:ff:ff:ff:ff
3: ens36: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether 00:0c:29:f2:82:0c brd ff:ff:ff:ff:ff:ff
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 00:0c:29:f2:82:0c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.33/24 brd 192.168.0.255 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fef2:820c/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever
[root@test-centos7-node1 test]# 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: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:f2:82:0c
Slave queue ID: 0

Slave Interface: ens36
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:f2:82:16
Slave queue ID: 0
[root@test-centos7-node1 test]# 

  說明:可看到兩張物理網絡卡和bond0的MAC都變成一樣了,況且兩張物理網絡卡上沒有任何ip地址,bond0上是我們剛才配置的ip地址,說明我們配置的bond0已經可以使用了。當然我們也可以看/proc/net/bonding/bond0來檢視bond的詳細資訊,其中可以看到兩塊物理網絡卡都從屬bond0,band0的工作模式是load balancing。此模式實現了網絡卡的負載均衡和容錯,我們可任意斷開一個物理網絡卡,其網路服務不斷開。測試的話可選擇下載一個大檔案來測試。

  下載http://192.168.0.99/bigfile 檔案測試

  1)使用bond0 兩物理網絡卡負載均衡來下載

[root@test-centos7-node1 test]# time wget http://192.168.0.99/bigfile
--2020-01-10 10:33:48--  http://192.168.0.99/bigfile
Connecting to 192.168.0.99:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5211422720 (4.9G)
Saving to: ‘bigfile’

100%[============================================================>] 5,211,422,720 57.2MB/s   in 93s    

2020-01-10 10:35:21 (53.6 MB/s) - ‘bigfile’ saved [5211422720/5211422720]


real    1m32.961s
user    0m0.502s
sys     0m21.582s
[root@test-centos7-node1 test]# 

  說:可看到下載一個4.9G的大檔案,用bond0下載平均下載速度是53.6MB/S

  2)不使用bond0下載,恢復兩物理網絡卡,讓其都是用不同的IP

[root@test-centos7-node1 ~]# ls /etc/sysconfig/network-scripts/
ifcfg-ens33      ifdown-ippp    ifdown-TeamPort  ifup-isdn    ifup-TeamPort
ifcfg-ens33.bak  ifdown-ipv6    ifdown-tunnel    ifup-plip    ifup-tunnel
ifcfg-ens36      ifdown-isdn    ifup             ifup-plusb   ifup-wireless
ifcfg-ens36.bak  ifdown-post    ifup-aliases     ifup-post    init.ipv6-global
ifcfg-lo         ifdown-ppp     ifup-bnep        ifup-ppp     network-functions
ifdown           ifdown-routes  ifup-eth         ifup-routes  network-functions-ipv6
ifdown-bnep      ifdown-sit     ifup-ippp        ifup-sit
ifdown-eth       ifdown-Team    ifup-ipv6        ifup-Team
[root@test-centos7-node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.0.10
PREFIX=24
GATEWAY=192.168.0.1
DNS1=192.168.0.1
[root@test-centos7-node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens36
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.0.20
PREFIX=24
GATEWAY=192.168.0.1
DNS1=192.168.0.1
[root@test-centos7-node1 ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:f2:82:0c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global ens33
       valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:f2:82:16 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.20/24 brd 192.168.0.255 scope global ens36
       valid_lft forever preferred_lft forever
5: bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether e6:e0:29:24:b5:e1 brd ff:ff:ff:ff:ff:ff
[root@test-centos7-node1 ~]# time wget http://192.168.0.99/bigfile
--2020-01-10 10:42:55--  http://192.168.0.99/bigfile
Connecting to 192.168.0.99:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5211422720 (4.9G)
Saving to: ‘bigfile’

100%[=================================================>] 5,211,422,720 63.6MB/s   in 2m 48s 

2020-01-10 10:45:43 (29.6 MB/s) - ‘bigfile’ saved [5211422720/5211422720]


real    2m48.065s
user    0m0.823s
sys     1m6.360s
[root@test-centos7-node1 ~]#

  說明:可看到不使用bond0 下載平均速度是29.6MB/S

  四、bonding實現 mode 1 並測試

  前面的網絡卡配置檔案備份,這裡就不在演示,同上面的一樣,這裡只需要修改bond0 的配置檔案,將其mode=0 修改成mode=1 ,物理網絡卡的配置檔案同上面的一樣

[root@test-centos7-node1 ~]# ip a l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether e6:e0:29:24:b5:e1 brd ff:ff:ff:ff:ff:ff
3: ens36: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether e6:e0:29:24:b5:e1 brd ff:ff:ff:ff:ff:ff
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether e6:e0:29:24:b5:e1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.33/24 brd 192.168.0.255 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::e4e0:29ff:fe24:b5e1/64 scope link 
       valid_lft forever preferred_lft forever
[root@test-centos7-node1 ~]# 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
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:0c:29:f2:82:0c
Slave queue ID: 0

Slave Interface: ens36
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:f2:82:16
Slave queue ID: 0
[root@test-centos7-node1 ~]# 

  說明:可以看到,兩個網絡卡都是啟動的狀態,當前活躍的網絡卡是ens33

  測試:模擬ens33網線斷了,看看ens36會不會頂替上去

 

   說明:可以看到ens33出現故障 ens36 立即就頂替上去了,這裡需要注意一點ens33如果恢復了,它不會去頂替ens36 它會一直盯著ens36 直到它ens36死了,它才會頂替上去。

  五、bonding實現 mode 3

  前期準備同上,只需更改bond0配置檔案/etc/sysconfig/network-scripts/ifcfg-bond0,把mode=1  修改成mode=3,然後重啟服務網路即可

[root@test-centos7-node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=YES
BOOTPROTO=static
IPADDR=192.168.0.33
PREFIX=24
GATEWAY=192.168.0.1
DNS1=192.168.0.1
BONDING_OPTS="miimon=100 mode=3"
[root@test-centos7-node1 ~]# systemctl restart network
[root@test-centos7-node1 ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether e6:e0:29:24:b5:e1 brd ff:ff:ff:ff:ff:ff
3: ens36: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether e6:e0:29:24:b5:e1 brd ff:ff:ff:ff:ff:ff
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether e6:e0:29:24:b5:e1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.33/24 brd 192.168.0.255 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::e4e0:29ff:fe24:b5e1/64 scope link tentative dadfailed 
       valid_lft forever preferred_lft forever
[root@test-centos7-node1 ~]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (broadcast)
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:0c:29:f2:82:0c
Slave queue ID: 0

Slave Interface: ens36
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:f2:82:16
Slave queue ID: 0
[root@test-centos7-node1 ~]#

  說明:此模式是廣播模式,什麼意思呢,就是訪問bond0 它就會廣播給每個網絡卡,然後每張物理網絡卡收到廣播後都會迴應。

  測試:在192.168.0.99 上ping 192.168.0.33

[root@test html]# ping 192.168.0.33
PING 192.168.0.33 (192.168.0.33) 56(84) bytes of data.
64 bytes from 192.168.0.33: icmp_seq=1 ttl=64 time=1.43 ms
64 bytes from 192.168.0.33: icmp_seq=1 ttl=64 time=1.51 ms (DUP!)
64 bytes from 192.168.0.33: icmp_seq=2 ttl=64 time=1.38 ms
64 bytes from 192.168.0.33: icmp_seq=2 ttl=64 time=1.45 ms (DUP!)
64 bytes from 192.168.0.33: icmp_seq=3 ttl=64 time=2.22 ms
64 bytes from 192.168.0.33: icmp_seq=3 ttl=64 time=2.28 ms (DUP!)
64 bytes from 192.168.0.33: icmp_seq=4 ttl=64 time=0.997 ms
64 bytes from 192.168.0.33: icmp_seq=4 ttl=64 time=1.06 ms (DUP!)
64 bytes from 192.168.0.33: icmp_seq=5 ttl=64 time=0.618 ms
64 bytes from 192.168.0.33: icmp_seq=5 ttl=64 time=0.764 ms (DUP!)
64 bytes from 192.168.0.33: icmp_seq=6 ttl=64 time=0.600 ms
64 bytes from 192.168.0.33: icmp_seq=6 ttl=64 time=0.670 ms (DUP!)
64 bytes from 192.168.0.33: icmp_seq=7 ttl=64 time=0.584 ms
64 bytes from 192.168.0.33: icmp_seq=7 ttl=64 time=0.707 ms (DUP!)
64 bytes from 192.168.0.33: icmp_seq=8 ttl=64 time=0.581 ms
64 bytes from 192.168.0.33: icmp_seq=8 ttl=64 time=0.651 ms (DUP!)
64 bytes from 192.168.0.33: icmp_seq=9 ttl=64 time=0.579 ms
64 bytes from 192.168.0.33: icmp_seq=9 ttl=64 time=0.650 ms (DUP!)
64 bytes from 192.168.0.33: icmp_seq=10 ttl=64 time=0.589 ms
64 bytes from 192.168.0.33: icmp_seq=10 ttl=64 time=0.661 ms (DUP!)
^C
--- 192.168.0.33 ping statistics ---
10 packets transmitted, 10 received, +10 duplicates, 0% packet loss, time 9006ms
rtt min/avg/max/mdev = 0.579/0.999/2.284/0.528 ms
[root@test html]#

  說明:0.99向0.33傳送一條ping報文,0.99上收到了兩個訊息,是不是很奇怪呀,出去一個回來兩個重複的。這就是因為0.33上的兩塊物理網絡卡收到廣播後都進行了迴應,所以在0.99上會收到2條重複的迴應訊息。

  六、解除安裝bonding 恢復原有物理網絡卡

  1)恢復配置檔案

[root@test-centos7-node1 ~]# cp /etc/sysconfig/network-scripts/{ifcfg-ens33.bak,ifcfg-ens33}
cp: overwrite ‘/etc/sysconfig/network-scripts/ifcfg-ens33’? y
[root@test-centos7-node1 ~]# cp /etc/sysconfig/network-scripts/{ifcfg-ens36.bak,ifcfg-ens36}
cp: overwrite ‘/etc/sysconfig/network-scripts/ifcfg-ens36’? y
[root@test-centos7-node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.0.10
PREFIX=24
GATEWAY=192.168.0.1
DNS1=192.168.0.1
[root@test-centos7-node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens36
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.0.20
PREFIX=24
GATEWAY=192.168.0.1
DNS1=192.168.0.1
[root@test-centos7-node1 ~]# mv /etc/sysconfig/network-scripts/{ifcfg-bond0,ifcfg-bond0.bak} 
[root@test-centos7-node1 ~]# ls /etc/sysconfig/network-scripts/
ifcfg-bond0.bak  ifcfg-lo     ifdown-ipv6    ifdown-sit       ifup-aliases  ifup-isdn   ifup-routes    ifup-wireless
ifcfg-ens33      ifdown       ifdown-isdn    ifdown-Team      ifup-bnep     ifup-plip   ifup-sit       init.ipv6-global
ifcfg-ens33.bak  ifdown-bnep  ifdown-post    ifdown-TeamPort  ifup-eth      ifup-plusb  ifup-Team      network-functions
ifcfg-ens36      ifdown-eth   ifdown-ppp     ifdown-tunnel    ifup-ippp     ifup-post   ifup-TeamPort  network-functions-ipv6
ifcfg-ens36.bak  ifdown-ippp  ifdown-routes  ifup             ifup-ipv6     ifup-ppp    ifup-tunnel
[root@test-centos7-node1 ~]# 

  2)解除安裝bonding 模組

   3)重啟

  正常情況下修改了配置檔案後重啟網路服務就可以了 ,如果要解除安裝bonding模組,解除安裝後重啟網路服務,物理網絡卡是啟動不起來的,需要把伺服器重啟下即可恢復正常。

  總結:通過上面的實驗可以看到 bonding技術類似raid技術,它可把多張網絡卡繫結在一起,不同的模式有著不同模式的特點。mode 0 輪循負載均衡,可提高網絡卡的效能的同時也有冗餘網絡卡。mode1 主備模式,可實現網絡卡的高可用。mode3 廣播模式,提供容錯能力。其他模式可參考文件https://www.kernel.org/doc/Documentation/networking/bonding