阿里雲的介紹

2021-06-08 05:06:04 字數 3615 閱讀 4044

正如單機作業系統的核心,在阿里雲os中,飛天大規模分布式計算平台起到了承上啟下的關鍵作用。飛天執行在通過網路互聯的通用伺服器集群上,隱藏了海量硬體所帶來的複雜度和不可靠,向雲os的其他元件提供可信賴的的計算能力和儲存能力。

具體來講,飛天本身是乙個由多個元件所構成的複雜的分布式系統,其中的核心元件是以下兩個子系統。

在實現飛天雲計算平台的過程中,工程師們面臨了許多技術挑戰,包括:

雲環境中的軟故障檢測

檢測「軟」故障有兩種思路。

例子一:檢測作業在某台伺服器上執行特別緩慢的情況。

我們統計每個作業在每台伺服器上的執行時間。因為輸入資料被均勻地切片,每台伺服器上的執行時間應該大致相同。如果某台伺服器上執行時間超過了平均時間的三倍,它就被標記為「緩慢」。如果各種不同作業在某台伺服器上都「緩慢」,那麼我們有充分理由懷疑這台伺服器有問題(但不知道原因)。排程系統會自動把這台伺服器加入黑名單,不再用它執行作業。之後再自動或人工檢查這些可疑伺服器的具體故障原因。

例子二:檢測磁碟讀寫慢的情況。

我們在分布式檔案系統裡也會統計每次磁碟訪問的時間。如果某塊磁碟有大比率的訪問時間遠遠超過系統平均值,那麼很有可能是這塊磁碟快要發生故障了。檔案系統此時會做三件事:

故障自動恢復的策略

在檢測到故障後,需要有自動及時的故障恢復機制。然而,故障自動恢復機制一旦沒有考慮周全就會成為一把雙刃劍。讓我們從amazon雲服務那次嚴重的事故說起。

amazon ec2大規模停機事件

2023年4月21日,amazon的虛擬主機服務ec2發生大規模停機,時間超過兩天,影響波及reddit、foursquare、quora等眾多**。事後amazon對此次事故作了詳細分析。事故起因是amazon對集群網路作日常維護公升級時操作錯誤,網路流量被全部切換到備用網路,導致備用網路過載。自動故障恢復機制檢測到網路不通,認為伺服器大量宕機,馬上開始資料複製以替換「宕機」的伺服器上的資料副本,引發了「映象風暴」(大量伺服器同時嘗試建立資料映象)。而由此增加的資料流量更加劇了網路過載,從而使故障在集群中蔓延,進入惡性迴圈。最終採取了包括暫時關閉自動故障恢復系統和增加硬體在內的多種措施,服務於故障發生兩天半以後恢復。

在此案例中,故障自動檢測和恢復的策略是「在資料副本所在伺服器失去聯絡時,複製資料」。這一策略對「一台伺服器故障」這種小範圍的常見問題很有效,然而在大範圍故障如「網路過載」的場景下,可能會起反作用。在這個案例中,如果根本沒有故障自動恢復機制,故障影響範圍反而不會有那麼大。

實際上,這一模式在過去的大規模分布式系統故障中反覆出現:發生了未曾預料到的、中小範圍的故障

→故障自動恢復機制採取了錯誤的手段

→故障惡化,進入惡性迴圈

amazon s3儲存服務2023年的故障就僅僅是由於故障自動檢測機制的自身狀態中乙個bit出錯,然而故障同樣迅速蔓延到整個系統,導致服務在沒有發生硬體故障的情況下不可用。

對此,我們的策略是限制故障自動恢復機制的作用範圍:

以前面提到的硬碟訪問變慢為例:考慮到硬碟平均日故障率小於千分之一,我們給前述的疑似問題硬碟自動下線機制設定上限,例如,任何時候只能通過此機制下線總數1%的硬碟。此限制可以防止極端情況下,如大量硬碟出現問題,或者自動下線機制本身故障時,故障恢復機制本身不會引發災難。

資料可靠性和實時效能優化

雲環境中,由於分布式系統有硬體故障多發的特點,保證資料可靠性成為檔案系統的乙個挑戰。

在飛天雲計算平台的實際運營中發生故障最多的硬體是硬碟。硬碟故障佔阿里雲資料中心故障總數的80%。原因之一是硬碟是數量最多的部件,例如乙個3000節點的集群就有30000多塊硬碟,即使硬碟本身的平均無故障工作時間(mtbf)達到1,000,000小時,30000塊硬碟也意味著平均每33小時就有一次硬碟故障發生。實際運營資料顯示硬碟廠家標稱的mtbf值並不可靠,生產環境的硬碟故障率可以幾倍到幾十倍於標稱值。

硬碟故障最直接影響的就是盤古分布式檔案系統。為了保證資料安全性,盤古檔案系統對所有的資料均採用了多份拷貝。在建立檔案時,使用者可以指定檔案資料的拷貝數目,檔案系統會保證資料分布在不同的節點和不同的機架上,使得單個硬體故障不會造成資料無法訪問。

