您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關簡單高可用 ZStack Mini的巧妙設計是怎樣的,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
ZStack Mini產品具有的“4S”特性中的“3S”,即簡單(Simple)、可擴展(Scalable)和智能(Smart),下面介紹另外一個“S(健壯,Strong)”。
不管是中文的“健壯”,還是英文的“Strong”,通常用于形容人或動物的體格,并隱含擁有更高的生存能力,或者說在受傷失去部分生理機能后,擁有更快恢復正常的能力。
正是因為這一詞潛在的含義,也被借用以描述IT系統或應用程序的特點之一,比如應用程序/IT系統的健壯性,在遭遇bug或硬件故障的情況下,不會徹底“失能”,而是可以繼續工作并更快恢復常態。
IT系統的健壯性可以用“RAS”來說明,即可靠性(Reliability)、可用性(Availability)和可維護性(Serviceability)。簡單來說,可靠性意味著組成IT系統的各組件品質過關,不易故障,即使某一個或多個組件發生故障,也不影響應用程序的正常運行(可用性);并且在組件或系統故障時,其可即時啟用替換機制,使得故障組件/系統快速恢復正常(可維護性)。
可以看出,可靠性和可維護性設計在一定程度上是服從可用性設計的,其目的是為了提高可用性,滿足業務連續運行(而盡可能不被中斷)的需求。
IT系統可用性通常用幾個“9”來衡量,如5個9、6個9,指的是系統可用時間的百分比,相對應的是以年為單位計算(允許的)停機時間。
試舉兩例:1個9即90%的可用性,每年允許的停機時間不超過36.5天;5個9即99.999%的可用性,每年的停機時間不能超過5分半鐘。
圖注:E企研究院整理的可用性與(允許)停機時間對照表,可用性每多一個9,單位時間內允許的停機時間下降到十分之一:譬如,可用性為4個9(99.99%)每年允許的停機時間接近53分鐘,而5個9每年允許的停機時間則下降到5分半鐘以內
我們知道,由于開機自檢等過程耗時較長,服務器重啟一次的時間可能超過5分鐘,這意味著每年服務器只要宕機一次,哪怕立刻恢復,5個9的可用性就保不住了。然而,硬件的單點失效(Single Point OfFailure,SPOF)是不可能徹底避免的,再加之有時軟件系統出的故障最終也要通過服務器重啟來解決,所以“2N”系統就成為保障高可用性的常見思路。
譬如,兩套一樣的系統,運行一樣的應用,訪問一樣的數據,平時一主一備(Active-Passive),主系統出故障之后備份系統接管,由于后者一直在運行著,不需要經歷一遍耗時的軟硬件啟動工作,理論上服務中斷的時間只取決于主備之間的切換速度,不要說5個9,就是6個9或者7個9,也是可以實現的。
理論很簡單,實現很復雜,包括如何保證兩套系統的數據和(應用)狀態盡可能一致,以便快速切換?
傳統計算與存儲分離的架構,最少需要兩臺服務器連接到一套雙控的存儲系統上,兩臺服務器之間同步應用,數據的高可用由雙控制器的存儲系統負責,后者使用的存儲介質通常具備雙端口功能(如FC或SAS硬盤),數據訪問的控制權在必要時(如其中一個控制器故障)切換。相應的,網絡子系統通常也是雙冗余設置,整套解決方案的構成很是復雜。雙端口硬盤減少了數據同步的工作量,但其本身又經常被劃歸專用設備的范疇,不符合標準化硬件結合“軟件定義”的潮流。
超融合架構(Hyper-Converged Infrastructure,HCI)則通過在工業標準服務器中采用軟件定義存儲的方式,實現了計算與存儲兩大角色的統一,提高了擴展的靈活性,降低了部署和運維的復雜性。不過,大多數超融合系統的分布式軟件定義存儲都采用三副本機制來避免數據丟失,加上可維護性的考慮,這些超融合系統通常從三節點或四節點起步,無形中又提升了用戶采購的門檻。
也就是說,在不考慮網絡設備的情況下,不管是計算與存儲分離,還是計算與存儲一體,上述兩種小規模部署中常見的高可用架構,設備或者說節點的數量都不少于3臺——譬如超融合系統較為常用的2U4節點服務器,我們按照4臺服務器計算。
從架構的層面看,ZStack Mini兼具兩種架構的部分特性:一方面,它是計算與存儲一體的超融合;另一方面,其每個節點內部的存儲子系統又基于傳統存儲系統常用的RAID技術。
有趣的是,通過這一組合,ZStack Mini最少只需要2臺服務器,即一臺2U2節點服務器——雖然都是2U多節點,2U2的成本可以比2U4低很多,從而顯著降低用戶的接受難度。
那么,在(最小)只有2個節點的情況下,ZStack Mini是如何保證數據和應用的高可用的呢?其存儲空間利用率又如何呢?請看我們下面的解析。
可靠性是可用性的組成部分之一。能夠長期穩定運行的可靠組件有助于系統的整體可用性,但“可靠”又受成本約束,“高成本的高可用”系統并非沒有實際意義,但門檻太高。
鑒于ZStack Mini傳承自ZStack云引擎,同時其產品形態(2U2節點)與2U4節點形態的超融合產品有一定的相似,比如2U機箱、雙冗余電源、幾乎相同的占地空間,而且兩者都可以2U為最小部署單元(超融合的3節點或4節點都用2U4),但是只有2個節點的ZStack Mini在架構上無疑更為簡單。
圖上為ZStack Mini,2U機箱內置兩個服務器節點;圖下為較為主流的2U4節點設計的超融合一體機。從硬件數量來看,顯然2U4節點的超融合比2U2節點的ZStack Mini組件數量多得多,而且空間設計也更緊湊,每個節點面臨的擴展性和散熱等挑戰更大
不管是ZStack Mini還是2U4節點的超融合一體機產品,內部都有多種IT硬件,每種乃至每個硬件都有故障率。以ZStack Mini中大量使用的西部數據Ultrastar DC HC310(4TB)硬盤為例,其年故障率為0.44%,系統內所使用的硬件越多,其故障的風險自然越大。
西部數據官網公布的Ultrastar DC HC310系列硬盤的可用性,上圖中Annual failurerate(AFR)即為硬盤的年故障率(0.44%);上圖中的MTBF則表示平均故障間隔時間,為2百萬小時
與硬盤緊密相連的組件是SATA/SAS RAID卡,ZStack Mini使用了Broadcom公司推出的帶鋰電池備份單元(Battery Backup Unit,BBU)的RAID卡,在遭遇突發停機的情況下,可以將RIAD卡Cache中的數據存儲到硬盤。
圖注:拔出后的硬盤重新插入,ZStack Mini自動進行數據重建,在管理后臺對應的監控界面中,可以看到“重建中”狀態標志,性能監視界面也顯示目前有持續的IO讀寫活動;直到數據“重建”完成前,RAID健康狀態都將處于“降級”狀態
通過上述模擬場景的測試驗證,ZStack Mini任意節點確實能夠有效地抵御單塊數據存儲盤故障,不會導致數據丟失或應用停頓,應用虛機仍舊無感知地繼續當前任務,直至完成或人工干預。
節點內的RAID技術保證了任一磁盤故障都不會對應用造成影響,但是傳統基于硬件的RAID技術(更換硬盤后)重建數據的時間比較長——根據硬盤容量的不同,幾個小時不等——在此期間,如果再有一個硬盤壞掉,數據就會丟失,應用也會中斷。此外,CPU、內存、網卡等部件沒有冗余,出現故障也可能導致停機……凡此種種,都是ZStack Mini的另一個節點發揮作用的時候,我們不妨稱之為節點級副本。
圖上為ZStack Mini正面,布滿了3.5英寸硬盤,支持熱插拔。圖下為背部,幾乎所有組件都位于節點內部,這意味著更換除硬盤外的任一組件都需要停機
正所謂“養兵千日,用兵一時”,當一個節點不能正常工作的時候,另一個節點就要揣著一直在同步的數據和狀態“挺身而出”了,這就是我們通常所說的(節點級)高可用。為了驗證這一特性,我們將應用虛機設置為“高可用”之后,通過將其所在節點突然斷電的手段,驗證應用是否能夠繼續運行。
視頻解讀:ZStack Mini中的節點1因為上一個測試中拔掉其中一塊硬盤,正處于“重建”狀態,在這測試中,E企研究院模擬這一“故障”節點突發斷電,以驗證ZStack Mini的高可用功能。
在節點1上有4個虛機,其中“渲染服務器”、“轉碼服務器”和“網管平臺”設置為高可用,作為對比,另一個名為“CentOS7.2”的虛機則不使用高可用功能。在轉碼服務器中,E企研究院將上一測試渲染好的視頻導出,并使用XCoder軟件進行轉碼。
在轉碼過程中(大約已完成三分之一的轉碼進度時),不經過任何操作,直接關閉節點1電源,以模擬突發掉電。在節點1斷電后,ZStack Mini提示節點1失聯,并報告“網管平臺”失聯。隨后,ZStack Mini啟動“高可用”進程,開始遷移開啟了“高可用”功能的應用虛機,大約1分鐘后,原來位于節點1上,并開啟了“高可用”功能的虛機在節點2上重啟。
“轉碼服務器”重啟之后,XCoder之前的任務進度清零,并自動重新開始任務。我們經過測試證明,當ZStack Mini上任一節點掉電后,其上開啟了“高可用”功能的虛機將自動遷移到另一正常運行節點。
通過上述的兩階段驗證,可以看出,不管是在硬盤組件故障,還是節點級故障,ZStack Mini都具有良好的可用性,應用能夠無間斷或經歷短暫停頓后繼續運行,不會造成數據丟失。
在使用這套ZStack Mini的過程中,我們與一些對此產品有興趣的潛在用戶進行了溝通,發現有一個很有代表性的問題:兩個節點一主一備,可用性是保證了,但是硬件的利用率豈不是只有一半?會不會很浪費?
這個問題可以從計算和存儲資源兩個層面來看。
從應用的層面來說,如前面的測試環節中所提到的,應用所在的虛機,“高可用”功能是可選的,也就是說只有開啟這一功能,虛機才會同時占用兩個節點的計算資源,這也是為了保證應用持續運行所必須付出的代價。
如果某個應用對可用性的要求沒有那么高,就可不開啟“高可用”,也就省去了不必要的浪費。
從存儲的層面來說,ZStack Mini所有的用戶數據都在兩個節點上鏡像存儲,這樣即使一個節點完全損壞,數據也不至于丟失。從數據盤的存儲利用率來看,節點間是1+1(鏡像),節點內是3+1(4個盤的RAID 5),所以總體效率是0.5×0.75=0.375,即不到一半的水平。
看起來不高是么?作為對比,三副本的超融合系統,存儲利用率為三分之一,即0.333——如此看來,ZStack Mini還略占優勢呢。
ZStack方面也對Mini在數據持久性上的優勢進行了解釋:
雙副本數據持久性失效的概率等于分布在不同計算節點的任意兩個盤同時損壞的概率,按照 Google的磁盤年損壞率數據1.7%(高于硬盤廠商公布的指標)算的話,那就是1.7%×1.7%×(1/2)=0.01445%,數據持久性為98.56%,接近2個9;
雙副本+RAID5數據持久性失效的概率等于分布在不同計算節點上任意四個盤同時損壞的概率,并且必須是一邊2個,而不能是一邊4個或者一邊3個,那就是1- 1.7%×1.7%×1.7%×1.7%×(18/31) =99.999995%,即高于7個9(18/31是8塊硬盤同時壞4塊而且在兩個節點各2個的概率);
而三副本只要任意3塊盤損壞就丟數據,3副本的可用性概率是1-1.7%×1.7%×1.7% =99.99951%,即高于5個9。
可維護性是一個籠統的說法,但其又體現在產品設計的每一個細節。
比如說,現代x86服務器大多具有(驅動器)熱插拔、免工具拆裝的特點,這實際上是在硬件層面體現了可維護性。不借助工具,徒手即可對故障組件進行更換,縮短維護時間,自然有助于可用性(畢竟可用性也是可以用停機時間來衡量的)。
同時在軟件方面,具體到ZStack Mini來說,在初始化環節就節省了大量的時間,同時很多功能都是通過鼠標點擊,然后多個關聯流程在后臺靜默完成,這也是可維護性的體現:盡量減少人工操作,避免人為誤操作。
當然這些還遠遠不夠。在談到ZStack Mini的未來發展時,ZStack介紹了即將推出的ZStack Mini 3.0產品,其將新增多個重大功能:
1 備份功能
目前的2.0版本經過設置也可實現備份,但3.0版本將正式推出外接磁盤備份功能,可對系統進行定期備份,并可使用這些備份在新機器上恢復。未來,其還將支持備份到云端功能,讓數據徹底高枕無憂。
2 改進則與應用高可用相關。
在我們驗證“節點故障”的時候,盡管應用虛機設置了高可用,但當節點故障后,應用虛機仍需經過短暫停頓才恢復服務。而在新的3.0版本中,在遭遇節點故障的情況下,將實現無間斷切換,用戶感覺不到應用虛機的停頓。
3 在ZStack Mini中集成應用中心
目前ZStack Mini 2.0平臺部署好以后,用戶需要手動創建虛機,并安裝應用程序。這對于大多數小型企業或邊緣站點而言,一是比較復雜,二是耗時。但在3.0中,ZStack將與各個ISV合作,根據不同行業的應用特點,直接將應用模板集成到應用中心,用戶只需下載即可進行部署,省卻了應用安裝過程中的復雜配置,同時在升級、維護方面也更有保障,極大地提高了可維護性。
以上就是簡單高可用 ZStack Mini的巧妙設計是怎樣的,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。