企業網高可用性設計

新鈦雲服已累計為您分享823篇技術乾貨
高可用性網路誕生背景
隨著國家與社會近幾年對資訊化建設的號召與大力支援以及大資料與雲計算等資訊化技術的高速發展,網際網路上各種型別的流量呈現井噴式的上漲,高效能網路的建設與發展在此背景趨勢下變得愈發重要。對於任何一家企業而言,擁有高穩定性、高吞吐量、高可用性的網路系統,能夠更好地滿足企業業務對網路的要求以及企業自身的發展需要。
層次性架構企業網常見的高可用性網路實現方式
對於具有層次性架構的企業網環境而言,增加網路高可用性最有效的方式通常是將資料轉發裝置採購多臺、通訊鏈路連線多根等方式來設計冗餘,再透過合理的策略設計,實現通訊網路的高可用性。並且能夠實現整體網路通訊資料分擔在多根通訊鏈路、多臺裝置節點之上。
數字科技峰會
對此,本文章將講述在具備多裝置的冗餘環境下,如何透過策略設計,搭建具備高可用性的企業網路環境,實現基於冗餘備份的負載均衡策略。以兩臺裝置為例,整體設計思路如下圖所示。

將終端裝置的閘道器節點設計冗餘,但終端裝置的閘道器只能指向一個節點,而為了實現高可用性,我們希望的是兩臺閘道器裝置都能夠作為下游終端裝置的閘道器,轉發其網路間的通訊資料。因此,我們將冗餘閘道器裝置透過VRRP(Virtual Redundancy Router Protocol)聚合成一臺邏輯的虛擬閘道器。針對下游的兩個vlan,閘道器A作為vlan10的活動裝置Master,作為vlan20的備份裝置Backup。而閘道器B則正好與之相反。透過這樣的設計,兩臺閘道器均正常執行的情況下,vlan10的通訊流量將由閘道器A響應處理;vlan20的流量將由閘道器B響應處理。而當某一臺閘道器裝置不可用時,其所負責的vlan通訊資料的轉發任務將切換到另一臺裝置上,實現閘道器的高可用性。對於下游所有vlan整體而言,業務流量分擔在了兩臺閘道器之上,並且能夠避免單點故障,單裝置或單鏈路故障不影響業務的正常執行。
實驗演示拓撲
本文使用華為ensp搭建典型的層次性架構企業網路環境,在具備冗餘的條件下,透過策略設計,搭建出具備高可用性的企業網路。本文僅講解高可用性設計內容,裝置基礎配置不進行贅述和展示,整體拓撲如下圖所示。

在上述拓撲中,SW3-6為二層接入交換機、SW1與SW2為匯聚層閘道器交換機、AR1作為匯聚上行方向的核心路由器且作為DHCP Server、FW1為邊界出口,右側是模擬的網際網路環境。
實驗配置詳解
匯聚層閘道器交換機SW1與SW2 VRRP配置
SW1:
#interfaceVlanif10ipaddress 172.16.10.1 255.255.255.0vrrpvrid 10 virtual-ip 172.16.10.254 #配置vrrp虛擬閘道器的虛擬ip地址vrrpvrid 10 priority 110 #手工設定vrrp優先順序,操控主備身份選舉vrrpvrid 10 preempt-modetimerdelay 5 #主裝置上開啟搶佔延時vrrpvrid 10 trackbfd-session 1 reduced 15 #使用bfd監測上行鏈路dhcpselectrelaydhcprelayserver-ip 10.1.11.2#interfaceVlanif11ipaddress 10.1.11.1 255.255.255.252#interfaceVlanif20ipaddress 172.16.20.1 255.255.255.0vrrpvrid 20 virtual-ip 172.16.20.254vrrpvrid 20 priority 110vrrpvrid 20 preempt-modetimerdelay 5vrrpvrid 20 trackbfd-session 1 reduced 15dhcpselectrelaydhcprelayserver-ip 10.1.11.2#interfaceVlanif30ipaddress 172.16.30.1 255.255.255.0vrrpvrid 30 virtual-ip 172.16.30.254 #備裝置上只需要啟用vrrp即可#interfaceVlanif40ipaddress 172.16.40.1 255.255.255.0vrrpvrid 40 virtual-ip 172.16.40.254#
SW2:
#interfaceVlanif10ipaddress 172.16.10.2 255.255.255.0vrrpvrid 10 virtual-ip 172.16.10.254#interfaceVlanif20ipaddress 172.16.20.2 255.255.255.0vrrpvrid 20 virtual-ip 172.16.20.254#interfaceVlanif30ipaddress 172.16.30.2 255.255.255.0vrrpvrid 30 virtual-ip 172.16.30.254vrrpvrid 30 priority 110vrrpvrid 30 preempt-modetimerdelay 5vrrpvrid 30 trackbfd-session 2 reduced 15dhcpselectrelaydhcprelayserver-ip 10.1.12.2#interfaceVlanif40ipaddress 172.16.40.2 255.255.255.0vrrpvrid 40 virtual-ip 172.16.40.254vrrpvrid 40 priority 110vrrpvrid 40 preempt-modetimerdelay 5vrrpvrid 40 trackbfd-session 2 reduced 15dhcpselectrelaydhcprelayserver-ip 10.1.12.2#
SW1與SW2分別作為vlan10、vlan20與vlan30、vlan40的主閘道器,且彼此互為備份。VRRP是基於三層介面執行的,而不是整個裝置。VRRP閘道器組成員之間會互動組播發送的VRRP Announcement報文來檢查對端活躍狀態,以及比較優先順序。如果開啟了搶佔,當接收到對端傳送過來的Announcement中攜帶的優先順序引數欄位值如若比本地小,則搶佔Master活動身份;如果未開啟搶佔,則只有當對端宕機或離線時,本端才會切換活動身份。