多副本技術是業內廣泛認可的有效防止資料丟失的技術,通常採用流水線方式傳遞寫需求以減輕單個節點的負載。但這會導致資料寫入的延遲增大,因為只有當所有副本都寫成功後才能結束乙個寫操作。

由於磁碟讀寫特性,上述多副本寫入磁碟的延遲通常在幾十毫秒量級,有時可達100毫秒以上。雲環境中的線上應用,有時會有更高的實時性要求。盤古通過記憶體日誌檔案(in-memory redo log)來解決此問題。

記憶體日誌檔案的基本思想基於以下事實:雖然伺服器因為掉電或者宕機丟失記憶體資料的概率高於硬碟損壞的概率(所以在單機系統中我們會把日誌檔案寫入磁碟以避免記憶體資料丟失),但多台伺服器同時故障的概率卻可以低到能夠滿足資料可靠性的要求。對於實時性要求高的應用,盤古提供介面,使得資料檔案進入指定數量伺服器的記憶體即可認為是寫成功;盤古的後台執行緒隨後會把記憶體中的資料批量寫入磁碟。

盤古在保證記憶體日誌的可靠性和低延時上做了如下考慮。

分布式系統的乙個優勢是對單點故障的遮蔽:資料的可靠性通過多台伺服器間的複製備份得到極大的增強。對於單機,記憶體資料是易丟失的;但在多機環境下,如果能保證伺服器不是同一時間宕機,並輔以嚴格的策略保證,記憶體資料在不降低可靠性的情況下,可以極大地提高效能。阿里雲的資料中心保證了很好的硬體隔離和冗餘,並備有ups等應急措施,為我們提供了使用記憶體緩衝的良好硬體環境。

下面主要介紹我們在記憶體檔案資料可靠性上的一些考慮。

寫入記憶體階段

記憶體到磁碟持久化階段

檢測與複製階段

可以看出,寫入記憶體階段的策略是預防措施;記憶體到磁碟持久化階段最危險,我們確保這個階段盡可能短(保證預期效能的情況下給出最長寫入時間),並在確認出錯後及時採取措施;檢測與複製階段是典型的磁碟壞掉但保證資料不丟的策略。

小結

在設計和實現飛天雲計算平台過程中,工程師們花費了大量努力來應對海量硬體所帶來的可靠性的挑戰。本文敘述了部分設計思路但遠遠不是全部。錘煉乙個健壯的大規模分布式系統一定需要良好的設計、精緻的實現以及嚴格的測試。有了飛天這個穩定可靠的雲os核心,各種豐富的雲計算服務及應用便有了生存、長大的肥沃土壤。我們隨後將會介紹的各種雲服務,正是執行建立在阿里雲自行研發的飛天雲計算平台上。

作者劉縉,2023年底加入阿里集團,專注於雲計算平台的研發。目前在阿里雲資料中心計算平台部任架構師,著重於集群資源排程系統。2023年於北京大學獲得計算機碩士學位;在加入阿里之前,在微軟亞洲研究院從事大規模資料分析平台的研發工作。對分布式系統和程式語言有濃厚興趣。

作者朱家稷,阿里雲計算高階專家,負責分布式儲存,主要興趣在大規模分布式系統的架構和實現。

作者張海勇,阿里雲公司計算平台部高階架構師,從事檔案系統以及通訊模組的研發工作。之前擔任ibm系統與技術研發中心高階軟體工程師,從事高效能計算軟體研發工作,組建並領導並行檔案系統中國開發團隊。在10年的it職業生涯中,積累了豐富的大規模分布式系統的設計、開發經驗,並對作業系統、檔案系統有濃厚興趣和深入理解。

阿里雲slb介紹

3 2 阿里雲esc bgb 直接連線在網路 商的主幹道上 3 3 登入雲主機 登入 遠端連線 xshell 遠端連線終端工具 3 4 公升降級配置 3 5 安全組策略 安全組是什麼?安全組就是一條一條的網路埠放行或者拒絕的規則 3.6 vpc vpc 叫做專有網路 隔離 同乙個賬戶下 內網 建立專...

阿里雲服務 阿里雲專家服務介紹

阿里雲專家服務,提供從諮詢到實施 從遷雲到護航的全週期專業服務,滿足各場景下的服務需求。第一 上雲前提供,諮詢與設計服務 針對評估 規劃 建設 遷移或優化系統的需求,提供基於阿里雲產品特性和最佳實踐的遷移 建設或優化方案。1.遷雲諮詢服務 提供遷雲前的專業設計和諮詢。評估業務系統遷移阿里雲平台的可行...

阿里雲 華為雲 esc 介紹

top案例1 註冊華為雲使用者 案例2 ecs選購及基本操作 案例3 雲伺服器web建站 本案例要求 實現此案例需要按照如下步驟進行。步驟一 註冊華為雲 1 訪問官網,如圖 1所示 圖 12 註冊使用者,如圖 2所示 圖 22 登陸並完成實名認證,如圖 3所示 圖 3本案例要求 實現此案例需要按照如...