華爲server centos 6.5雙網卡綁定操做步驟

近日,完成了一批Centos 6.5服務器的網卡綁定操做,因爲現網生產環境,操做的時候特別當心謹慎,但誰知仍是出了差錯,兩臺服務器直接ping不通了,跑了趟機房。各類折騰。服務器

所以特將操做步驟及注意事項在此分享.網絡

一、環境描述負載均衡

華爲pcserver,安裝Centos 6.5 64位操做系統,服務器配有四個網卡,其中兩個網卡在用,各接兩根網線分別與兩臺交換機相連,實現冗餘。oop

二、操做步驟測試

1)經過ifconfig -a|grep eth命令看到eth0和eth1兩張網卡處於running狀態,即表明該兩個網卡目前各插有一根網線,所以須要將eth0、eth1進行雙網卡綁定。操作系統

eth0      Link encap:Ethernet  HWaddr E8:4D:D0:BF:D1:9B  
          inet addr:10.168.122.13  Bcast:10.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::ea4d:d0ff:febf:d19b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21281229862 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20649353230 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1927808267139 (1.7 TiB)  TX bytes:1543317199732 (1.4 TiB)
          Memory:92300000-92400000 

eth1      Link encap:Ethernet  HWaddr E8:4D:D0:BF:D1:9C  
          inet6 addr: fe80::ea4d:d0ff:febf:d19c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1495871 errors:0 dropped:0 overruns:0 frame:0
          TX packets:204395 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:97238155 (92.7 MiB)  TX bytes:15301940 (14.5 MiB)
          Memory:92200000-92300000 

eth2      Link encap:Ethernet  HWaddr E8:4D:D0:C9:EA:B2  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Memory:c8100000-c8200000 

eth3      Link encap:Ethernet  HWaddr E8:4D:D0:C9:EA:B3  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Memory:c8000000-c8100000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:130023805258 errors:0 dropped:0 overruns:0 frame:0
          TX packets:130023805258 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:19290336847188 (17.5 TiB)  TX bytes:19290336847188 (17.5 TiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:3F:C3:47  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

virbr0-nic Link encap:Ethernet  HWaddr 52:54:00:3F:C3:47  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

2)在服務管理中關閉NetworkManager服務並禁用自動啓動。(此步驟很是關鍵,本人當時就沒最早執行這步驟,致使全部工做作完後,重啓網絡服務後,悲劇發生)rest

執行命令以下:code

service NetworkManager stop   --關閉NetworkManager服務
   service NetworkManager status 
   chkconfig NetworkManager off   --禁用NetworkManager服務自動啓動
   chkconfig NetworkManager --list

3) 在/etc/sysconfig/network-scripts 目錄下建立一個名爲ifcfg-bond0的文件,編輯該文件,添加以下內容server

vi ifcfg-bond0
BOOTPROTO=none
DEVICE=bond0         --此處注意
ONBOOT=yes           --此處注意
IPADDR=10.168.122.13       --將主機的ip地址添加到此處
NETMASK=255.255.255.0
GATEWAY=10.168.122.254
USERCTL=no
TYPE=Ethernet
IPV6INIT=no

依次編輯ifcfg-eth0ifcfg-eth1文件,將以下內容替換到ifcfg-eth0ifcfg-eth1中。(注意替換前,必定要備份改動前的文件,而且將文件copy到/etc/sysconfig/network-scripts之外的路徑下)接口

vi ifcfg-eth0
BOOTPROTO=none
DEVICE=eth0    --此處注意
ONBOOT=yes     --此處注意
MASTER=bond0   --此處注意
SLAVE=yes      --此處注意
USERCTL=no
TYPE=Ethernet
IPV6INIT=no

vi ifcfg-eth1
BOOTPROTO=none 
DEVICE=eth1   --此處注意
ONBOOT=yes    --此處注意
MASTER=bond0  --此處注意
SLAVE=yes     --此處注意
USERCTL=no
TYPE=Ethernet
IPV6INIT=no

4)加載bonding模塊,對外虛擬網絡接口設備爲bond0,在/etc/modprobe.d/dist.conf文件最後加入如下2行

alias bond0 bonding
options bond0 mode=1 miimon=100

關於此處添加的兩行命令的含義,從百度上找到以下解釋: 選項 millmon 是指定隔多長時間來進行鏈路監測,單位是ms。#選項 mode是表示綁定口的工做模式,有0-7共7種模式,經常使用的有0和1模式,mode=0表示"round-robin"策略,兩張卡同時工做在負載均衡狀態。mode=1表示"active-backup"策略,兩張卡一用一備的備份狀態。

5)重啓網絡服務:
service network restart(若是提示命令不對,則執行:/etc/rc.d/init.d/network restart

6)驗證是否雙網卡綁定成功(若是在執行完上述第五個步驟後,服務器連不上了,那表明悲催了,須要跑機房了。。。所以建議第一次操做先選臺空閒服務器作個測試,以避免對現網環境影響過大)

方法一:

成功的話執行ifconfig -a 顯示的內容是bond0和eth0、eth1網卡的MAC地址是同樣的。

方法二:

測試bond是否綁定成功:

cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1                ----eth1主模式
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: ac:16:2d:77:1f:cc

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: ac:16:2d:77:1f:cd

7)感興趣的能夠執行一下以下操做。來測試雙網卡綁定後的成果。

咱們假設網卡eth0硬件壞了。執行
ifdown eth0

則發現,服務器仍然能夠ping通。。。。

這表明冗餘發揮了做用。

相關文章
相關標籤/搜索