目錄:
(一)瞭解什麼是聚合鏈路
(二)配置聚合網絡的幾種方式
(三)配置橋接網絡vim
(一)瞭解什麼是聚合鏈路
(1.1)在咱們系統中有一個客戶端client,還有一臺服務器server,在服務器和客戶端之間使用交換機進行鏈接,交換機和服務器的帶寬爲無限大,沒有任何的限制,而客戶端和交換機之間是百兆的帶寬。此時咱們假設服務器上有100G的內容須要傳輸到客戶端上,假設咱們常規狀況下須要1個小時能夠將文件所有下載下來。此時咱們感受1個小時下載文件是很是費時的,而此時咱們client客戶端上有兩張網卡,若是直接將第二張網卡插上一根網線鏈接到交換機上,但願時間可以所以下降到0.5小時,這實際上是沒法實現的。由於在每一個交換機裏存在着mac地址表,例如f0/0和client eth0關聯,f0/1和client eth2關聯,f0/2和server eth0關聯,在局域網內部通訊的時候有一個很重要的因素是mac地址,客戶端和服務器通訊的時候,client客戶端從eth0網卡出來通過了交換機找到了server服務器端的eth0地址。此時client的源地址是「s:client:eth0」,而此時server的目的地址是「d:client:eth0」,而當通訊的信息從server端返回到交換機的時候,此時交換機會去ARP表中解析client端的eth0對應的mac地址是什麼並將其關聯起來,因此當使用client端的eth0和server端進行通訊,即便咱們從新插入另一根網線將client端的eth1接入進來,也仍然沒法爲client端的eth0網卡分擔100G數據從server端下載過來的流量。
(1.2)若是咱們但願client端的多張網卡能夠同時工做,分擔單個網卡下載流量的壓力時,咱們能夠將eth0的mac地址和eth1的mac地址使用軟件合併成一個mac地址,此時當有數據包從server端返回到交換機的時候,交換機發如今ARP表中f0/0與f0/1對應的是同一個mac地址,所以此時數據包從eth0網卡傳輸和eth1網卡傳輸都是能夠的。此時數據包是如何分配的呢?咱們能夠有兩種分配模式,第一種是activebackup高可用備份,數據先從一條鏈路的網卡eth0進行傳輸,當出現當前傳輸的鏈路斷開時,備用的eth1便會馬上頂上去繼續提供傳輸服務;第二種是roundrobin輪詢,即傳輸文件時,一部分流量能夠從eth0傳輸,接着一部分流量從eth1傳輸,這樣循環往復進行數據傳輸,固然相似的方式還有LoadBlanace負載均衡。固然第二種方式除了在主機上進行配置,同時仍是須要在交換機上配置channel。
(1.3)當咱們將client客戶端eth0和eth1的mac地址修改成同樣後,咱們應該在哪一個網卡上配置IP地址呢?咱們的解決方案是建立一個虛擬的網卡team0關聯eth0和eth1,而後在team0網卡上配置IP地址,因爲eth0、eth一、team0解析出來的mac地址都是同樣的,同時記錄在交換機的f0/0和f0/1上,此時當server主機上傳送過來的數據包到達交換機後,發現IP地址對應的mac地址既出如今f0/0上,也出如今了f0/1上了,因此此時數據包即可以選擇從eth0傳輸,也能夠選擇從eth1傳輸。通常咱們須要實現改變網卡mac地址的需求能夠經過兩種方式來實現,第一種方式是配置網卡的binding綁定網絡,第二種方式是配置網卡的team聚合網絡,此處咱們使用第二種方式實現。
(1.4)應用場景:當服務器提供比較重要的服務時,只准備一張網卡是遠遠不夠的,由於一旦網卡出現故障,客戶就沒法訪問,這就會形成客戶流失,體驗感差,這個時候就能夠運用鏈路聚合的方案來解決,將多張網卡綁定在一塊兒建立一張虛擬網卡,從而實現網卡熱備份、流量輪詢式負載均衡,以此來保障服務器可以正常提供服務,給用戶以良好的體驗。服務器
(二)配置聚合網絡的幾種方式
(2.1)配置聚合網絡,咱們通常可使用三種方式實現,第一種是圖形化界面配置,第二種是命令行的方式配置,第三種是經過修改配置文件的方式操做。咱們首先使用第一種圖形化界面的配置方式在vms002主機上進行配置,咱們在vms002主機上添加兩張新的網卡,而後發現此時系統中已經存在三張網卡了(圖2-3)。
(2.2)接着咱們將NetworkManager服務啓動起來,並打開圖形化界面。咱們選擇添加一個「組隊」網絡,而後將鏈接名稱和接口名稱設置爲team0(圖2-6),在IPv4的設置處設置IP地址和子網掩碼(圖2-7),接着添加一個網卡,並命名爲team0-slave1,添加第二張網卡,並命名爲team0-slave2,同時還要添加JSON文件「{"runner":{"name":"activebackup"}}」(圖2-9),此時咱們保存文件並關閉圖形化界面,最後重啓網絡便可(圖2-10)。
# systemctl start NetworkManager
# nm-connection-editor &
(2.3)此時咱們在vms002主機上使用ifconfig命令查看網卡eno3355496八、eno5033219二、team0時,發現網卡的mac地址已經變成同樣的了(圖2-11)。此時咱們在vms001主機上進行ping操做,發現是能夠ping通vms002主機的(圖2-12)。
(2.4)咱們使用teamdctl命令能夠查詢出當前系統使用的是activebackup備份高可用,當前工做的網卡是eno33554968,而後咱們將該網卡斷開(圖2-13),此時咱們發現系統仍然是備份高可用狀態,而且已經自動鏈接到了第二張網卡eno50332192(圖2-14),並且此時vms001主機ping向vms002主機的鏈接一直沒有斷開(圖2-15)。
# teamdctl team0 state---查詢當前系統的網絡狀態
# nmcli device disconnect eno33554968---將網卡eno33554968鏈接斷開
(2.5)接着咱們在vms002主機上先將eno33554968網卡鏈接上,而後將eno50332192網卡的鏈接斷開,能夠發現因此此時vms002主機的備份高可用的需求仍然是實現了的。
# nmcli device connect eno33554968---咱們將eno33554968網卡從新鏈接上
# nmcli device disconnect eno50332192---咱們將eno50332192網卡鏈接斷開
# teamdctl team0 state---查詢當前網卡的鏈接狀態
# tcpdump -i eno33554968---在vms002主機進行抓包
注意:若是咱們發現當vms001主機沒法ping通vms002主機的時候,能夠在vms002主機上使用tcpdump命令抓一下包,此時系統之間的鏈接便會正常。
(2.6)接着咱們經過第二種命令行的方式進行配置,咱們首先在vms002主機上將以前用圖形化設置的組隊信息刪除,而後從新使用命令行進行設置,咱們添加一個team網卡設置鏈接名爲team0,設置網卡名爲team0,並添加備份高可用的JSON信息,而後在將系統中的兩張網卡eno33554968和eno50332192設置爲從屬於team0的team-slave類型。
# nmcli connection delete team0
# nmcli connection delete team0-slave1
# nmcli connection delete team0-slave2
# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}---添加一個team網卡設置鏈接名爲team0,設置網卡名爲team0,並添加備份高可用的JSON信息
# nmcli connection modify team0 ipv4.addresses 192.168.26.200/24 ipv4.gateway 192.168.26.2 ipv4.dns 192.168.26.2 ipv4.method manual---設置team0網卡的IP地址、網關、DNS,並設置team0網卡爲手動
# nmcli connection add type team-slave con-name team0-slave1 ifname eno33554968 master team0---在team0網卡中添加一個team-slave,設置鏈接名爲team0-slave1,網卡名爲eno33554968,且從屬於team0網卡
# nmcli connection modify team0-slave1 connection.autoconnect yes---設置開機的時候網卡能夠自動鏈接
# nmcli connection add type team-slave con-name team0-slave2 ifname eno50332192 master team0---在team0網卡中添加一個team-slave,設置鏈接名爲team0-slave2,網卡名爲eno50332192,且從屬於team0網卡
# nmcli connection modify team0-slave2 connection.autoconnect yes---設置開機的時候網卡能夠自動鏈接
(2.7)咱們將網絡重啓後發現此時vms002主機設置組隊的三張網卡的mac地址已經徹底一致了,此時咱們發現vms001主機已經能夠正常的ping同vms002主機的組隊網絡team0了。
# systemctl restart network---將網路重啓一下
# tcpdump -i eno33554968---對網卡eno33554968抓包
(2.8)而後咱們使用第三種修改配置文件的方式進行配置,咱們首先進入到/usr/share/doc/teamd-1.15/example_ifcfgs/1目錄中,將三個模板文件拷貝到/etc/sysconfig/network-scripts/目錄中(圖2-22),咱們將ifcfg-eth1重命名爲ifcfg-eno33554968,將ifcfg-eth2重命名爲ifcfg-eno50332192,並在ifcfg-eno33554968配置文件和ifcfg-eno50332192配置文件中配置對應的信息(圖2-22至圖2-25)。
# nmcli connection delete team0
# nmcli connection delete team0-slave1
# nmcli connection delete team0-slave2
# cd /usr/share/doc/teamd-1.15/example_ifcfgs/1
(2.9)最後咱們還要編輯ifcfg-team_test0配置文件,並填寫相關的配置信息,最後咱們將網絡重啓一下,此時能夠發現系統的組隊網絡team0已經生效了,而且三張網卡的mac地址已經徹底一致了(圖2-28)。此時咱們在vms001主機上ping向vms002主機的聚合網絡時,是可以ping通的(圖2-29)。
# systemctl restart network
# teamdctl team_test0 state---查詢team_test0組隊網路的狀態
# nmcli device disconnect eno33554968---斷開eno33554968網卡的鏈接
# nmcli device connect eno33554968---從新鏈接eno33554968網卡網絡
(三)配置橋接網絡
(3.1)通常橋接網絡是應用在虛擬化的環境中,咱們能夠經過三種方式配置橋接網絡,第一種是圖形化界面的配置方式,第二種是命令行的配置方式,第三種是經過修改配置文件的方式。首先咱們使用圖形化界面的方式進行配置,咱們在vms002主機上設置兩張網卡,而後咱們打開圖形化界面,選擇橋接模式(圖3-3),而後依次配置橋接和IPv4設置(圖3-4至圖3-6),而後點擊保存並關閉。此時咱們便建立了一個橋接網絡br0了,且實現了將eno33554968網卡橋接到了bro網卡上(圖3-7),最後咱們將網路重啓便可。此時咱們從物理機上嘗試ping向192.168.26.200的IP地址是能夠ping通的(圖3-8)。
# nm-connection-editor &
# systemctl restart network
(3.2)而後咱們使用第二種命令行的方式來進行配置,咱們首先將以前配置的信息清理一下(圖3-9),而後配置一個br0網橋,並將網卡eno33554968和br0網橋進行關聯(圖3-10)。此時咱們從物理機上ping向vns002主機的橋接網絡時,仍然是能夠ping通的(圖3-11)。
# brctl show---查詢橋接的網絡信息
# nmcli connection---查詢網卡鏈接狀態
# nmcli connection delete br0---刪除br0網卡
# nmcli connection delete br0-slave1---刪除br0-slave1網卡
# nmcli connection add type bridge con-name br0 ifname br0---建立一個橋接的網橋,命名爲br0,同時設置鏈接名爲br0
# nmcli connection modify br0 ipv4.addresses 192.168.26.200/24 ipv4.gateway 192.168.26.2 ipv4.dns 192.168.26.2 ipv4.method manual connection.autoconnect yes---設置br0網橋的IP地址、網關、DNS的信息,並設置ipv4爲手動啓動,同時開機自動鏈接
# nmcli connection add type bridge-slave con-name br0-slave1 ifname eno33554968 master br0---設置從節點鏈接名爲br0-slave1,鏈接的網卡是eno33554968
# nmcli connection modify br0-slave1 connection.autoconnect yes---設置從節點開機自動鏈接
(3.3)接着咱們使用第三種修改配置文件的方式進行配置,咱們進入到/etc/sysconfig/network-scripts/目錄中,而後建立一個ifcfg-br0文件,並作以下的配置(圖3-12和圖3-13),接着建立一個ifcfg-br0-slave1文件,並作以下的配置(圖3-14圖3-15)。
# vim ifcfg-br0
# vim ifcfg-br0-slave1
ONBOOT=yes表示開機是否自動啓動;BOOTPROTO=none表示開機經過什麼協議獲取IP地址
(3.4)最後咱們將vms002主機的網絡服務重啓一下,此時發現br0和網卡eno33554968的mac地址一致,咱們使用物理機也是能夠正常的ping通vms002主機的橋接網絡的。
# brctl show---查詢橋接網絡信息負載均衡
—————— 本文至此結束,感謝閱讀 ——————tcp