Linux 雙網卡綁定

Linux 雙網卡綁定

1 什麼是bind

bind 是多網卡綁定的一種稱謂。通俗來講,bind 是一種網卡集羣的技術,能夠將多塊網卡 配置爲主備或者負載均衡,它會虛擬出一塊物理上不存在的網卡(一般名字爲bond0),並與 參與綁定的物理網卡持有相同的IP地址。css

bind有兩種模式: 網卡主備、負載均衡.假設參與綁定的物理網卡分別是eth0和eth1.對於 綁定模式的理解以下:html

  mode=1:主備模式,只有主網卡eth0工做,eth1做爲備用網卡並不工做,eth1的做用就是
          等待eth0沒法正常使用時,它頂替eth0繼續工做。
 mode=0:負載均衡模式,兩塊網卡都工做,提供兩倍帶寬。

2 爲何要bind

  • 高可用java

    一套業務是由多個功能組件組成的。任何一個組件不能工做者會致使業務沒法正常運行, 爲了不因組件故障而影響業務,不少組件都出現了主備模式,實際就是有一個一樣功能 的備用組件,當正常工做的組件異常(壞掉了),備用的直接頂替原有組件工做。python

    在主機中的網絡保障,就是經過雙網卡綁定技術來實現的,能夠保證業務在網絡層可持 續不間斷 .sql

  • 提升網絡吞吐量shell

    不少大企業天天處理幾T甚至幾十T的數據,有龐大的帶寬支持下,還須要網卡一樣支持 處理如此多的數據包,基於各類緣由,有時候一個網卡沒法知足如此大的數據量,此時 添加一塊網卡,進行雙網卡綁定爲負載均衡模式,能夠提升一倍的吞吐量。sass

3 如何配置

  1. 在操做系統上添加兩塊網卡
  2. 查看設備名ruby

    ifconfig -a
    或者
    ip a
    

    示例:bash

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 10.211.55.14  netmask 255.255.255.0  broadcast 10.211.55.255
       inet6 fdb2:2c26:f4e4:0:21c:42ff:fe26:8b74  prefixlen 64  scopeid 0x0<global>
       inet6 fe80::21c:42ff:fe26:8b74  prefixlen 64  scopeid 0x20<link>
       ether 00:1c:42:26:8b:74  txqueuelen 1000  (Ethernet)
       RX packets 2163  bytes 650492 (635.2 KiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 212  bytes 23989 (23.4 KiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    其中eth0即爲設備名。通常狀況下CentOS/RHEL 中網卡的設備名是 ethN的格式或者ensN等, N爲非負整數。 因此新添加的網卡,通常爲eth0,eth1等,這裏以此爲例。服務器

  3. 配置網卡的網絡參數 網卡配置時,參數及值不區分大小寫。所以不用特別在乎。
    • 確認配置文件 在Linux系統中,網卡的配置文件存放在 /etc/sysconfig/network-scripts 路徑中。 網卡對應的配置文件以以下格式命名:

      ifcfg-<設備名>
      
    • 修改物理網卡配置 此配置應用於eth0和eth1,請分別配置

      DEVICE=<設備名>
      TYPE=Ethernet
      ONBOOT=yes
      BOOTPROTO=none
      MASTER=bond0
      SLAVE=yes
      
      參數說明
      • DEVICE #網口名eth0
      • TYPE #ethernet表示以太網接口
      • ONBOOT=yes #LINUX在啓動時激活該網口
      • BOOTPROTO=none #使用什麼協議激活網口, none表示不使用任何協議, static表示設置靜態IP, dhcp表示動態獲取IP
      • MASTER=bond0 #指定虛擬網口的名字(主人)
      • SLAVE=yes #備用(從設備)
    • 配置虛擬網卡 通常虛擬網卡咱們配置成bondN,第一個虛擬網卡爲bond0,根據網卡配置文件的命名規則, 該虛擬網的配置文件爲名 ifcfg-bond0 ,在該文件中添加如下內容:

      DEVICE=bond0
      TYPE=Ethernet
      ONBOOT=yes
      BOOTPROTO=static
      IPADDR=192.168.150.50
      NETMASK=255.255.255.0
      GATEWAY=192.168.150.1
      
  4. 配置綁定模式及監測 在路徑/etc/modprobe.d/中新建一個文件,可隨意命名,便於區分該文件的做用便可。 好比物命名爲bind.conf. 在該文件中添加如下兩行內容:

    alias bond0 bonding
    options bond0 miimon=100 mode=1
    

    miimon是用來進行鏈路監測的:miimon=100表示系統每100ms監測一次鏈路鏈接狀態,若是有一條線路不一樣就轉入另外一條線路。
    mode=1表示屬於主備模式。

  5. 配置物理網卡與虛擬網卡之間的綁定關係及開機啓動 /etc/rc.d/rc.local文件中加入以下語句:

    ifenslave bond0 eth0 eth1
    
  6. 重啓服務器

    reboot
    

4 查看當前使用的網卡

cat /proc/net/bonding/bond0|grep "Currently Active Slave"

示例:

Currently Active Slave: eth0

此示例表示eth0 爲當前正在使用的網卡,eth1爲備用

Author: halberd.lee

Created: 2019-08-02 Fri 10:28

Validate

相關文章
相關標籤/搜索