?

利用VMware NSX實現CentOS系統及服務的高可用

2019-11-30 15:16孫耀文李剛楊屹
電子技術與軟件工程 2019年2期
關鍵詞:單臂網段日志

文/孫耀文 李剛 楊屹

隨著SDN-軟件自定義網絡技術的發展和日益成熟,其影響力已經席卷了各大數據中心和云服務供應商,而且正在迅速的在向院校、企業網中滲透,從某個角度來說,甚至可以稱之為SDN是云計算的“第二階段”,可以預見的是,就像當前服務器虛擬化的迅猛發展一樣,在將來的數據中心內,設計、部署、實施以及運維都將離不開SDN技術,這將在很大程度上改變IT從業人員的工作方式,而網絡虛擬化作為一個分支,已經成為SDN發展到一定階段的必然產物,現在各個廠商也相繼推出了自己的相關產品,例如VMware NSX、Cisco ACI、Microsoft HNV等,但相比較而言,真正實現了“軟件自定義、多功能性、相對開放性、與底層物理網絡解耦“的只有VMware NSX,在NSX中的Edge邊界網關集成了類似NFV的防火墻、負載均衡、DHCP、NAT、VPN等功能,本文就單臂負載均衡功能為基礎實現CentOS的主機高可用性以及CentOS的中的Crontab、Rsync命令實現靜態網站數據的自動化同步展開討論和研究。

1 VMware NSX負載均衡技術

VMware NSX(以下簡稱NSX)作為當前最先進的網絡虛擬化產品之一,所能提供的功能中包含四到七層的邏輯負載均衡服務,技術核心為將服務分攤到多個單元上執行,主要是為了實現將應用橫向擴展,也就是將工作負載橫向分布到多臺服務器上以及提供高可用性。負載均衡可以由硬件來實現也可以由軟件來執行,雖然硬件負載均衡在性能上優于軟件方式,不過其往往成本高昂,部署復雜,而且現在的服務器CPU和內存都非常強大,基本上杜絕了傳統軟件負載均衡方案效率低下的弊端,而NSX作為基于軟件的負載均衡技術,建立在現有網絡之上,提供了一種配置簡單、高效、廉價、透明的方式來擴展網絡設備和服務器的帶寬,能有效的增加吞吐量,加強網絡數據處理能力,而且NSX中的很多技術細節是非常有利于其更高效率的進行負載均衡服務的:

(1)NSX本身是基于overlay技術的,而VXLAN是overlay技術的基礎,核心理念就是對現有的VLAN標簽技術進行徹底改變,通過將原始以太網報文進行UDP二次封裝的手段,增加 VNI(VXLAN Network Identifier)標識符并進行VTEP隧道轉發,在封裝時,新的UDP包頭的頭部包含源、目的端口號,而這個源端口號,是根據原始以太網數據的頭部進行哈希計算后得出的結果,這種做法可以更好的支持負載均衡和等價多路徑技術。

(2)NSX Controller作為控制平面,實現對轉發平面流量實現集中化策略控制,職責是控制運行在Hypervisor之上的交換、路由以及Edge服務,其引入了切片技術,將負載切分成大量不同的片,主要目的之一就是能夠更有效的進行負載均衡,而且切片的力度更細則負載均衡效果越好,按照官方的建議,一般規模是部署3、5、7臺Controller。

(3)NSX本身支持三種負載均衡服務模式:單臂負載均衡模式、在線負載均衡模式、分布式負載均衡模式,在這里我們就常用的單臂負載均衡模式展開研究,這種模式其實更可以理解為在現有服務器網絡中部署一臺“負載均衡器”,與傳統的Edge邊界網關不同,它只需要一個vNIC作為Internal-Interface來連接內部網絡,沒有Uplink-Interface,所有被負載均衡的虛擬服務器數據的流入、流出虛擬網絡都經過它來處理和進行負載均衡算法并進行虛擬服務器資源調撥,整體工作流程概括為(Client IP既訪問者IP)-(Edge Uplink-Interface IP邊界網關外網IP)-(Edge LB Internal-Interface IP負載均衡Edge進行相關算法進行調撥)-(Server IP被分配的最終服務器IP),反之步驟亦然。