由於VRRP主備身份切換正常情況下是根據本端裝置、介面等的狀態變化來決定的。但在實際通訊過程中,我們期望的是即使是主裝置上行鏈路發生故障,VRRP也要因為端到端通訊路徑不完整而實現主備的切換。所以需要使用上行鏈路監測來完成這個需求。上行鏈路監測常用的有介面監測、NQA監測、BFD監測。如果是防火牆裝置做雙機熱備,還能選擇IP-link監測。本文將使用BFD監測,實現故障發生時,主備身份毫秒級的切換,儘可能地減小主備切換造成的丟包影響。
匯聚層閘道器交換機上行監測BFD配置
SW1:
#bfd 1 bind peer-ip 10.1.11.2 interface Vlanif11 source-ip 10.1.11.1 discriminator local 1 #本地識別符號 discriminator remote 11 #對端識別符號 commit #啟用bfd配置 #
SW2:
#bfd 2 bindpeer-ip 10.1.12.2interfaceVlanif12source-ip 10.1.12.1discriminatorlocal 2discriminatorremote 12commit#
BFD監測原理與路由協議互動hello包維持鄰居關係類似,透過毫秒級地週期性傳送BFD的探針,若傳送的探針三個週期時間內均未收到應答,BFD將判定與對端鄰居之間的直連鏈路失效不可用。而用在上行鏈路監測上,則是在VRRP上聯動BFD,一旦BFD監測狀態為DOWN,觸發降低VRRP優先順序的配置,當降低後的優先順序小於原本的Backup後,將實現主備身份的切換,從而實現端到端通訊路徑的切換。本文中採用的是BFD的雙向檢測,上行裝置AR1也將監測下行兩臺閘道器交換機。
AR1:
#bfd 11 bind peer-ip 10.1.11.1 interface GigabitEthernet0/0/1 source-ip 10.1.11.2 discriminator local 11 discriminator remote 1 commit#bfd 12 bind peer-ip 10.1.12.1 interface GigabitEthernet0/0/2 source-ip 10.1.12.2 discriminator local 12 discriminator remote 2 commit#
VRRP主備身份
SW1:對於vlan10與vlan20,作為活動主裝置

SW2:對於vlan30與vlan40,作為活動主裝置

BFD監測與VRRP聯動

