

更多關於RIAD技術,請參閱文章“RAID軟硬混戰,怎樣選最適合?”,“詳解RAID流程、I/O效能和容量”、“科普:RAID技術及配置白皮書”、“可信計算、作業系統和RAID卡知識”、“SSD/HDD混合RAID解決方案(附全文)”。
請之前購買過全店打包“架構師技術全店資料打包彙總(全)”的讀者,請憑藉購買記錄在微店留言免費獲取更新(傳送更新打包連結),獲取清單:
(持續更新中…)
資料中心網路知識全解(PPT)
人工智慧基礎知識全解(含實踐)
CPU基礎知識全解(PPT)
GPU基礎知識全解(PPT)
磁碟容錯是指在子系統出現硬碟錯誤或硬碟故障時,可以保證資料完整性和資料處理能力。RAID控制卡透過冗餘的硬碟組在RAID 1、5、6、10、50、60上實現此功能。
在RAID 1中,由於資料映象儲存於成對的硬碟上,因此在成對的硬碟中的一個產生錯誤或故障時,不會造成資料丟失。同理,在RAID 5中,允許1個硬碟故障;在RAID 6中,允許2個硬碟故障。
而對於包含多個子組的RAID,RAID 10、50允許故障盤的個數與子組數相同,但是要求每個子組只能包含1個故障盤。RAID 60允許故障盤的個數為子組數的2倍,要求每個子組最多包含2個故障盤。
RAID 0不支援容錯特性,當RAID 0中的硬碟故障時,該RAID失效,資料丟失。
容錯效能提高了系統的可用性,即硬碟故障時,系統仍可正常執行。因此,在故障修復流程中,容錯是非常重要的特性。
1 一致性校驗
針對有冗餘功能的RAID 1、5、6、10、50、60,RAID控制卡可以對RAID組的硬碟資料進行一致性校驗,對硬碟資料進行檢驗和計算,並與對應的冗餘資料進行比較。如果發現有資料不一致的情況,會嘗試做自動修復並儲存錯誤資訊。
由於RAID 0不具備冗餘性,因此不支援一致性校驗。
2 熱備份
RAID控制卡的熱備份特性由熱備盤和緊急備份功能實現。
熱備盤
熱備盤是硬碟系統中的一個獨立的硬碟,當RAID組中的硬碟故障時,熱備盤自動取代故障盤作為成員盤,並在熱備盤上重構故障盤資料。
在RAID控制卡的管理介面或命令列工具中,可以指定容量大於或等於RAID組成員盤,且介質型別及介面與成員盤相同的空閒盤作為RAID組的熱備盤。
RAID控制卡支援的熱備盤包括下面兩種:
-
全域性熱備盤,為RAID控制卡上所有已配置的RAID組所共有,1塊RAID控制卡中可配置1個或多個全域性熱備盤。當任意RAID組內的成員盤故障時,全域性熱備盤均可自動替代。
-
區域性熱備盤,為RAID控制卡上某個指定的RAID組所專有,每個RAID組都可以配置1個或多個區域性熱備盤。當指定RAID組內的成員盤故障時,區域性熱備盤可自動替換。
熱備盤有如下特性:
-
熱備盤僅用於具有冗餘功能的RAID組,包括RAID 1、5、6、10、50、60。 -
熱備盤僅用於替代同一RAID控制卡上的故障盤。
緊急備份
緊急備份功能,是指任意一個具備冗餘功能的RAID組中出現成員盤故障且沒有指定熱備盤時,RAID控制卡下屬的空閒盤會自動替代故障成員盤並進行重構,避免資料丟失。
緊急備份要求用於備份的空閒盤容量大於等於成員盤容量,且介質型別與成員盤相同。
3 RAID重構
當RAID組中出現故障盤時,可以透過RAID控制卡的資料重構功能,將故障盤中的資料在新盤上重構。資料重構功能僅適用於具有冗餘功能的RAID 1、5、6、10、50、60。
RAID控制卡支援熱備盤自動重構故障成員盤資料。當RAID組配置了可用的熱備盤時,在成員盤故障的情況下,熱備盤自動替換故障盤,進行資料重構;當RAID組沒有可用的熱備盤時,只有更換新盤後才可進行資料重構。當熱備盤開始資料重構後,故障的成員盤就被標註為可移除狀態。如果在資料重構過程中系統下電,那麼在系統重新啟動後,RAID控制卡會繼續執行資料重構的任務。
重構率,即資料重構任務在系統執行的所佔用CPU資源的比率,可設定為0%~100%。0%表示資料重構任務只有系統當前沒有任何其他任務執行時,才會啟動資料重構任務。100%表示資料重構任務佔用所有CPU資源。重構率可由使用者自行設定,建議根據系統的實際情況設定一個合適的取值。
4 虛擬磁碟的讀寫策略
在建立虛擬磁碟時,會需要對其資料讀寫策略進行定義,以規範後續虛擬磁碟執行過程中資料的讀寫方式。
資料讀策略
在配置介面中一般體現為“Read Policy”。RAID控制卡支援如下兩種資料讀策略:
預讀取方式:在配置介面中一般有“Always Read Ahead”、“Read Ahead”、“Ahead”等配置選項。使用此策略後,從虛擬磁碟中讀取所需資料時,會把後續資料同時讀出放在Cache中,使用者隨後訪問這些資料時可以直接在Cache中命中,將減少硬碟尋道操作,節省響應時間,提高了資料讀取速度。
要使用該策略,要求RAID控制卡支援資料掉電保護功能,但如果此時超級電容異常,可能導致資料丟失。
非預讀取方式:使用此策略後,RAID控制卡接收到資料讀取命令時,才從虛擬磁碟讀取資料,不會做預讀取的操作。
資料寫策略
在配置介面中一般體現為“Write Policy”。RAID控制卡支援如下資料寫策略:
回寫:在配置介面中一般體現為“Write Back”等字樣。使用此策略後,需要向虛擬磁碟寫資料時,會直接寫入Cache中,當寫入的資料積累到一定程度,RAID控制卡才將資料重新整理到虛擬磁碟,這樣不但實現了批次寫入,而且提升了資料寫入的速度。當控制卡Cache收到所有的傳輸資料後,將給主機返回資料傳輸完成訊號。
要使用該策略,要求RAID控制卡支援資料掉電保護功能,但如果此時超級電容異常,可能導致資料丟失。
直寫:在配置介面中一般有“Write Through”等選項。使用此策略後,RAID控制卡向虛擬磁碟直接寫入資料,不經過Cache。當硬碟子系統接收到所有傳輸資料後,控制卡將給主機返回資料傳輸完成訊號。
此種方式不要求RAID控制卡支援資料掉電保護功能,即使超級電容故障,也無影響。該寫策略的缺點是寫入速度較低。
與BBU相關的回寫:在配置介面中一般有“Write Back with BBU”等選項。使用此策略後,當RAID控制卡BBU在位且狀態正常時,RAID控制卡到虛擬磁碟的寫操作會經過Cache中轉(即回寫方式);當RAID控制卡BBU不在位或BBU故障時,RAID控制卡到虛擬磁碟的寫操作會自動切換為不經過Cache的直接寫入(即寫通方式)。
強制回寫:在配置介面中一般體現為“Write Back Enforce”、“Always Write Back”等字樣。在RAID控制卡無電容或電容損壞的情況下,強制使用“Write Back”模式。
當伺服器出現異常下電時,如果電容不在位或在充電狀態下,RAID控制卡中DDR(即Cache)的寫資料將會丟失。不推薦使用該模式。
5 資料掉電保護
掉電保護的原理
資料寫入RAID控制卡快取記憶體的速度大於資料寫入硬碟的速度,一次在伺服器進行大量寫操作時,都使用RAID控制卡快取記憶體來提升系統性能。
-
開啟RAID控制卡快取記憶體可提升整機寫效能,當伺服器寫壓力減小或RAID控制卡快取記憶體將寫滿時,資料再由RAID控制卡快取記憶體寫入硬碟。 -
開啟RAID控制卡快取記憶體提升寫效能的同時,也增大了資料丟失的風險,在整機意外掉電時,RAID控制卡快取記憶體中的資料將會丟失。
為了提升整機的高讀寫效能和RAID控制卡快取記憶體中資料的安全,可為RAID控制卡配置超級電容。超級電容保護模組的原理是在發生系統意外掉電時,利用超級電容供電,將RAID控制卡快取記憶體中的資料寫入超級電容模組中的NAND Flash中永久儲存。
超級電容電量校準
由於資料保護需要超級電容的配合,為了記錄超級電容的放電曲線,以便RAID控制卡瞭解超級電容的狀態,例如最大和最小電壓等,同時為了延長超級電容的壽命,RAID控制卡預設啟動超級電容自動校準模式。
RAID控制卡透過如下所述的三段式充放電操作對超級電容的電量進行校準,使其保持在一個相對穩定的值。
1.RAID控制卡將超級電容的電量充到最大值。
2.自動啟動校準程序,將超級電容完全放電。
3.重新開始充電,直至達到最大電量。
超級電容電量校準過程中,RAID控制卡寫策略自動調整為“Write Through”模式以保證資料完整性,此時RAID控制卡效能會降低。電量校準的時間取決於超級電容充放電速度。
6 硬碟條帶化
當多個程序同時訪問一個硬碟時,可能會出現硬碟衝突。大多數硬碟系統都對訪問次數(每秒的I/O操作)和資料傳輸率(每秒傳輸的資料量)有限制。當達到這些限制時,後面需要訪問硬碟的程序就需要等待。
條帶化是一種自動的將I/O的負載均衡到多個物理硬碟上的技術。條帶化技術將一塊連續的資料分成多個小部分並將其分別儲存到不同硬碟上去。這就能使多個程序同時訪問資料的多個不同部分而不會造成硬碟衝突,而且在需要對這種資料進行順序訪問的時候可以獲得最大程度上的I/O並行能力。
硬碟的條帶化,是將硬碟空間按照設定的大小分為多個條帶,資料寫入時也按照條帶的大小來劃分資料模組。
例如,在一個由四個成員盤組成的硬碟系統中(例如RAID 0),第一個資料塊寫入第一塊成員盤,第二個資料塊寫入第二個成員盤,以此類推,如圖1-11所示。由於是同時對多個硬碟進行寫入,因此極大地提升了系統性能,但是,此特性並不能保證資料的冗餘性。
硬碟分條包含下面的概念:
-
條頻寬度:一個硬碟組在進行分條時所使用的硬碟的個數,例如一個由四個成員盤組成的硬碟組,其條頻寬度為“4”。 -
硬碟組的條帶大小:RAID控制卡同時在一個硬碟組中所有硬碟上的寫入的資料塊的大小。 -
硬碟的條帶大小:RAID控制卡在每塊硬碟上寫入的資料塊的大小。
例如,針對一個硬碟組,在寫入資料時,一個1MB的資料條帶,在每個成員盤上分配的資料塊為64KB,那麼此硬碟組的條帶大小為1MB,硬碟的條帶大小為64KB。
7 磁碟映象
磁碟映象,適用於RAID 1和RAID 10,是指執行寫資料的任務時,會將同樣的資料同時寫入兩塊硬碟,以實現100%的資料冗餘度。由於兩塊硬碟上的資料完全相同,當一塊硬碟故障時,資料不會丟失。另外,同一時間,兩塊盤上的資料是完全相同的,當一塊硬碟故障時,由於資料是同時讀寫,因此資料流不會中斷。
磁碟映象帶來的是100%的完全冗餘,但是其代價是比較昂貴的,因為在映象過程中,每個硬碟都需要一個備份盤。
8 外部配置
外部配置,是區別於當前RAID控制卡的配置來說的,在配置介面中一般體現為“Foreign Configuration”之類的字樣。
一般在下述情況下,會有外部配置出現:
-
一個新安裝到伺服器上的物理硬碟中存在RAID配置資訊,RAID控制卡會將此類資訊識別為外部配置。 -
伺服器更換了RAID控制卡後,新RAID控制卡會將當前存在的RAID資訊識別為外部配置。 -
熱插拔RAID組的成員盤後,該成員盤會被標記為攜帶外部配置。
對檢測出來的外部配置,可以根據伺服器實際情況進行處理。例如,當新插入的硬碟攜帶的RAID資訊不符合當前使用場景時,可以刪除此配置。更換RAID控制卡後,如果仍然想使用之前的配置,就可以匯入該配置,使其在新RAID控制卡上生效。
9 硬碟節能
RAID控制卡具備硬碟節能功能。此功能根據硬碟配置和I/O活動允許硬碟停轉。所有SAS和SATA機械硬碟均支援此功能。
當硬碟節能功能開啟時,RAID控制卡下掛載的空閒狀態的硬碟和空閒熱備盤均處於節能狀態。當有相關操作(例如建立RAID組,建立熱備盤,動態擴盤,進行熱備重構)時可喚醒正處於節能狀態的硬碟。
10 硬碟直通
硬碟直通,即“JBOD”功能,又稱指令透傳,是不經過傳輸裝置處理,僅保證傳輸質量的一種資料傳輸方式。
開啟硬碟直通功能後,RAID控制卡可對所連線的硬碟進行指令透傳,在不配置RAID組的情況下,使用者指令可以直接透傳到硬碟,方便上層業務軟體或管理軟體訪問控制硬碟。
例如,伺服器作業系統安裝過程中,可以直接找到掛載在RAID控制卡下的硬碟作為安裝盤;而不支援硬碟直通的RAID控制卡,在作業系統安裝過程中,只能找到該RAID控制卡下已經配置好的虛擬磁碟作為安裝盤。
關於儲存技術,請參考文章“2023軟體定義儲存廠商全景報告”,“一文掌握信創SAN儲存轉型路線”,“2023算力框架:伺服器/AI計算、儲存、網路”,“儲存系統關鍵技術全解(終極版)”,“雲端儲存:系統架構及技術基礎”,“儲存晶片技術基礎知識介紹(2023)”和“更新下載:儲存系統基礎知識全解(終極版)”等。



免責申明:本號聚焦相關技術分享,內容觀點不代表本號立場,可追溯內容均註明來源,釋出文章若存在版權等問題,請留言聯絡刪除,謝謝。
推薦閱讀
更多架構相關技術知識總結請參考“架構師全店鋪技術資料打包(全)”相關電子書(44本技術資料打包彙總詳情可透過“閱讀原文”獲取)。
溫馨提示:
掃描二維碼關注公眾號,點選閱讀原文連結獲取“架構師技術全店資料打包彙總(全)”電子書資料詳情。

