網絡接口bonding的設置

網絡接口bonding的設置

一、什么是Bond

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

二、Bonding的工作模式

Bond有七種策略模式(mode),其實指的是在傳輸數據包的時候,如何從已經綁定的接口中選擇數據包傳輸的接口。是所有的接口都傳輸數據包還是說從中選擇一個或多個,怎么選擇。 

0. mode=0,即balance-rr(輪轉(Round-robin)策略)

      特點:從頭到尾順序的在每一個slave接口上面發送數據包

此模式提供負載均衡和容錯的能力

1. mode=1,即: (active-backup)Active-backup policy(主-備份策略) 

    特點:只有一個設備處于活動狀態,當一個宕掉另一個馬上由備份轉換為主設備。mac地址是外部可見得,從外面看來,bond的MAC地址是唯一的,以避免switch(交換機)發生混亂。;由此可見此算法的優點是可以提供高網絡連接的可用性,但是它的資源利用率較低,只有一個接口處于工作狀態,在有 N 個網絡接口的情況下,資源利用率為1/N 

  此模式只提供了容錯能力 
2. mode=2,即:(balance-xor)XOR policy(平衡策略) 
  特點:基于指定的傳輸HASH策略傳輸數據包。缺省的策略是:(源MAC地址 XOR 目標MAC地址)% slave數量。其他的傳輸策略可以通過xmit_hash_policy選項指定。在此策略下,同一會話的數據包會使用同一個接口傳輸。 
  此模式提供負載平衡和容錯能力 
3. mode=3,即:broadcast(廣播策略) 
  特點:在每個slave接口上傳輸每個數據包, 
  此模式提供了容錯能力 
4. mode=4,即:(802.3ad)IEEE 802.3ad Dynamic link aggregation(IEEE802.3ad 動態鏈接聚合) 
  特點:創建一個聚合組,它們共享同樣的速率和雙工設定。根據802.3ad規范將多個slave工作在同一個激活的聚合體下。外出流量的slave選舉是基于傳輸hash策略,該策略可以通過xmit_hash_policy選項從缺省的XOR策略改變到其他策略。需要注意的 是,并不是所有的傳輸策略都是802.3ad適應的,尤其考慮到在802.3ad標準43.2.4章節提及的包亂序問題。不同的實現可能會有不同的適應 性。 
必要條件: 
條件1:ethtool支持獲取每個slave的速率和雙工設定 

條件2:switch(交換機)支持IEEE802.3ad Dynamic link aggregation 
條件3:大多數switch(交換機)需要經過特定配置才能支持802.3ad模式 
5. mode=5,即:(balance-tlb)Adaptive transmit load balancing(適配器傳輸負載均衡) 
  特點:不需要任何特別的switch(交換機)支持的通道bonding。在每個slave上根據當前的負載(根據速度計算)分配外出流量。如果正在接受數據的slave出故障了,另一個slave接管失敗的slave的MAC地址。 
  該模式的必要條件:ethtool支持獲取每個slave的速率 
6. mode=6,即:(balance-alb)Adaptive load balancing(適配器適應性負載均衡) 
  特點:該模式包含了balance-tlb模式,同時加上針對IPV4流量的接收負載均衡(receiveload balance, rlb),而且不需要任何switch(交換機)的支持。接收負載均衡是通過ARP協商實現的。bonding驅動截獲本機發送的ARP應答,并把源硬件地址改寫為bond中某個slave的唯一硬件地址,從而使得不同的對端使用不同的硬件地址進行通信。

三、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

什么是miimon?

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

查看bond0狀態:

    /proc/net/bonding/bond

關于bonding的詳細配置請參照

    /usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt

四、Bonding的配置實例

1、實驗之前需要關閉NetworkManager,否則可能實驗會出現問題

blob.png

1、創建bonding設備的配置文件

blob.png

2、重啟網絡配置,查看設備是否配置成功

blob.png

blob.png

3、測試網絡是否能ping通

blob.png

4、查看bond的狀態,當前使用的額是eth0接口

blob.png

5、把eth0接口down掉,看是否能ping通,這時候轉到使用eth1的接口,實現了鏈路的負載均衡

blob.png

blob.png

原創文章,作者:xiaoqing,如若轉載,請注明出處:http://www.www58058.com/43540

(0)
xiaoqingxiaoqing
上一篇 2016-09-06 08:51
下一篇 2016-09-06 08:51

相關推薦

  • 編譯安裝dropbear和使用

    一、概念 Dropbear是一個相對較小的SSH服務器和客戶端。它運行在一個基于POSIX的各種平臺。 Dropbear是開源軟件,在麻省理工學院式的許可證。 Dropbear是特別有用的“嵌入”式的Linux(或其他Unix)系統,如無線路由器。 二、功能 dropbear實現完整的SSH客戶端和服務器版本2協議。它不支持SSH版本1 的向后兼容性,以節省…

    Linux干貨 2016-10-04
  • 下載編譯安裝httpd 2.4最新版本

    關于這個問題分三步講:1.下載最新版本;2.編譯;3.安裝 一:下載httpd 2.4的最新版本:(這里以Centos 7為例,Centos 6里用的是2.2版本的) 下載的話如何找下載路徑—–>下載后是存在windows下,如何將其移進linux中  1.下載路徑: 當然我們現在只要是碰到不會或者不知道的東西,通常會…

    2017-08-26
  • rpm程序包管理器使用詳解

    rpm程序包管理器的使用詳解   說到程序包管理器,就會想到基于CentOS系統上的rpm命令與其對應的前端處理器yum。所謂程序包,是將源代碼轉換為二進制格式,再組織成一個或者多個包文件供用戶安裝使用。rpm程序包的命名格式如下:   name-VERSION-release.arch.rpm   軟件名-版本號(分為主版本m…

    Linux干貨 2016-08-21
  • keepalived高可用

    keepalived實現wrrp熱網關備份:keepalived配置文件如下主:! Configuration File for keepalived global_defs {  notification_email {    acassen@firewall.loc    failover@firewal…

    Linux干貨 2017-05-16
  • Linux基本命令

    基本命令 1、用戶 1、  root  :超級用戶 2、  普通用戶(生產環境一般使用普通用戶) 2、終端terminal 1、  設備終端 :鼠標、顯示器 2、  物理終端 (/dev/console): 1.       控制臺 3、 …

    Linux干貨 2017-04-17
  • Linux平臺的4個最佳開源代碼編輯器

    原文出處: Abhishek   譯文出處:Linux中國 su-kaiyao   正在尋找Linux平臺最棒的代碼編輯器?如果你詢問那些很早就玩Linux的人,他們會回答是Vi, Vim, Emacs, Nano等。但是,我今天不討論那些。我將談論一些新時代尖端、漂亮、時髦而且十分強大, 功能豐富…

    Linux干貨 2015-03-02
欧美性久久久久