linux中配置雙網卡的目的?如何實現雙網卡綁定,以實現負載均衡?


配置雙網卡的目的:==========================

1、你想做路由器,網關

2、實現冗余

3、負載均衡

    linux 主機安裝雙網卡,共享一個IP地址,對外提供訪問,實際 同樣 連接兩條物理線路到交換機
    實現平時 雙網卡同時工作,分流網絡壓力,同時提供冗余備份,監控,防止物理線路的單點故障。
   
    用於關鍵性節點服務器,高網絡IO服務器,網絡共享存儲服務器等。。。。。
   
    Linux bonding 驅動模塊  提供了一種方法,用以把多個網絡接口(network interface)組合成一個 邏輯的 "bonded"  接口。
    Bonded  接口的工作方式取決於驅動的模式:不同的模式提供了熱備份或負載均衡等不同的服 務。

      此外,驅動還會監控鏈路的可用性。大多數目前發布的Linux內核都以模塊(module)方式帶了bonding驅動,
      ifenslave工具(主要配置工具)也都已經安裝好。

 

CentOS雙網卡綁定,實現負載均衡

確保關閉   SElinux      Networkmanager , 給虛擬機添加一張網卡 ens37 , 確保兩張虛擬網卡都是  相同的連接模式  NAT  。
bind0 IP 地址: 192.168.10.54
先關閉兩張網卡
[root@uplooking ~]# ifdown  ens33
[root@uplooking ~]# ifdown  ens38
新建網卡配置文件 
[root@uplooking  /etc/sysconfig/network-scripts]#vim ifcfg-bond0
 ifcfg-bond0  配置文件  ==============
 
TYPE=Ethernet
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
IPADDR="192.168.10.54"
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
ONBOOT=yes
BONDING_OPTS="miimon=100 mode=6"         ##bonding 參數直接在網卡配置文件中指派,並且開機可以自動生效
                                                                            ## mode=1     1為儲備模式,  推薦為 6 ,不會浪費資源。
ifcfg-ens33 配置文件==============
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
ifcfg-ens38 配置文件==============
TYPE=Ethernet
BOOTPROTO=none
NAME=ens38
DEVICE=ens38
ONBOOT=yes
MASTER=bond0
SLAVE=yes

重啟網絡 ============================
[root@uplooking ~]# systemctl  restart  network

觀察驗證: ==========================
[root@uplooking ~]# ifconfig

 
 
 
###查看 bind0 的狀態   #####################################
    ###  命令驗證     ip addr 或者   ifconfig  查看驗證===================================
  ###  狀態信息驗證    cat  /proc/net/bonding/bond0  文件可以顯示  雙網卡 配置信息。
    ens 33   和  ens  37 的  啟用狀態。

        cat /proc/net/bonding/bond0   通過查閱該文件,獲取bond0 網卡的工作狀態信息
       
        通過斷開不同網卡,觀察改文件的信息變化。
       
[root@server-18 ~]# watch -n 1 "cat /proc/net/bonding/bond0"

  Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: ens37
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: 3
Permanent HW addr: 00:0c:29:e6:3b:9d
Slave queue ID: 0
Slave Interface: ens37
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: 00:0c:29:e6:3b:a7     
   
   
驗證負載均衡的效果:  
http-02  ping  192.168.10.54
            arp -a  查詢 arp 表:發現  192.168.10.54 在  00:0C:29:58:4C:31 (ens33)  網卡上
           
   
http-03   ping   192.168.10.54
             arp -a  查詢 arp 表:發現  192.168.10.54 在  00:0C:29:58:4C:3B  (ens33)  網卡上
             
 
 
 
 
           
取消 bond0 網卡的方法  ##############################
           
            1、ifdown  bond0  ##此時網絡斷開
            2、移除ifcfg-bond0 網卡的配置文件,建議不要直接刪除,而是移到別的位置,備份起來、
                    [root@server-18 /etc/sysconfig/network-scripts]#mv ifcfg-bond0  /root
                   
                   echo -bond0  >  /sys/class/net/bonding_masters    ## 移除系統中的 bonding狀態。                   
                   
            3、修改 ens33  ens38  網卡配置,解除 與 bond0 網卡的從屬關系
                  BOOTPROTO=static
                  MASTER=bond0 去掉
                  SLAVE=yes   去掉
                  加上自己網卡的原先配置。
           
            4、 systemctl restart network 
           
            5、 ifconfig再次觀察

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM