王春苗
(安徽工商職業(yè)學院,安徽合肥231131)
部署基于Citrix PVS的高效穩(wěn)定的無盤網(wǎng)絡架構
王春苗
(安徽工商職業(yè)學院,安徽合肥231131)
高校計算機機房,承擔了最重要的教學和實訓任務。如何向師生提供一個高效穩(wěn)定的系統(tǒng)和軟件環(huán)境,一直是實訓管理人員所面臨的難題。該文首先簡要對比和分析三種機房系統(tǒng)環(huán)境部署模式,即傳統(tǒng)還原卡模式、無盤網(wǎng)絡架構、云桌面架構,然后簡單介紹Citrix(思杰)的Provisioning Services產(chǎn)品,并詳細講述如何部署基于PVS的無盤網(wǎng)絡架構。通過“故障轉移”、“負載均衡”、“本地和服務端緩存”、“雙活存儲”等功能,最終實現(xiàn)高效的、穩(wěn)定的、易于維護和管理的無盤網(wǎng)絡架構。
無盤;PXE;Citrix;PVS;故障轉移;負載均衡;雙活存儲;Active-Active
計算機機房管理技術的發(fā)展,經(jīng)歷了“還原卡或還原軟件”、“無盤網(wǎng)絡”和“云桌面”三種管理模式。還原卡或還原軟件模式:簡單易用,但是隨著硬盤壞道和網(wǎng)絡故障的增加,網(wǎng)絡克隆的速度和效率會大幅下降。該模式適合于應用簡單、更新頻率低的機房。無盤網(wǎng)絡架構模式:客戶機基于PXE等協(xié)議實現(xiàn)網(wǎng)絡引導和加載操作系統(tǒng),本地完成運行和計算,客戶機運行時的所有臨時性數(shù)據(jù),也可以存儲于客戶機的本地硬盤,而服務器僅僅是分發(fā)系統(tǒng)數(shù)據(jù)。由于所有客戶機共享一份系統(tǒng)鏡像,所以更新效率高。缺點是服務器或SAN存儲的磁盤,存在頻繁的I/O操作,對網(wǎng)絡帶寬的需求較大。云桌面模式:作為虛擬化技術的典型應用,目前已經(jīng)得到了很大程度的推廣,所有的處理任務由服務器完成,客戶端只接收處理后的結果。優(yōu)點是系統(tǒng)維護效率高,網(wǎng)絡帶寬需求較低,后期易于擴展和提升性能。缺點是建設初期成本極高,要求服務器配置高頻率多核CPU、大內(nèi)存,還需要配備專用的SAN存儲、光交換、萬兆光模塊等。
綜上所述,如何才能實現(xiàn)機房管理的最大性價比?這是本文將要重點闡述和解決的問題。
兩種模式的選擇,無非是在“部署成本”、“可擴展性”、“易于維護性”等方面的對比。云桌面初期部署成本較高,但是后期比較容易擴展,只需要向群集中增加服務器、CPU和終端許可證授權數(shù)即可,所以新建機房資金充足的情況下,可以采用云桌面模式。如果現(xiàn)有的機房仍然可用,且資金不足的情況下,建議采用無盤架構。只要能夠很好的解決無盤存在的主要缺點,無盤模式的性價比極高。
在IT項目維護中,確保高效和穩(wěn)定的通用方法無非有兩種,即“故障轉移”和“負載均衡”,這兩種方法同樣可以很好的應用于無盤模式架構中。本文設計并實際運行了一種無盤架構,從無盤軟件、網(wǎng)絡、鏈路、服務器群集、雙活存儲等多方面,實現(xiàn)了“故障轉移”和“負載均衡”功能。
簡要拓撲圖如圖1所示。
圖1 簡要拓撲圖
2.2.1 計算機機房設計
PC機必須配備支持PXE引導功能的千兆網(wǎng)卡,才能滿足主流操作系統(tǒng)如win7、win8的啟動帶寬要求。如果采用客戶端緩存模式,那么客戶機需要配備本地硬盤和足夠的本地內(nèi)存容量,如果需要更好的性能,本地硬盤可以使用“消費級”的廉價SSD。機房匯聚交換機通過雙鏈路聚合(2Gbps)分別連接到兩臺核心交換機,從而實現(xiàn)分流和故障轉移的功能。單個機房一臺匯聚交換機存在單點故障的問題,故障域局限于機房內(nèi)部,這個范圍是可以接受的。有些機房對故障率要求嚴格,例如頻繁用于考試的機房,可以使用雙匯聚交換機。
2.2.2 核心交換機的配置
所有機房的數(shù)據(jù)流量最終匯聚到核心交換機,所以至少要配備兩臺高性能三層交換機,具備千兆和萬兆接口,具備雙電源。每個機房屬于不同的vlan,需要在核心交換機上為每個機房規(guī)劃和配置vlan以及配置vlan接口上的ip參數(shù)(作為客戶機的網(wǎng)關),vlan接口上開啟DHCP中繼功能,轉發(fā)來自于客戶機的DHCP廣播請求到PVS服務器,然后再由兩臺PVS服務器上的DHCP服務模塊,向客戶機提供不重合的ip和雙網(wǎng)關地址。對于更高要求的機房應用環(huán)境,兩臺核心交換機還應該通過聚合鏈路互聯(lián)。
2.2.3 SAN存儲設計
存儲架構需求設計:SAN共享存儲或NFS共享存儲,是整個無盤網(wǎng)絡架構的數(shù)據(jù)承載核心,務必采用“雙活”(active-ac?tive)存儲架構。兩臺存儲通過“心跳網(wǎng)絡”互聯(lián),數(shù)據(jù)更新實時同步,面向前端的服務器群集,提供一致的磁盤ID號和統(tǒng)一的虛擬ip地址(根據(jù)需求,可配置一個或多個虛擬ip地址)。所以,從前端服務器群集來看,只存在一臺“邏輯存儲”,通過虛擬ip地址訪問這臺“邏輯存儲”。如果有一臺物理存儲出現(xiàn)故障宕機,那么訪問該存儲的所有請求會被重定向到另外一臺物理存儲,即虛擬ip地址指向的“邏輯存儲”仍然是可訪問的,從而實現(xiàn)了無縫故障轉移。存儲性能需求設計:無盤的性能需求包括讀取性能和寫入性能,原則上應該是“讀寫分離”的模式,使用多塊磁盤配置雙RAID組,分別存儲無盤系統(tǒng)鏡像數(shù)據(jù)和服務端緩存數(shù)據(jù)。存儲介質(zhì)采用“數(shù)據(jù)中心級”的固態(tài)硬盤組建“讀取RAID組”,采用多塊10K或15K轉速的SAS硬盤,組建“緩存RAID組”,也可以只使用一塊PCI-E接口的固態(tài)硬盤用于緩存盤,替代緩存RAID組。實際測試發(fā)現(xiàn),SATA接口的固態(tài)硬盤,并不適合接入陣列卡,很多陣列卡不支持固態(tài)硬盤的“trim”功能,無法實現(xiàn)“垃圾回收”,寫入性能差。緩存類型設計:無盤軟件一般都支持“服務端緩存”和“本地緩存”兩種類型,選擇哪種緩存類型,要根據(jù)實際的生產(chǎn)環(huán)境。如果機房比較老舊,多數(shù)本地硬盤存在壞塊或無本地硬盤,那么需要采用“服務端緩存”方式,所有緩存數(shù)據(jù)存放于服務端的“緩存RAID組”或緩存盤,對于“緩存RAID組”的性能和網(wǎng)絡帶寬要求較高;如果機房機器硬盤完好或客戶端本地配備了固態(tài)硬盤,那么建議采用“本地緩存”的方式,這樣客戶端和服務端、服務端和SAN存儲之間,只存在“讀取流量”,可以極大地降低服務器、SAN存儲的配置要求和部署成本,節(jié)約大量的網(wǎng)絡帶寬。存儲網(wǎng)絡設計:“雙活”存儲設備之間、服務器和存儲設備之間,應該具備萬兆鏈路帶寬;“雙活”存儲設備之間還應該使用雙鏈路,實現(xiàn)相互的“心跳監(jiān)測”和數(shù)據(jù)更新實時同步。配置一臺或兩臺“雙電源”、“雙主控引擎”的萬兆交換機,滿足I/O性能需求和解決交換機單點故障問題。SAN存儲設備選擇:國內(nèi)外支持“雙活”存儲架構的品牌設備,大多數(shù)非常的昂貴,且對于硬盤的壟斷性極高,本文應用“軟件定義存儲”的理念,選擇一款“Open-E DSS”原生存儲操作系統(tǒng),使用兩臺普通服務器,結合“數(shù)據(jù)中心級”固態(tài)硬盤,即可搭建功能強大的雙活iSCSI或雙活NFS存儲架構,極大地降低了SAN存儲的部署成本。RAID類型設計:“雙活”存儲架構,已經(jīng)在一定程度上,確保了數(shù)據(jù)安全性和故障轉移功能,所以在RAID類型設計方面,可以偏向于性能需求,“讀取RAID組”可以采用RAID 0或RAID 10,“緩存RAID組”采用RAID 0或使用PCI-E接口的企業(yè)級固態(tài)硬盤。
2.2.4 無盤服務端軟硬件設計
服務端硬件需求:至少需要兩臺物理服務器,才能實現(xiàn)服務器級別的故障轉移和負載均衡功能,服務器群集一方面通過萬兆鏈路連接SAN存儲網(wǎng)絡,另一方面通過萬兆鏈路連接兩臺核心交換機,對外分發(fā)無盤系統(tǒng)鏡像數(shù)據(jù)。如果采用“服務端緩存”類型,每臺物理服務器可使用>=4塊10K/15K轉速的SAS硬盤接入陣列卡,組成RAID0類型,構建“緩存RAID組”,或使用一塊PCI-E接口的SSD作為緩存盤,從而大大降低后端SAN共享存儲的數(shù)據(jù)寫入壓力,真正實現(xiàn)“讀寫分離”。無盤軟件的選擇:本文使用Citrix(思杰)的Provisioning Services產(chǎn)品(以下簡稱PVS),它既是Citrix云桌面產(chǎn)品(XenDesktop)的核心基礎,又可以用于獨立部署高效、穩(wěn)定的無盤網(wǎng)絡架構。原生支持“故障轉移”、“負載均衡”、“服務端緩存”和“本地緩存”等強大的功能。故障轉移功能:PVS軟件結合域管理員賬號,配置和訪問“數(shù)據(jù)庫鏡像故障轉移伙伴”,配合雙活SAN共享存儲實現(xiàn)故障轉移。兩臺PVS服務器同時也是主要/輔助域控制器,當一臺PVS服務器故障,域管理員賬號可以訪問另外一臺PVS服務器的鏡像數(shù)據(jù)庫;當故障PVS服務器重新運行后,PVS服務會自動同步鏡像數(shù)據(jù)庫和主數(shù)據(jù)庫。負載均衡功能:PVS群集的各成員服務器可配置多引導服務器列表以及磁盤負載均衡算法,客戶機在引導時,從列表中選擇當前負載更小的服務器加載操作系統(tǒng),實現(xiàn)所有客戶機均勻地分布于各個PVS成員服務器之上。本地緩存功能:PVS軟件可配置使用客戶機的本地內(nèi)存和本地硬盤,保存所有的臨時性運行數(shù)據(jù),極大的降低了客戶機和服務器之間的通信流量。如果有少量客戶機本地硬盤存在壞塊無法使用,客戶機會自動切換到“服務端緩存類型”模式,實時數(shù)據(jù)會寫入到PVS軟件預設的服務器緩存路徑中。服務端內(nèi)存超級緩存功能:PVS本身不具備服務端內(nèi)存緩存功能,本文采用第三方軟件SuperCache,通過劃分一部分服務器內(nèi)存,用于超級緩存,極大提升了客戶端的讀寫性能,降低SAN存儲磁盤的I/O頻率。雙DHCP服務功能:各PVS成員服務器,都添加DHCP角色,規(guī)劃不重合的ip地址池,且為客戶機分配雙網(wǎng)關ip地址,分別指向兩臺核心交換機。
2.2.5 引導過程、故障轉移和負載均衡實現(xiàn)解析
客戶機通過網(wǎng)卡的PXE功能,廣播查找DHCP服務器和TFTP服務器。機房的匯聚交換機將廣播流量同時轉發(fā)到兩臺核心交換機,核心交換機的相應vlan接口上,配置了DHCP中繼,最終請求被發(fā)送到兩臺PVS服務器。PVS服務根據(jù)磁盤負載均衡算法和服務器引導列表,選擇某一臺成員PVS服務器,向當前客戶機提供數(shù)據(jù)服務,完成后續(xù)的操作系統(tǒng)加載。
當發(fā)生某一臺PVS成員服務器故障的時候,客戶機會查找之前已下載的服務器引導列表文件,嘗試重新連接列表中的其他PVS成員服務器,由于各PVS成員服務器之間共享相同的數(shù)據(jù)庫鏡像和使用SAN共享存儲,最終能夠實現(xiàn)無縫的故障轉移,且對于客戶端用戶是透明的。
客戶機開機時間測試:勻速持續(xù)開啟200臺客戶機,抽樣檢查若干臺客戶機的系統(tǒng)加載時間,普遍小于一分鐘。服務端壓力測試:客戶機開機過程中,服務器4核心CPU占用率持續(xù)小于40%;剩余內(nèi)存無明顯降低,耗費約1GB;萬兆網(wǎng)絡利用率持續(xù)小于30%。服務端超級緩存測試:客戶機開機過程中,內(nèi)存超級緩存的“讀緩存”利用率逐漸升高,持續(xù)高達90%以上,意味著SAN存儲的磁盤讀操作頻率大大降低。負載均衡測試:客戶機開機完成后,檢查兩臺PVS成員服務器帶機量,大約各自承擔一半的客戶機。服務端故障轉移測試:停止一臺PVS成員服務器的數(shù)據(jù)流服務,客戶機自動重新連接到另外一臺PVS成員服務器,且對客戶端用戶透明無感知。網(wǎng)絡故障轉移測試:關閉一臺核心交換機,原先使用該核心交換機通信的客戶機,通過備用網(wǎng)關IP地址,訪問另外一臺核心交換機,最后連接到另外一臺PVS成員服務器,該過程對客戶端用戶透明無感知。雙活存儲故障轉移測試:關閉一臺Open-E DSS存儲,兩臺PVS成員服務器的共享存儲狀態(tài)保持不變,PVS服務端操作透明無感知。
綜上所述,在計算機機房建設和維護的過程中,通過綜合各種“故障轉移”和“負載均衡”相關的軟硬件技術,可以部署一個高效和穩(wěn)定的、高性價比的無盤網(wǎng)絡架構,提升教學、實訓和考試體驗。
[1]戴友煒.Windows Server 2008 R2安裝與管理[M].清華大學出版社,2011:83-122.
[2]戴友煒.Windows SERVER 2008 R2網(wǎng)絡管理與架站[M].清華大學出版社,2011:22-74.
[3]張冬.大話存儲終極版[M].清華大學出版社,2015:56-76.
[4]王寧.高校計算機實驗室無盤實驗教學系統(tǒng)的分析[J].實驗室研究與探索,2016,35(12):256-259.
[5]郭學英.基于無盤網(wǎng)絡技術的高校計算機實驗室改造[J].實驗室研究與探索,2015,34(1):242-246.
[6]成賢吉.淺談無盤網(wǎng)絡技術的應用和發(fā)展[J].農(nóng)村經(jīng)濟與科技,2016,27(16):198,286.
[7]朱金惟.基于存儲虛擬化技術的雙活存儲系統(tǒng)設計與實現(xiàn)[J].信息與電腦,2017(1):137-138.
[8]羅世鑫.淺析SQLServer2008數(shù)據(jù)庫維持高可靠性的措施[J].消費電子,2013(12):63.
[9]鄭羽.Provisioning Services與XenApp聯(lián)合組建局域網(wǎng)應用環(huán)境的研究[J].計算機系統(tǒng)應用,2010,19(10):261-263.
TP393
A
1009-3044(2017)24-0040-02
2017-07-10
2016年安徽省高等學校質(zhì)量工程項目——大規(guī)模在線開放課程(MOOC)示范項目C語言程序設計(項目編號:2016mooc019);2016年安徽省高等學校質(zhì)量工程項目——校企合作實踐教育基地(項目編號:2016sjjd011)
王春苗(1980—),男,安徽合肥人,實驗員,本科,主要研究方向為“虛擬化和基于虛擬化的云計算”、“超融合架構”、“軟件定義存儲”、“軟件定義數(shù)據(jù)中心”、信息安全等。