2 利用VMware NSX實現CentOS系統及服務的高可用

2.1 VMware NSX實現單臂負載均衡的必要前提

實現單臂負載均衡的技術前提是VMware vSphere集群已經正常運作,VMware NSX的所有基礎組件已經正確配置運行而且已經與vCenter進行有效集成,主要組件包括:NSX Manager-NSX管理器、NSX Controller-NSX控制器、VXLAN-虛擬可擴展局域網、TransportZone-傳輸區域、LSW-邏輯交換機、DLR-分布式邏輯路由器、Edge-邊界服務網關;搭建的實驗環境如下:

NSX Manager:192.168.3.114( 版本為6.4.3);NSX Controller:192.168.3.185~187(3個控制器節點);VXLAN VTEP:192.168.3.188~189(MTU 1600);TransportZone:VXLAN Pool 5000~5999( 單播);LSW-Subnet-1(192.168.1.0/24實驗網段);DLR:192.168.1.1(該網段網關,連接ESG以及LSW-Subnet-1);ESG:IP 192.168.3.90~95(邊界網關,執行SNAT、DNAT)。

ESG-SNAT設置:邊界ESG的地址為192.168.3.91,SNAT應用于ESG的Uplink Interface,協議為任意,原始源IP/范圍為實驗網段LSW-Subnet-1承載的192.168.1.2~192.168.1.254地址范圍,目標IP/范圍為any,轉換后的源IP/范圍我們取192.168.3.92~192.168.3.95,最后啟用日志記錄功能。

ESG-DNAT設置:DNAT應用于ESG的Uplink Interface,協議為任意,源IP/范圍為any,源端口/范圍為任意,原始目標IP/范圍為192.168.3.90(這個IP是下面要部署的用于負載均衡的ESG-LB的外網轉換IP地址),轉換后的IP/范圍為192.168.1.254(這個IP是ESG-LB的內網IP地址),轉換后的端口/范圍為任意,最后啟用日志記錄功能。

同時準備兩臺Centos7的虛擬機作為web服務器,分別為CentOS01和CentOS02,地址為192.168.1.2和192.168.1.3,網關192.168.1.1(也就是分布式路由器的內網IP),并編譯安裝Apache作為web服務

2.2 設置NSX單臂負載均衡并監測運行結果

在以上步驟全部完成且正常運行以后,此時CentOS的兩臺web服務器運行在192.168.1.0也就是邏輯交換機在的內部網段,如果SNAT配置正確的話,這兩臺虛擬機是可以訪問外部網絡的,因為實驗環境中部署了VMware Log Insight并在ESG中進行了將日志設置輸出到Log Insight,可以很詳細的觀測到SNAT的轉化結果,比如在CentOS01和CentOS02也就是192.168.1.2和192.168.1.3上前后相隔10分鐘分別進行了一個ping 114.114.114.114的 操 作,Log Insight上可以看到ESG到SNAT的轉換日志,可以看到192.168.1.2通過SNAT被轉換為192.168.3.92,而192.168.1.3通過SNAT被轉化為了192.168.3.93與外網114.114.114.114這個地址進行了通信;然后開始部署用于負載均衡的ESG,首先需要借助vCenter左側菜單中的“網絡和安全”中的“NSX Edge”界面生成一臺新的設備,安裝類型選擇“Edge服務網關”,名稱ESG-LB-WEB,并勾選“部署NSX Edge”,接口選擇類型為“內部”,連接到和兩臺CentOS服務器同一個邏輯交換機“LSW-Subnet-1”,ESG的主地址為和兩臺CentOS服務器同一網段的192.168.1.254/24,網關為192.168.1.1。

