網卡(接口)綁定是將多塊 網卡邏輯地連接到一起從而允許故障轉移或者提高吞吐率的方法。提高服務器網絡可用性的一個方式是使用多個網卡。Linux 綁定驅動程序提供了一種將多個網卡聚合到一個邏輯的綁定接口的方法。這是個新的實現綁定的方法,並不影響 linux 內核中舊綁定驅動。
網卡綁定為我們提供了兩個主要的好處:
現在讓我們在 CentOS 7 上配置網卡綁定吧。我們需要決定選取哪些接口配置成一個組接口(Team interface)。
運行 ip link命令查看系統中可用的接口。
$ ip link
這裡我們使用 eno16777736和eno33554960網卡在 “主動備份” 模式下創建一個組接口。(譯者注:關於不同模式可以參考:多網卡的7種bond模式原理)
按照下面的語法,用 nmcli命令為網絡組接口創建一個連接。
# nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME指代連接的名稱,INAME是接口名稱,JSON(JavaScript Object Notation) 指定所使用的處理器(runner)。JSON語法格式如下:
'{"runner":{"name":"METHOD"}}'
METHOD是以下的其中一個:broadcast、activebackup、roundrobin、loadbalance或者lacp。
現在讓我們來創建組接口。這是我們創建組接口所使用的命令。
# nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
運行 # nmcli con show命令驗證組接口配置。
# nmcli con show
現在讓我們添加從設備到主設備 team0。這是添加從設備的語法:
# nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
在這裡我們添加 eno16777736和eno33554960作為team0接口的從設備。
# nmcli con add type team-slave con-name team0-port1 ifname eno16777736 master team0
# nmcli con add type team-slave con-name team0-port2 ifname eno33554960 master team0
再次用命令 #nmcli con show驗證連接配置。現在我們可以看到從設備配置信息。
#nmcli con show
上面的命令會在 /etc/sysconfig/network-scripts/目錄下創建需要的配置文件。
現在讓我們為 team0 接口分配一個 IP 地址並啟用這個連接。這是進行 IP 分配的命令。
# nmcli con mod team0 ipv4.addresses "192.168.1.24/24 192.168.1.1"
# nmcli con mod team0 ipv4.method manual
# nmcli con up team0
用 #ip add show team0命令驗證 IP 地址信息。
#ip add show team0
現在用 teamdctl命令檢查主動備份配置功能。
# teamdctl team0 state
現在讓我們把激活的端口斷開連接並再次檢查狀態來確認主動備份配置是否像希望的那樣工作。
# nmcli dev dis eno33554960
斷開激活端口後再次用命令 #teamdctl team0 state檢查狀態。
# teamdctl team0 state
是的,它運行良好!!我們會使用下面的命令連接回到 team0 的斷開的連接。
#nmcli dev con eno33554960
我們還有一個 teamnl命令可以顯示teamnl命令的一些選項。
用下面的命令檢查在 team0 運行的端口。
# teamnl team0 ports
顯示 team0當前活動的端口。
# teamnl team0 getoption activeport
好了,我們已經成功地配置了網卡綁定 :-) ,如果有任何反饋,請告訴我們。
作者:Arun Pyasi譯者:ictlyh校對:wxy
本文由 LCTT原創翻譯,Linux中國榮譽推出
本文由 LCTT 原創翻譯,Linux中國首發。也想加入譯者行列,為開源做一些自己的貢獻麼?歡迎加入LCTT!
翻譯工作和譯文發表僅用於學習和交流目的,翻譯工作遵照CC 協議規定,如果我們的工作有侵犯到您的權益,請及時聯系我們。
歡迎遵照CC 協議規定轉載,敬請在正文中標注並保留原文/譯文鏈接和作者/譯者等信息。
文章僅代表作者的知識和看法,如有不同觀點,請樓下排隊吐槽:D