redha7 鏈路聚合

配置鏈路聚合

在Redhat7鏈路聚合有兩種:bond和team
bond 是把多個網卡綁定在一起,邏輯出一個接口,這樣可以提高吞吐量,和冗餘功能
bond 是依賴bonding.ko 這個內核模塊。
查看內核有沒有加載bonding.ko 模塊
#modinfo binding
可以查看模塊信息。如果有信息,說明已經加載
如果沒有加載,可以用命令加載。

#modprobe binding

一個主接口master,由多個從接口slave組成。
接口進行控制管理時,使用的是NetworkManager服務進程
bond配置過程要注意一下幾點;
master和slave是關閉和開啓是分別進行。
slave不用做任何配置
master可以是用dhcp和可以使用
master 使用dhcp配置時,從接口必須保證物理連接是正確的


bond 的模式:
round-robin mode 0 輪詢
active-backup mode 1 主備
broadcast mode 3 廣播
實驗環境說明:
一臺Redhat7 虛擬機。虛擬機添加2塊網卡,2塊虛擬機網卡類型都設置爲自動橋接(地址段爲:192.168.9.0/24 網關爲:192.168.9.254)
配置完成後,可以連接到互聯網

配置步驟:
1,先創建一個bond的master
2,創建兩個bond-slave 加入master
3,驗證bond是不是生效

在桌面打開一個終端,su - 到root用戶。查看一下網卡信息。可以看到除lo以外有兩塊網卡,
分別是eno16777736和eno33554992。這兩塊網卡沒有任何配置信息(如果不是新添加的網卡,有信息,需要用nmcli connection delete xx 刪除對應的網卡)

1,配置bond master 模式爲active-backup

#nmcli connection add type bond ifname bond0 con-name bond0 mode active-backup ip4 192.168.9.5/24 gw4 192.168.9.254
現在ip addr show 能夠查看到bond0

2創建兩個bond-slave 加入master

#nmcli connection add type bond-slave ifname eno16777736 master bond0
 #nmcli connection add type bond-slave ifname eno33554992 master bond0

3驗證bond創建是否生效。

#cat /proc/net/bonding/bond0能看到一下內容

[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eno33554992
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eno16777736
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:0c:29:58:5e:6e
Slave queue ID: 0

Slave Interface: eno33554992
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:58:5e:78
Slave queue ID: 0

說明bond已經配置成功。現在我們用ssh 連接192.168.9.5 能夠登錄成功。
修改dns配置文件vim /etc/resolv.conf 添加nameserver 8.8.8.8就可以連接到互聯網了

我們現在來看一下主備的效果。 另外開啓一個ssh
把活動Currently Active Slave: eno33554992 斷開連接。
#nmcli device disconnet eno33554992
我們現在查看一下cat /proc/net/bonding/bond0
Currently Active Slave: eno16777736
換成另外一個接口。
#可能是虛擬機的原因,活動的slave 切換了,但是還是掉線。有可能是虛擬機同步有問題。

team和bond的配置類似。(官方說bond和team不衝突)我就直接寫步驟了

team的模式:注意和bond的寫法區別
roundrobin 輪詢
activebackup 主備
broadcast 廣播

1,創建一個team master

#nmcli connection add type team con-name team0 ifname team0 autoconnect yes 
config '{"runner": {"name": "activebackup"}}' ip4 192.168.9.7/24 gw4 192.168.9.254

注意,team 指定模式的格式 '{"runner": {"name": "activebackup"}}'

2創建兩個team-slave 加入master

#nmcli connection add type team-slave ifname eno16777736 autoconnect yes master team0 
#nmcli connection add type team-slave ifname eno33554992 autoconnect yes master team0 

3檢驗team是否生效

#teamdctl team0 state 能夠查看信息

[root@localhost ~]# teamdctl team0 state
setup:
  runner: activebackup
ports:
  eno16777736
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
  eno33554992
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
runner:
  active port: eno16777736

查看team有那些port組成
# teamnl team0 ports

 [root@localhost ~]# teamnl team0 ports 
 3: eno33554992: up 1000Mbit FD 
 2: eno16777736: up 1000Mbit FD 

驗證方法還是可以上面一樣。還是出現同樣的問題,一切換網卡,就掉線。查看狀態是正常的。

我用的版本是redhat 7.0的版本。vmwarestation 14.1.2的版本。你們有遇到這樣的問題給我反饋。。。。

網橋的創建和bond 和team 類似。

#nmcli connection add type bridge ifname br0 con-name br0 autoconnect yes ip4 192.168.9.8  gw4 192.168.9.254
#nmcli connection add type bridge-slave autoconnect yes ifname eno16777736 master br0 

nmcli connection add type bridge-slave autoconnect yes ifname eno33554992 master br0

這樣那兩個接口就可以當交換機的兩個網口用了

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