ESG-LB部署完畢以后,應該可以看到NSX Edge界面已經存在三臺edge設備分別為邊界網關ESG,分布式路由器DLR和用于單臂負載均衡的ESG-LB,雙擊進入新生成的ESG-LB設備,從“設置”標簽頁進入后選擇“證書”子選項,因為負載均衡服務是通過SSL加密的,所以需要先點選“生成CSR”,然后點選生成的CSR-再選擇“操作”-“自簽名證書”,天數暫時選擇365天。然后點擊頁面上方的“負載均衡器”標簽頁,選擇“啟用負載局衡器”并點選“日志記錄”功能,然后點擊左側菜單中的“應用程序配置文件”,新建一個配置文件,名稱為LB-WEB,因為這里只是計劃測試Apache的80端口,所以選擇“HTTP”。點擊左側菜單中的“服務監控”,新建一個服務器監控策略,目的是選擇ESBLB通過何種策略來檢測被負載均衡的成員服務器是否在線,實驗環境中我們新建一個名為“Monitor-ICMP”的監控策略并將檢測類型選擇為“ICMP”。

然后繼續點擊左側菜單中的“池”,新建名稱為Pool-WEB,NSX負載均衡支持的算法有很多,包括 Rоund Rоbin,Trаffiс,Usеr,Appliаt ion,Session,Service,Auto Mode等,為了實驗效果的明顯,先選擇“Round Robin”,監控策略則選擇剛剛新建的Montor-ICMP,然后添加被負載均衡的成員,這里通過虛擬機名稱將兩臺CentOS服務器加入。繼續點擊左側菜單中的“虛擬服務器”,新建一個虛擬IP,用于DNAT中的映射地址來使用,至此關于單臂負載均衡器的主體設置完成。

但是此時負載均衡器還是和web服務器一樣處于內網,前面的SNAT只是完成了內部服務器數據通往外網的設置,此時還需要在網關Edge上做針對內網IP的DNAT映射,192.168.3.90這個地址是Edge的UplinkInterface的輔助地址之一,而且并沒有作為SNAT的地址來使用,我們回到網關Edge上面新建一個DNAT規則,應用于“Uplink Interface”,協議選擇“TCP”,源IP/范圍填寫“any”,原始目標IP/范圍填寫192.168.3.90,端口選擇80,轉換后的IP/范圍填寫ESB-LB的內網地址192.168.1.254,轉換后的端口/范圍選擇“任意”。

至此我們完成了所有SNAT、DNAT以及單臂負載均衡的設置工作,然后需要著手完善CentOS中的Apache配置,因為只是實驗環境所以并未將Apache服務器作進一步的優化和添加為系統服務,它存在的目的只是讓我們能夠明確觀察到單臂負載均衡起到了作用,使用Apache自帶的index.html回顯不同的內容來達到這個目的,我們將/soft/apache2/htdocs中的index.html修改為有標示性的內容以便分辨到底是哪臺服務器提供了web訪問的服務,然后我們在192.168.3.0/24網段的服務器上模擬外部訪問請求,使用不同的Session并結合VMware Log Insight中的日志信息來進一步確定結果.可以看到Log insight中明確記錄了NSX單臂負載均衡的相關日志,當使用同一瀏覽器訪問http://192.168.3.90的80端口時,ESB-LB使用RoundRobin算法分別將兩次客戶端請求調撥分擔到了不同的CentOS服務器上,實現了我們的目的-單臂負載均衡。

3 結語

雖然我們已經實現了基于VMware NSX的單臂負載均衡實現CetnOS的高可用性以及負載均衡,但仍可以進一步優化整個結構,比如在vSphere的DRS中設置隔離規則,將這兩臺CentOS永遠由不同的ESXi來承載,這樣部署的優點在于,如果某臺CentOS系統本身甚至ESXi虛擬化主機出現故障離線,那么ESG-LB會在保持業務不中斷的情況下,通過適合我們業務系統需求的特定算法將所有客戶端訪問請求發送給仍舊正常運行的虛擬web服務器,如果正在運行的服務器大于兩臺且ESG-LB正確配置的話,剩余的服務器依舊可以實現負載均衡功能,然后會通過NSX的日志系統或Log Insight日志系統給予告警,以便管理人員進行進一步的故障處理工作。

猜你喜歡
單臂網段日志
一名老黨員的工作日志
扶貧日志
單位遭遇蠕蟲類病毒攻擊
網上鄰居跨網段訪問故障
游學日志
Onvif雙網段開發在視頻監控系統中的應用
一種基于粗集和SVM的Web日志挖掘模型
三層交換技術在大型醫療設備互聯時的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合