多網卡綁定: 把多塊網卡邏輯上綁在一塊使用,對外就相當於一塊網卡,他們共用一個ip地址。 好處: 防止一塊網卡壞了就無法使用,提升帶寬。 工作模式: mod=0:輪詢模式,兩個網卡輪流處理數據包。 提升帶寬和容錯性 mod=1:主備模式,住在一個網卡上處理,主壞了就使用備用的。 只提升了容錯性 註: ...
多網卡綁定:
把多塊網卡邏輯上綁在一塊使用,對外就相當於一塊網卡,他們共用一個ip地址。
好處:
防止一塊網卡壞了就無法使用,提升帶寬。
工作模式:
-
mod=0:輪詢模式,兩個網卡輪流處理數據包。 --- 提升帶寬和容錯性
-
mod=1:主備模式,住在一個網卡上處理,主壞了就使用備用的。 --- 只提升了容錯性
註:某些模式(0、2、3)需要在交換機上配置。(1、5、6)不需要配置。
範例:主備模式的配置(配置文件實現)
#通過修改配置文件的方式實現。
#1.創建一張虛擬網卡,並指定工作模式
/etc/sysconfig/network-scripts/ifcfg-bond0 #創建的虛擬網卡
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100
PREFIX=8
#miimon指定鏈路監測時間間隔。如果miimon=100,那麼系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路
#model=1 選用model1這種模式
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#2.對兩張網卡進行配置(不配置地址,地址都配置到虛擬網卡上面去了)
/etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0 #網卡並非獨立網卡,而是附屬到bond0上,網卡的設置由bond0來進行控制
SLAVE=yes #SLAVE:從設備
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-eth1
NAME=eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
範例:主備模式的配置(nmcli命令實現)
#nmcli的最終結果就是生成配置文件
#添加bonding介面 #mode active-backup模式--model=1這個模式
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 10.0.0.100/24
#將物理網卡加入到bond設備裡面 #ifname:指定物理網卡的介面名
nmcli con add type bond-slave ifname ens7 master bond0
nmcli con add type bond-slave ifname ens3 master bond0
#註:沒有給物理網卡指定連接名時,則該名稱是介面名稱加類型構成 con-name:連接名 ifname:介面名
#要啟動綁定,則必須首先啟動從屬介面
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
#啟動綁定
nmcli con up mybond0
查看創建的bond0的狀態:
/proc/net/bonding/bond0
刪除bond0:
方法一: ifconfig bond0 down
方法二: rmmod bonding
網路組
bond這種實現方案比較老了,從CentOS7開始就推出了新的技術:team(網路組)
效果和bond功能是一樣的,內核實現和命令上面發生了改變。
工作模式:
-
broadcast
-
roundrobin
-
activebackup --主備模式
-
loadbalance --- 負載均衡
-
lacp (implements the 802.3ad Link Aggregation Control Protocol)
nmcli實現team
#1.創建網路組介面 # ifname INAME 這個介面名是自己虛擬出來的介面
nmcli con add type team con-name CNAME ifname INAME 工作模式(json格式)
#CNAME 連接名
#INAME 介面名
#JSON 指定runner方式,格式:'{"runner": {"name": "METHOD"}}'
#METHOD 可以是broadcast, roundrobin, activebackup, loadbalance, lacp
#2.把物理網卡加入進來讓它成為一個從的設備
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
#CNAME 連接名,連接名若不指定,預設為team-slave-IFACE
#INAME 網路介面名
#TEAM 網路組介面名
#3.啟動網卡(都要啟動)
nmcli con up CNAME #啟動網卡
#斷開連接的方法:
nmcli dev dis INAME
#刪除 刪除的時候會把配置文件也一起閃出掉
nmcli con delete Name(連接名)
範例
#1。 添加一個team設備
nmcli con add type team con-name myteam0 ifname team0 config '{"runner":
{"name": "loadbalance"}}' ipv4.addresses 192.168.1.100/24 ipv4.method manual
#2. 將物理網卡計入team中讓他成為team的成員
nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
#3.啟動生效
nmcli con up myteam0
nmcli con up team0-eth1
nmcli con up team0-eth2
#查看使用的是那種模式
teamdctl team0 state #team0表示創建的team名字
ping -I team0 192.168.0.254
#禁用某一張網卡的方法:
nmcli dev dis eth1