一、BONDING
bonding(綁定)是一種linux系統下的網卡綁定技術,可以把服務器上n個物理網卡在系統內部抽象(綁定)成一個邏輯上的網卡,能夠提升網絡吞吐量、實現網絡冗餘、負載等功能,有很多優勢。bonding技術是linux系統內核層面實現的,它是一個內核模塊(驅動)。使用它需要系統有這個模塊, 我們可以modinfo命令查看下這個模塊的信息, 一般來說都支持。
二、工作模式
bonding技術提供了七種工作模式,在使用的時候需要指定一種,每種有各自的優缺點.
balance-rr (mode=0) 默認, 有高可用 (容錯) 和負載均衡的功能, 需要交換機的配置,每塊網卡輪詢發包 (流量分發比較均衡).
active-backup (mode=1) 只有高可用 (容錯) 功能, 不需要交換機配置, 這種模式只有一塊網卡工作, 對外只有一個mac地址。缺點是端口利用率比較低
balance-xor (mode=2) 不常用
broadcast (mode=3) 不常用
802.3ad (mode=4) IEEE 802.3ad 動態鏈路聚合,需要交換機配置,沒用過
balance-tlb (mode=5) 不常用
balance-alb (mode=6) 有高可用 ( 容錯 )和負載均衡的功能,不需要交換機配置 (流量分發到每個接口不是特別均衡)
具體的網上有很多資料,瞭解每種模式的特點根據自己的選擇就行, 一般會用到0、1、4、6這幾種模式。
1、設置bonding前需要另添加兩塊網卡,且該兩塊網卡在一個vmnet中,共用bonding的ip地址
網卡的配置文件中的主要幾個配置
DEVICE=eth0 設備名
ONBOOT=yes 表示隨着網絡服務的啓動,該網卡是否隨之啓動
NM_CONTROLLED=yes 表示該網卡是否支持NetworkManager管理
BOOTPROTO=dhcp|static|none 如刪除該行,則爲手動設置地址
HWADDR= 該網卡的MAC地址
PEERDNS=no 默認是yes當該網卡啓動PEERDNS=yes,dns配置文件中的dns會被該網卡
的dns設置所覆蓋,若網卡是dhcp則被dhcp的設置覆蓋,若網卡是靜態地址,則被靜態配置的dns
覆蓋
2、修改網卡的配置文件 /etc/sysconfig/network-scripts/
BONDING_OPTS="miimon=100 mode=1"
miimon是用來進行鏈路監測的。miimon=100,那麼系統每100ms監測一次鏈路連接狀態,如果有
一條路不通就轉入另一條線路
3、配置要綁定的網卡的配置文件
SLAVE=yes 是否同意服務bond0
MASTER=bond0 該命令指定服務誰
4、bonding設置成功後,需要重啓網絡
serivce network start 開啓網絡服務
service network stop 停止網絡服務
service network restart 重啓網絡服務
5、測試bonding的配置效果,ping master的ip地址,當bonding中master網絡斷開,slave中的網
絡就會頂上,在這期間
會發生丟包重傳的情況。
cat /proc/net/bonding/bond0 該條命令可以用來查看masterde的詳細信息
刪除bonding前需要先關閉bond0:ifconfig bond0 down
rmmod bonding
2、centos7中的bonding的設置方式
2.1、增添兩塊網卡,且在同一個vmnet中
2.2、增加bond的方案,用nmcli命令進行操作設置一條新的方案
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup
2.3、增加slave的方案給兩塊新加的網卡
nmcli connection add con-name slavename ifname ensname type ethernet master bond0
注意:如沒有爲從屬接口提供連接名,則該名稱是接口名稱加類型構成
2.4、配置bond0,設置地址、域和網關
nmcli connection modify bond0 ipv4.method manual connection.autoconnect yes ipv4.addresses
address ipv4.dns 域 ipv4.gateway 網關地址
激活bond指令: nmcli connection up bondname
2.5、查看設置結果
2.6、測試,在一個vmnet主機ping bonding。