交換區塊生成樹配置
在交換區塊裡,接入與雙匯聚之間為了實現高可用性,採取的是雙上行連線方式,匯聚之間也有以太通道互聯鏈路。在這樣的連線方式下,顯而易見存在環路問題。如果對應交換機不支援堆疊,但需要保持冗餘連線以提供備份鏈路,那麼在企業網環境中往往還是會選擇執行生成樹來實現二層環路的避免。除此之外,交換機還能執行一些大二層技術來防環,例如trill。但這種技術往往只有資料中心級別的高階交換機能支援。
由於華為交換機生成樹不論是802.1D,還是802.1W均是全域性所有vlan共用一個生成樹程序。這極易造成部分vlan通訊路徑為次優路徑,為解決該問題,本文選擇執行802.1S標準的MSTP。需要注意的是,所有交換機必須擁有相同的MSTP配置才能屬於同一個region中,同一個region中的交換機才能一起構建出生成樹。
交換區塊所有交換機MSTP配置
#stp enable#預設就開啟了,此命令可忽略stp mode mstp #Huawei裝置預設stp模式就是mstp,此命令可忽略stp region-configuration #進入mstp配置 region-name ha #MSTP域名 instance 12 vlan 10 20 #vlan10和vlan20對映到例項12 instance 34 vlan 30 40 #vlan30和vlan40對映到例項34 active region-configuration   #啟用mstp配置
交換區塊由於使用生成樹來防環,因此冗餘路徑是被阻塞的狀態。具體阻塞哪條路徑如果不去人為干預的話,可能生成樹最終確定的根路徑並不是我們所期望的。由於生成樹根橋選舉是透過比較始發BPDU中ROOT ID欄位值誰更小誰為根橋,而ROOT ID欄位由生成樹優先順序加上交換機MAC地址構成。因此,生成樹選舉的操控一般是透過修改交換機生成樹優先順序的方式來實現。預設值是32768,僅需將所期望成為根橋的交換機的該值修改的比32768小即可,但需要注意的是必須以4096的倍數修改,因為ROOT ID欄位的Priority值2位元組,後12位為vlan id,能動的只有前4位。通常,可以將期望成為根橋的交換機的優先順序修改為4096,備份根橋修改為8192。或者直接指定其為主根橋或備份根橋,以保證主備根橋是期望的裝置。本文中將採取直接指定的方式進行配置。
主備根橋手工指定為雙匯聚裝置
SW1:
#stp instance 12 root primary #指定SW1為mstp例項12的主根橋stp instance 34 root secondary #指定SW1為mstp例項34的備份根橋#
SW2:
#stp instance 12 root secondary #指定SW2為mstp例項12的備份根橋stp instance 34 root primary #指定SW2為mstp例項34的主根橋#
主備根橋身份驗證:
SW1

SW2:

路徑切換測試
生成樹路徑切換
以vlan40為例,上游接入交換機SW6雙上行連線中,連線SW1的埠處於阻塞Discarding狀態,因為vlan40對映到了mstp的instance34中,而instance34的主根橋是SW2,所以連線SW2的埠Gi 0/0/2為根埠。通訊路徑如下圖所示。

模擬SW6上行根鏈路故障,驗證路徑切換

透過shutdown SW6上行連線SW2的介面模擬上行根鏈路故障,長ping中途無丟包,路徑立即切換至備份鏈路。檢視SW6的埠狀態變化,可以發現原先連線SW1的被阻塞的鏈路變成了根鏈路,生成樹根路徑完成重收斂。
主備閘道器切換
模擬匯聚層閘道器上行鏈路故障,驗證閘道器切換
以vlan20為例,正常情況下走SW1作實際物理閘道器轉發去往外部網路的通訊資料

shutdown SW1上行連線AR1的鏈路,模擬上行鏈路故障。shutdown掉介面後,立即彈出了對應的日誌訊息。OSPF鄰居中斷,BFD狀態檢測為DOWN,vrrp 10與20從Master切換為Backup

主閘道器從SW1切換至SW2

在本文中,我們詳細介紹了最簡單最典型的層次性架構企業網路高可用性的模擬實戰部署。在網路模型中的二層與三層入手,透過mstp的多例項對應多生成樹完成二層鏈路基於冗餘備份的負載均衡策略,mstp高效的收斂速度得以讓終端主機對網路通訊鏈路的變更無感。透過在具備冗餘的匯聚交換機上面啟用多個vrrp程序針對下游不同vlan交叉互為主備閘道器的方式也實現了基於冗餘備份的負載均衡策略,透過BFD的監測,主備閘道器切換能在毫秒級內時間完成,同樣地,對應使用者側的終端裝置來說是無感知的。
高可用性的網路不僅能保障企業生產業務不間斷執行,避免因網路故障導致的損失。還能提供穩定的網路效能,以提高使用者使用體驗。另外,高可用性的網路設計通常更加地靈活,便於應對未來的調整與擴充套件需求,以適應業務的變化。因此,高可用性網路的設計搭建逐漸成為當下設計網路時必須考慮的設計原則,如何透過最小的成本搭建設計出高可用性網路也是網路工程師們一直在探索研究的話題。
如有相關問題,請在文章後面給小編留言,小編安排作者第一時間和您聯絡,為您答疑解惑。
    推薦閱讀   

    推薦影片    

相關文章