bond0和eth0
A. Linux網卡bond
網卡綁定mode共有七種(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6。 常用的有三種:
mode=0:平衡負載模式,有自動備援,但需要」Switch」支援及設定。
mode=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。
mode=6:平衡負載模式,有自動備援,不必」Switch」支援及設定。
添加MASTER、SLAVE配置項
eth0:
eth1:
bond0(不存在,需要自己創建):
ip a可以看到eth0\eth1上的master為bond0
B. 3.ubuntu server的網卡綁定和橋接
為了方便做這個實驗,我在虛擬機上配置了4塊網卡,其中eth0和eth1配置為NAT模式,eth2和eth3配置為「僅主機模式」。eth0和eth1可以通過NAT轉換連接外網,網段為192.168.36.X,eth2和eth3不能連接外網網段為172.16.22.X。創建網橋之前要先安裝bridge-utils: sudo apt install bridge-utils 。網卡配置如下:
只給eth0配置一個地址,配置文件如下:
修改配置文件後,執行 sudo netplan apply 使配置生效,此時網路配置如下:
把eth0和eth2配置上靜態IP,配置文件如下:
執行 sudo netplan apply 後,兩個網卡的網路都是通的,網路配置如下
創建一個網橋br0,然後將br0橋接到eth0上。配置文件如下:
執行 sudo netplan apply 後,兩個網卡的網路都是通的,網路配置如下(修改網橋配置後,有時執行 sudo netplan apply 後網路不通,需要重啟伺服器)
創建兩個網橋br0和br1,然後分別橋接到eth0和eth2上。配置文件如下:
測試兩個網段的網路,都是通的。
網卡綁定共有7中模式,概念如下:
測試網路,沒有問題。
⽹卡綁定⽤於提供⽹卡接⼝冗餘以及⾼可⽤和端⼝聚合功能,橋接⽹卡再給需要橋接設備的服務使⽤。將網卡eth0和eth1綁定為bond0,再創建一個網橋br0,與bond0橋接。配置文件如下:
測試網路,沒有問題
把eth0和eth1綁定為bond0,連接NAT網路,通過共享主機網路上網模擬外網;eth2和eth3綁定為bond1,連接僅主機網路模擬內網。配置文件如下:
測試網路:
把eth0和eth1綁定為bond0,連接NAT網路,通過共享主機網路上網模擬外網;eth2和eth3綁定為bond1,連接僅主機網路模擬內網,創建網橋br0和br1,並分別橋接到bond0和bond1上。配置文件如下:
測試網路:
總結:以上就是ubuntu1804網卡靜態IP地址、bond、橋接、bond+橋接的配置方式。查看網路可以用 ifconfig 命令,當前哪個模式的網卡(網橋、bond)工作,哪個模式的網卡(網橋、bond)就會顯示有IP地址。通過配置文件或有IP地址的設備都可以確定網卡的工作模式。
C. 理解Linux下網卡的bonding
發現工作中可能會用到Linux下網卡綁定相關的知識。找了些文章看,然後一通混剪,各家所長為我所用。
網卡bond,即網卡綁定,也稱作網卡捆綁。網卡綁定有多種稱謂:Port Trunking, Channel Bonding, Link Aggregation, NIC teaming等等,其實說的是一回事。就是將兩個或者更多的物理網卡綁定成一個虛擬網卡。通過綁定可以達到鏈路冗餘、帶寬倍增、負載均衡等目的。是生產場景中提高性能和可靠性的一種常用技術。
Linux內置了網卡綁定的驅動程序,可以將多個物理網卡分別捆綁成多個不同的邏輯網卡(例如把eth0、eth1捆綁成bond0,把eth2、eth3捆綁成bond1)。對於每一個bond介面來說,可以分別定義不同的綁定模式和鏈路監視選項。
對應於不同的負載均衡和容錯特性需求,Linux網卡bond的模式共有bond0-bond6共7種。
表示負載分擔round-robin,並且是輪詢的方式,比如第一個包走eth0,第二個包走eth1,直到數據包發送完畢。
表示主備模式,即同一時間時只有1塊網卡在工作。
表示使用MAC地址的XOR Hash負載分擔,網路上特定的通信雙方會始終經由某一個網卡的鏈路通信,和交換機的聚合強制不協商方式配合。(需要xmit_hash_policy [1] ,需要交換機配置port channel)
表示所有包從所有綁定的網路介面發出,不考慮均衡流量的分擔,只有冗餘機制,但過於浪費資源。此模式適用於金融行業,因為他們需要高可靠性的網路,不允許出現任何問題。需要和交換機的聚合強制不協商方式配合。
表示支持802.3ad協議,和交換機的聚合LACP方式配合(需要xmit_hash_policy).標准要求所有設備在聚合操作時,要在同樣的速率和雙工模式。
是根據每個slave的負載情況選擇slave進行發送,接收時使用當前輪到的slave。該模式要求slave介面的網路設備驅動有某種ethtool支持;而且ARP監控不可用。
在5的tlb基礎上增加了rlb(接收負載均衡receiveload balance).不需要任何switch(交換機)的支持。接收負載均衡是通過ARP協商實現的.
模式1、模式5和模式6不需要交換機端的設置,網卡能自動聚合。模式4需要支持802.3ad。模式0,模式2和模式3理論上需要靜態聚合方式。 (據說實測中模式0可以通過mac地址欺騙的方式在交換機不設置的情況下不太均衡地進行接收。)
創建ifcfg-bond0文件,配置IP地址、子網掩碼、網關等參數。
修改eth0、eth1、eth2的配置文件,注釋或刪除IP地址、掩碼、網關和MAC地址的配置,添加關於MASTER和SLAVE的設置
根據實際需求,選擇合適的bonding模式,為bond0設置bonding kernel mole。
在 /etc/modprobe.conf 中添加以下內容
確認模塊是否載入成功
重啟網路(或重啟主機):
查看bond0的狀態:
另外還可以使用 ifconfig -a | grep HWaddr 查看bond0介面是否處於活動狀態,以及各網卡MAC地址情況。
從上面的確認信息中,我們可以看到3個重要信息:
1.現在的bonding模式是active-backup
2.現在Active狀態的網口是eth2
3.bond0,eth0、eth1、的物理地址和處於active狀態下的eth2的物理地址相同,這樣是為了避免上位交換機發生混亂。
可以ping一個遠程地址,然後斷開Active狀態的eth2口網線,驗證主備模式是否能正常切換,業務是否受到影響。
將網口添加到bond中:ifenslave bond eth0 eth1【bond要先up】
將bond中刪除網口:ifenslave -d bond eth0
bond中網口主備倒換:ifenslave -c bond eth1
前面只是3個網口綁定成一個bond1的情況,如果我們要設置多個bond口,比如物理網口eth0和eth1組成bond0,eth2和eth3組成bond1應該如何設置呢?
網口設置文件的設置方法和上面第1步講的方法相同,只是/etc/modprobe.d/bonding.conf的設定就不能像下面這樣簡單的疊加了:
正確的設置方法有2種:
第一種: 你可以看到,這種方式的話,多個bond口的模式就只能設成相同的了:
第二種: 這種方式,不同的bond口的mode可以設成不一樣:
按照上面這2種設置方法,現在如果是要設置3個,4個,甚至更多的bond口,可是可以的。
D. bond和eth區別
bond和eth的區別在於支持hash的加密,支持負載均衡,更好的支持IPV6,總之要取代bond需要很多的添加。
E. 重啟後為什麼我不能ssh連不上機器
機器重啟後,SSH 連不上了,通過ilo登錄進去,ping網關不通,那說明本機與路由都是不通的,本機IP配置在bond0上,bond0是eth0和eth1組成,eth0和eth1是兩個互為backup的網口,重啟後,bond0會重新選擇網口與外界聯系。
重啟後,路由連不上說明,bond0選擇了和上次不一樣網口,而這個網口和本機配的路由不通訊。
那麼eth0和eth1這兩個網口哪個實有問題的網口呢?
一個個試。
ifconfig eth0 down ###把網口eth0關閉
ethtool eth0 ###檢測eth0的狀態為no
現在bond0隻能選擇eth1與route鏈接,ping網關(既是路由余晌)不通豎斗鋒,說明eth1口有問題,她不與路由鏈接。
ifconfig eth0 up ###現在把eth0起來
ethtool eth0 ###顯示為yes
現在ping網關照樣不通,因為雖然eth0網口起來了,但是bond0還是選擇eth1和外界通銷尺訊。現在你只能把eth1網口down了,bond0才會選擇eth0.操作如下:
ifconfig eth1 down ##把網口eth1關閉
ethtool eth1 ##顯示為no
此時,bond0自動選擇active的eth0口,再ping網關就通了。
在3021上不能登錄sc-2,原因也是如上的。bond1的eth2和eth3,bond1通過了一個down的eth口,和外界鏈接,所以需要按以上方法處理。
F. linux查看bond0綁定哪個網卡
linux查看bond0綁定哪個網卡具體如下。
1、實現差悄物理隱鍵網口eth0,eth1網卡綁定。
2、綁定後的虛擬灶慶巧邏輯網口bond0。
3、IP地址和原來的eth0的IP保持一致即可。
G. linux綁定bond的七種模式
目前網卡綁定mode共有七種(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6
常用的有三種:
mode=0:平衡負載模式,有自動備援,但需要」Switch」支援及設定。
mode=1:自動備援模式,其中一條線若斷線,其他線路將會自動備援。
mode=6:平衡負載模式,有自動備援,不必」Switch」支援及設定。
Linux網口綁定:
通過網口綁定(bond)技術,可以很容易實現網口冗餘,負載均衡,從而達到高可用高可靠的目的。前提約定:
2個物理網口分別是:eth0,eth1
綁定後的虛擬口是:bond0
伺服器IP是:10.10.10.1
第一步,配置設定文件:
[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.10.10.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1 飢行
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
第二步,修改modprobe相關設定文件,並載入bonding模塊:
1.在這里,我們直接創建一個載入bonding的襲肢毀專屬設定文件/etc/modprobe.d/bonding.conf
[root@woo ~]# vi /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding mode=0 miimon=200
2.載入模塊(重啟系統後就不用手動再載入了)
[root@woo ~]# modprobe bonding
3.確認模塊是否載入成功:
[root@woo ~]# lsmod | grep bonding
bonding 100065 0
第三步,重啟一下網路,然後確認一下狀拍備況:
[root@db01 ~]# service network restart
Shutting down interface bond0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface bond0: [ OK ]
[root@db01 ~]# 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: eth0
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: 40:f2:e9:db:c9:c2
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 40:f2:e9:db:c9:c3
[root@db01 ~]# ifconfig | grep HWaddr
bond0 Link encap:Ethernet HWaddr 40:F2:E9:DB:C9:C2
eth0 Link encap:Ethernet HWaddr 40:F2:E9:DB:C9:C2
eth1 Link encap:Ethernet HWaddr 40:F2:E9:DB:C9:C2
從上面的確認信息中,我們可以看到3個重要信息:
1.現在的bonding模式是active-backup
2.現在Active狀態的網口是eth0
3.bond0,eth1的物理地址和處於active狀態下的eth0的物理地址相同,這樣是為了避免上位交換機發生混亂。
任意拔掉一根網線,然後再訪問你的伺服器,看網路是否還是通的。
第四步,系統啟動自動綁定、增加默認網關:
[root@woo ~]# vi /etc/rc.d/rc.local
#追加
ifenslave bond0 eth0 eth1
route add default gw 10.10.10.1
H. 雙網卡綁定
一台伺服器同時有安裝雙網卡,要對網卡進行配置。即進行雙網卡綁定。
操作前提:
確定該物理機有雙網卡,如果是要接千兆網/萬兆網,必須確定該物理機有對應的網卡。
操作步驟:
1、首先確定網卡已經接好線:
#ifconfig 命令或
#ip addr 命令,查看現在網卡名稱和對應ip
2、進目錄/etc/sysconfig/network-scripts
#ls 可查看到多個網卡及其配置,一般網卡的名稱為ifcfg-enpx,可以查看其是否已經滲梁配置。
如:ifcfg-eth0
#ethtool 網卡名: 可查看該網卡是否接線及網卡速度
如:#ethtool ifcfg-eth0
看其是否已配置了其他信息,來判斷是否接線;查看配置信息中Speed一項的信息,可看該網卡速度,1000Mb/s則為千兆網、10000Mb/s則為萬兆網。
3、配置網卡:
配置千兆網卡(例如 ifcfg-eth0)和萬兆網卡(例如 ifcfg-eth1)
之後配置ifcfg-bond0:
重啟網路, #service network restart
再次查看ip地址 #ifconfig 命令,會有兩個地址了
bond綁定
主要常用的三種模式
mode0(平衡負載模式):平時兩塊網卡均工作,且自動備援,但需要在與伺服器本地網卡相連的交沒喊運換機設備上進行埠聚合來支持綁定技術。
mode1(自動備援模式):平時只有一塊網卡工作,在它故障後自動替換為另外的網卡。
mode6(平衡負載模式):平時兩塊網卡均工作,且自動枯梁備援,無須交換機設備提供輔助支持。(推薦)
I. centos7.6 網卡做bond
實驗環境:centos7.6 ,網卡 ens1,ens2
網卡綁定mode共型頌有七種(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6
####################### 我是分割線 #######################
網卡鬧悔 eth0、eth1 做 bond1
watch -n 1 cat /proc/net/bonding/bond0
####################### 我是分割線 #######################
*5、若發現有橙色的要啟動
team 可以理卜彎鄭解為 bond 的升級
J. Linux 網卡bond的七種模式
網卡bond是通過多張網卡綁定為一個邏輯網卡,實現本地網卡的冗餘,帶寬擴容和負載均衡,在生產場景中是一種常用的技術。Kernels 2.4.12及以後的版本均供bonding模塊,以前的版本可以通過patch實現。可以通過以下命令確定內核是否支持 bonding:
鏈路負載均衡,增加帶寬,支持容錯,一條鏈路故障會自動切換正常鏈路。交換機需要配置聚合口,思科叫port channel。
這個是主備模式,只有一塊網卡是active,另一塊是備用的standby,所有流量都在active鏈路上處理,交換機配置的是捆綁的話將不能清租橡工作,因為交換機往兩塊網卡發包,有一半包是丟棄的。
表示XOR Hash負載分擔,和交換機的聚合強制不協商方式配合。(需要xmit_hash_policy,需要交換機配置port channel)
表示所有包從所有網路介面發出,這個不均衡,只有冗餘機制,但過於浪費資源。此模式適用於金融行業,因為他們需要高可靠性的網路,不允許出現任何問題。需要和交換機的聚合強制不協商方式配合。
表示支持802.3ad協議,和交換機的聚合LACP方式配合(需要xmit_hash_policy).標准要求所有設備在聚合操作時,要在同樣的速率和雙工模式,而且,和除了balance-rr模式外的其它bonding負載均衡模式一樣,任何連接都不能使用多於一個介面的帶寬。
是根據每個slave的負載情況選擇slave進行發送,接收時使用當前輪到的slave。該模式要求slave介面的網路設備驅動有某種ethtool支持;而且ARP監控不可用。
在5的tlb基礎上增加了rlb(接收負載均衡receive load balance).不需要任何switch(交換機)的支持。接收負載均衡是通過ARP協商實現的.
mode5和mode6不需要交換機端的設置,網卡能自動聚合。mode4需要支持802.3ad。mode0,mode2和mode3理論上需要靜態聚合方式。
但實測中mode0可以通過mac地址欺騙的方式在交換機不設置的情況下不太均衡地進行接收。
1、首先要看linux是否支持bonding,大部分發行版都支持
如輸出以上信息,則說明支持bonding,如果沒有,說明內核不支持bonding,需要重新編譯內核
2、答旁網卡配置文件
兩個物理網口分別是:eth0,eth1 綁定後的虛擬口是:bond0
開機自動載入模塊到內核
每100毫秒 (即0.1秒) 監測一次路連接狀態,如果有一條線路不通就轉入另一條線路; Linux的多網卡綁定功能使用的是內核中的"bonding"模塊
如果修改為其它模式,只需要在BONDING_OPTS中指定mode=Number即可。USERCTL=no --是否允許非root用戶控制該設備
查看bond0狀態:可以看到調用的是哪幾個物理網卡
三、擴展
上邊是兩個網卡(eth0、eth1)綁定成一個bond0,如果我們要設置多個bond口,比如物理網口eth0和eth1組成bond0,eth2和型罩eth3組成bond1,那麼網口設置文件的設置方法和上面
是一樣的,只是/etc/modprobe.d/dist.conf文件就不能疊加了。正確的設置方法有兩種:
1、第一種
這樣所有的綁定只能使用一個mode了。
2、第二種
這種方式不同的bond口可以設定為不同的mode,注意開機自動啟動/etc/rc.d/rc.local文件的設置
http://lixin15.blog.51cto.com/3845983/1769338
http://linuxnote.blog.51cto.com/9876511/1680315