centos(9) 網卡HA 的實現 --bond

網卡HA是什麼意思,顧名思義, 就是通過特點的技術來實現網卡的高可用性。

linux 自帶的bond技術可以實現 linux 雙網卡綁定和負載均衡。 

本文就以筆者自己的實驗環境爲例來搭建 網卡的HA,以及如果去除bond.


一、搭建 HA

 第一步:配置設定文件 

1) 建立虛擬網絡接口ifcfg-bond0的配置文件。

vim /etc/sysconfig/network-scripts/ifcfg-bond0
然後加入以下的內容:
#虛擬設備的名稱 
DEVICE=bond0
IPADDR=192.168.110.22
NETMASK=255.255.255.0
NETWORK=192.168.110.0
GATEWAY=192.168.110.1
#BONDING_OPTS="mode=1 arp_interval=60 arp_ip_target=+192.168.110.1"
#miimon是指定隔多長時間進行鏈路監測,單位是ms
#mode是表示綁定口的工作模式,有0-6共7種,常用的是0和1 ,後面幾種不太清楚是幹什麼的, 怎麼用
#mode=1表示是acitve-backup的方式, 兩張卡一用一備的狀態
#mode=0表示是round-robin的方式, 同時工作工作在負載均衡狀態 
#mode=2 表示是balance-xor,表示提供負載均衡和和耐故障功能
#mode=3表示是broadcast,廣播策略,耐故障功能。把數據以廣播的方式,發給包含在該bond口內的所有網口
#mode=4表示是802.3ad IEEE 802.3ad動態鏈接集合
#mode=5表示是balance-tlb 自動適應傳輸負載均衡策略。
#mode=6表示是balance-alb 自動適應負載均衡策略
BONDING_OPTS="mode=1 miimon=100"USERCTL=noONBOOT=yesBOOTPROTO=none


2). 修改/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0#指定master就是bond0
SLAVE=yes#這個最好是顯式的給出
BOOTPROTO=none #啓動時不使用任何的協議

3). 修改/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0#指定master就是bond0
SLAVE=yes#這個最好是顯式的給出
BOOTPROTO=none #啓動時不使用任何的協議


4). 修改/etc/modprobe.conf

加入以下的兩行

alias bond0 bonding
alias eth0 e1000

 第二步:加載bonding模塊

1) 加載模塊

modprobe bonding

2)確認模塊是否加載成功


第三步:確認網絡

1. 重啓網絡

service network restart
或者是

/etc/init.d/network restart

2. 查看狀態



由上面可以看出,

1) 現在的bonding  的模式是active-backup, mode=1

2)   現在active 的網口 是eth0

3)  他們使用的物理地址是一樣的。 


如下的內容,引用自Linux網口綁定 Litvip Linux 愛好者 

如果我們要設置多個bond口,比如物理網口eth0和eth1組成bond0,eth2和eth3組成bond1,
那麼網口設置文件的設置方法和上面第1步講的方法相同,只是/etc/modprobe.d/bonding.conf的設定就不能像下面這樣簡單的疊加了:

1
2
3
4
alias bond0 bonding
options bonding mode=1 miimon=200
alias bond1 bonding
options bonding mode=1 miimon=200

正確的設置方法有2種:
第一種,你可以看到,這種方式的話,多個bond口的模式就只能設成相同的了:

1
2
3
alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2 miimon=200 mode=1

第二種,這種方式,不同的bond口的mode可以設成不一樣:

1
2
3
alias bond0 bonding
options bond0 miimon=100 mode=1
install bond1 /sbin/modprobe bonding -o bond1 miimon=200 mode=0

仔細看看上面這2種設置方法,現在如果是要設置3個,4個,甚至更多的bond口,你應該也會了吧!

引用結束


二、去除HA

這部分的內容好像在網上沒有找到, 以下是筆者自己的摸索,記錄下來的內容,方便以後自己的使用。

1)  停用bond0

ifdown bond0

2) 刪除

/etc/sysconfig/network-scripts/ifcfg-bond0

3) 將eth0與 eth1 設置 回去

DEVICE=eth0
USERCTL=no
ONBOOT=yes
#MASTER=bond0
#SLAVE=yes
HWADDR=00:50:56:09:01:05
BOOTPROTO=static
IPADDR=192.168.110.15
NETMASK=255.255.255.0

4)  去除bonding的相關設定

5) 重啓機器

就可以




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章