當前位置: 首頁 >
發布日期:2022-04-17 點擊率:69
硬、軟故障發生都會對系統的可靠性甚至可用性造成不良影響,因此如何及時有效地進行故障檢測和恢復就變得比較關鍵。對于硬故障的檢測業界已有成熟的方案,本文第一部分只重點討論軟故障的檢測;本文的第二部分將集中探討故障恢復策略相關的問題;最后,我們將介紹如何在保證數據可靠的同時滿足在線應用的低延時需求。 正如單機操作系統的內核,在阿里云OS中,飛天大規模分布式計算平臺起到了承上啟下的關鍵作用。飛天運行在通過網絡互聯的通用服務器集群上,隱藏了海量硬件所帶來的復雜度和不可靠,向云OS的其他組件提供可信賴的的計算能力和存儲能力。 具體來講,飛天本身是一個由多個組件所構成的復雜的分布式系統,其中的核心組件是以下兩個子系統。 計算資源調度系統(又稱伏羲):管理和調度集群計算資源;在多個云服務間動態分配計算資源,以滿足用戶的計算需求;自動檢測服務器故障并遷移故障服務器上的服務。 分布式文件系統(又稱盤古):管理集群的所有硬盤;合理地安排數據存放位置以兼顧性能和數據安全性;自動檢測磁盤故障并復制數據以保證安全。 在實現飛天云計算平臺的過程中,工程師們面臨了許多技術挑戰,包括: 在不可靠硬件基礎上提供高可靠的計算能力和存儲能力; 提供高可用服務; 低成本運維海量硬件; 在線應用與離線應用并存; 克服節點間帶寬的限制; 最大化利用計算資源,等等。 其中,不可靠的硬件是最基本的挑戰。集群規模達到上千臺后,單機上的小概率事件變成了必然的、頻繁發生的事件。硬盤、硬盤控制器、CPU、內存、主板、電源等故障造成的宕機每天都會發生。這類硬件失效故障,我們稱之為“硬”故障(fail-stop故障)。此外,還有一類故障現象不那么明顯,稱之為“軟”故障,例如,磁盤可訪問但速度只有正常的1/10、服務器沒有宕機但程序運行緩慢、網絡時好時壞等。這類“軟”故障同樣會影響服務質量,因為在線服務如果執行緩慢會造成客戶端超時,而對離線作業而言,哪怕只有1%的數據處理任務緩慢,也會拖延整個數據分析作業的完成時間。 硬、軟故障發生都會對系統的可靠性甚至可用性造成不良影響,因此如何及時有效地進行故障檢測和恢復就變得比較關鍵。對于硬故障的檢測業界已有成熟的方案,本文第一部分只重點討論軟故障的檢測;本文的第二部分將集中探討故障恢復策略相關的問題;最后,我們將介紹如何在保證數據可靠的同時滿足在線應用的低延時需求。 云環境中的軟故障檢測 檢測“軟”故障有兩種思路。 一種思路是針對每種具體故障設計檢測方法。但“軟”故障產生的原因可能很多,例如執行緩慢可能是服務器硬件故障、網絡故障、磁盤故障、操作系統軟件故障等,逐一檢測會使系統過于復雜。 另一種思路是從宏觀現象來檢測,下面看兩個例子。 例子一:檢測作業在某臺服務器上執行特別緩慢的情況。 我們統計每個作業在每臺服務器上的執行時間。因為輸入數據被均勻地切片,每臺服務器上的執行時間應該大致相同。如果某臺服務器上執行時間超過了平均時間的三倍,它就被標記為“緩慢”。如果各種不同作業在某臺服務器上都“緩慢”,那么我們有充分理由懷疑這臺服務器有問題(但不知道原因)。調度系統會自動把這臺服務器加入黑名單,不再用它執行作業。之后再自動或人工檢查這些可疑服務器的具體故障原因。 例子二:檢測磁盤讀寫慢的情況。 我們在分布式文件系統里也會統計每次磁盤訪問的時間。如果某塊磁盤有大比率的訪問時間遠遠超過系統平均值,那么很有可能是這塊磁盤快要發生故障了。文件系統此時會做三件事: 停止寫新數據到這塊磁盤,防止更多數據處于危險中; 開始為這塊磁盤上的數據增加更多副本; 當這塊磁盤上的所有數據都有額外的副本,就可以將它下線,待運維處理。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV