0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解析磁盤RAID的關(guān)鍵技術(shù)

架構(gòu)師技術(shù)聯(lián)盟 ? 來源:架構(gòu)師技術(shù)聯(lián)盟 ? 2023-11-06 09:25 ? 次閱讀

磁盤容錯是指在子系統(tǒng)出現(xiàn)硬盤錯誤或硬盤故障時,可以保證數(shù)據(jù)完整性和數(shù)據(jù)處理能力。RAID控制卡通過冗余的硬盤組在RAID 1、5、6、10、50、60上實現(xiàn)此功能。

在RAID 1中,由于數(shù)據(jù)鏡像存儲于成對的硬盤上,因此在成對的硬盤中的一個產(chǎn)生錯誤或故障時,不會造成數(shù)據(jù)丟失。同理,在RAID 5中,允許1個硬盤故障;在RAID 6中,允許2個硬盤故障。

而對于包含多個子組的RAID,RAID 10、50允許故障盤的個數(shù)與子組數(shù)相同,但是要求每個子組只能包含1個故障盤。RAID 60允許故障盤的個數(shù)為子組數(shù)的2倍,要求每個子組最多包含2個故障盤。

RAID 0不支持容錯特性,當(dāng)RAID 0中的硬盤故障時,該RAID失效,數(shù)據(jù)丟失。

容錯性能提高了系統(tǒng)的可用性,即硬盤故障時,系統(tǒng)仍可正常運(yùn)行。因此,在故障修復(fù)流程中,容錯是非常重要的特性。

1 一致性校驗

針對有冗余功能的RAID 1、5、6、10、50、60,RAID控制卡可以對RAID組的硬盤數(shù)據(jù)進(jìn)行一致性校驗,對硬盤數(shù)據(jù)進(jìn)行檢驗和計算,并與對應(yīng)的冗余數(shù)據(jù)進(jìn)行比較。如果發(fā)現(xiàn)有數(shù)據(jù)不一致的情況,會嘗試做自動修復(fù)并保存錯誤信息

由于RAID 0不具備冗余性,因此不支持一致性校驗。

2 熱備份

RAID控制卡的熱備份特性由熱備盤和緊急備份功能實現(xiàn)。

熱備盤

熱備盤是硬盤系統(tǒng)中的一個獨立的硬盤,當(dāng)RAID組中的硬盤故障時,熱備盤自動取代故障盤作為成員盤,并在熱備盤上重構(gòu)故障盤數(shù)據(jù)。

在RAID控制卡的管理界面或命令行工具中,可以指定容量大于或等于RAID組成員盤,且介質(zhì)類型及接口與成員盤相同的空閑盤作為RAID組的熱備盤。

RAID控制卡支持的熱備盤包括下面兩種:

全局熱備盤,為RAID控制卡上所有已配置的RAID組所共有,1塊RAID控制卡中可配置1個或多個全局熱備盤。當(dāng)任意RAID組內(nèi)的成員盤故障時,全局熱備盤均可自動替代。

局部熱備盤,為RAID控制卡上某個指定的RAID組所專有,每個RAID組都可以配置1個或多個局部熱備盤。當(dāng)指定RAID組內(nèi)的成員盤故障時,局部熱備盤可自動替換。

熱備盤有如下特性:

熱備盤僅用于具有冗余功能的RAID組,包括RAID 1、5、6、10、50、60。

熱備盤僅用于替代同一RAID控制卡上的故障盤。

緊急備份

緊急備份功能,是指任意一個具備冗余功能的RAID組中出現(xiàn)成員盤故障且沒有指定熱備盤時,RAID控制卡下屬的空閑盤會自動替代故障成員盤并進(jìn)行重構(gòu),避免數(shù)據(jù)丟失。

緊急備份要求用于備份的空閑盤容量大于等于成員盤容量,且介質(zhì)類型與成員盤相同。

3 RAID重構(gòu)

當(dāng)RAID組中出現(xiàn)故障盤時,可以通過RAID控制卡的數(shù)據(jù)重構(gòu)功能,將故障盤中的數(shù)據(jù)在新盤上重構(gòu)。數(shù)據(jù)重構(gòu)功能僅適用于具有冗余功能的RAID 1、5、6、10、50、60。

RAID控制卡支持熱備盤自動重構(gòu)故障成員盤數(shù)據(jù)。當(dāng)RAID組配置了可用的熱備盤時,在成員盤故障的情況下,熱備盤自動替換故障盤,進(jìn)行數(shù)據(jù)重構(gòu);當(dāng)RAID組沒有可用的熱備盤時,只有更換新盤后才可進(jìn)行數(shù)據(jù)重構(gòu)。當(dāng)熱備盤開始數(shù)據(jù)重構(gòu)后,故障的成員盤就被標(biāo)注為可移除狀態(tài)。如果在數(shù)據(jù)重構(gòu)過程中系統(tǒng)下電,那么在系統(tǒng)重新啟動后,RAID控制卡會繼續(xù)執(zhí)行數(shù)據(jù)重構(gòu)的任務(wù)。

重構(gòu)率,即數(shù)據(jù)重構(gòu)任務(wù)在系統(tǒng)運(yùn)行的所占用CPU資源的比率,可設(shè)置為0%~100%。0%表示數(shù)據(jù)重構(gòu)任務(wù)只有系統(tǒng)當(dāng)前沒有任何其他任務(wù)運(yùn)行時,才會啟動數(shù)據(jù)重構(gòu)任務(wù)。100%表示數(shù)據(jù)重構(gòu)任務(wù)占用所有CPU資源。重構(gòu)率可由用戶自行設(shè)置,建議根據(jù)系統(tǒng)的實際情況設(shè)置一個合適的取值。

4 虛擬磁盤的讀寫策略

在創(chuàng)建虛擬磁盤時,會需要對其數(shù)據(jù)讀寫策略進(jìn)行定義,以規(guī)范后續(xù)虛擬磁盤運(yùn)行過程中數(shù)據(jù)的讀寫方式。

數(shù)據(jù)讀策略

在配置界面中一般體現(xiàn)為“Read Policy”。RAID控制卡支持如下兩種數(shù)據(jù)讀策略:

預(yù)讀取方式:在配置界面中一般有“Always Read Ahead”、“Read Ahead”、“Ahead”等配置選項。使用此策略后,從虛擬磁盤中讀取所需數(shù)據(jù)時,會把后續(xù)數(shù)據(jù)同時讀出放在Cache中,用戶隨后訪問這些數(shù)據(jù)時可以直接在Cache中命中,將減少硬盤尋道操作,節(jié)省響應(yīng)時間,提高了數(shù)據(jù)讀取速度。

要使用該策略,要求RAID控制卡支持?jǐn)?shù)據(jù)掉電保護(hù)功能,但如果此時超級電容異常,可能導(dǎo)致數(shù)據(jù)丟失。

非預(yù)讀取方式:使用此策略后,RAID控制卡接收到數(shù)據(jù)讀取命令時,才從虛擬磁盤讀取數(shù)據(jù),不會做預(yù)讀取的操作。

數(shù)據(jù)寫策略

在配置界面中一般體現(xiàn)為“Write Policy”。RAID控制卡支持如下數(shù)據(jù)寫策略:

回寫:在配置界面中一般體現(xiàn)為“Write Back”等字樣。使用此策略后,需要向虛擬磁盤寫數(shù)據(jù)時,會直接寫入Cache中,當(dāng)寫入的數(shù)據(jù)積累到一定程度,RAID控制卡才將數(shù)據(jù)刷新到虛擬磁盤,這樣不但實現(xiàn)了批量寫入,而且提升了數(shù)據(jù)寫入的速度。當(dāng)控制卡Cache收到所有的傳輸數(shù)據(jù)后,將給主機(jī)返回數(shù)據(jù)傳輸完成信號

要使用該策略,要求RAID控制卡支持?jǐn)?shù)據(jù)掉電保護(hù)功能,但如果此時超級電容異常,可能導(dǎo)致數(shù)據(jù)丟失。

直寫:在配置界面中一般有“Write Through”等選項。使用此策略后,RAID控制卡向虛擬磁盤直接寫入數(shù)據(jù),不經(jīng)過Cache。當(dāng)硬盤子系統(tǒng)接收到所有傳輸數(shù)據(jù)后,控制卡將給主機(jī)返回數(shù)據(jù)傳輸完成信號。

此種方式不要求RAID控制卡支持?jǐn)?shù)據(jù)掉電保護(hù)功能,即使超級電容故障,也無影響。該寫策略的缺點是寫入速度較低。

與BBU相關(guān)的回寫:在配置界面中一般有“Write Back with BBU”等選項。使用此策略后,當(dāng)RAID控制卡BBU在位且狀態(tài)正常時,RAID控制卡到虛擬磁盤的寫操作會經(jīng)過Cache中轉(zhuǎn)(即回寫方式);當(dāng)RAID控制卡BBU不在位或BBU故障時,RAID控制卡到虛擬磁盤的寫操作會自動切換為不經(jīng)過Cache的直接寫入(即寫通方式)。

強(qiáng)制回寫:在配置界面中一般體現(xiàn)為“Write Back Enforce”、“Always Write Back”等字樣。在RAID控制卡無電容或電容損壞的情況下,強(qiáng)制使用“Write Back”模式。

當(dāng)服務(wù)器出現(xiàn)異常下電時,如果電容不在位或在充電狀態(tài)下,RAID控制卡中DDR(即Cache)的寫數(shù)據(jù)將會丟失。不推薦使用該模式。

5 數(shù)據(jù)掉電保護(hù)

掉電保護(hù)的原理

數(shù)據(jù)寫入RAID控制卡高速緩存的速度大于數(shù)據(jù)寫入硬盤的速度,一次在服務(wù)器進(jìn)行大量寫操作時,都使用RAID控制卡高速緩存來提升系統(tǒng)性能。

開啟RAID控制卡高速緩存可提升整機(jī)寫性能,當(dāng)服務(wù)器寫壓力減小或RAID控制卡高速緩存將寫滿時,數(shù)據(jù)再由RAID控制卡高速緩存寫入硬盤。

開啟RAID控制卡高速緩存提升寫性能的同時,也增大了數(shù)據(jù)丟失的風(fēng)險,在整機(jī)意外掉電時,RAID控制卡高速緩存中的數(shù)據(jù)將會丟失。

為了提升整機(jī)的高讀寫性能和RAID控制卡高速緩存中數(shù)據(jù)的安全,可為RAID控制卡配置超級電容。超級電容保護(hù)模塊的原理是在發(fā)生系統(tǒng)意外掉電時,利用超級電容供電,將RAID控制卡高速緩存中的數(shù)據(jù)寫入超級電容模塊中的NAND Flash中永久保存。

超級電容電量校準(zhǔn)

由于數(shù)據(jù)保護(hù)需要超級電容的配合,為了記錄超級電容的放電曲線,以便RAID控制卡了解超級電容的狀態(tài),例如最大和最小電壓等,同時為了延長超級電容的壽命,RAID控制卡默認(rèn)啟動超級電容自動校準(zhǔn)模式。

RAID控制卡通過如下所述的三段式充放電操作對超級電容的電量進(jìn)行校準(zhǔn),使其保持在一個相對穩(wěn)定的值。

1.RAID控制卡將超級電容的電量充到最大值。

2.自動啟動校準(zhǔn)進(jìn)程,將超級電容完全放電。

3.重新開始充電,直至達(dá)到最大電量。

超級電容電量校準(zhǔn)過程中,RAID控制卡寫策略自動調(diào)整為“Write Through”模式以保證數(shù)據(jù)完整性,此時RAID控制卡性能會降低。電量校準(zhǔn)的時間取決于超級電容充放電速度。

6 硬盤條帶化

當(dāng)多個進(jìn)程同時訪問一個硬盤時,可能會出現(xiàn)硬盤沖突。大多數(shù)硬盤系統(tǒng)都對訪問次數(shù)(每秒的I/O操作)和數(shù)據(jù)傳輸率(每秒傳輸?shù)臄?shù)據(jù)量)有限制。當(dāng)達(dá)到這些限制時,后面需要訪問硬盤的進(jìn)程就需要等待。

條帶化是一種自動的將I/O的負(fù)載均衡到多個物理硬盤上的技術(shù)。條帶化技術(shù)將一塊連續(xù)的數(shù)據(jù)分成多個小部分并將其分別存儲到不同硬盤上去。這就能使多個進(jìn)程同時訪問數(shù)據(jù)的多個不同部分而不會造成硬盤沖突,而且在需要對這種數(shù)據(jù)進(jìn)行順序訪問的時候可以獲得最大程度上的I/O并行能力。

硬盤的條帶化,是將硬盤空間按照設(shè)定的大小分為多個條帶,數(shù)據(jù)寫入時也按照條帶的大小來劃分?jǐn)?shù)據(jù)模塊。

例如,在一個由四個成員盤組成的硬盤系統(tǒng)中(例如RAID 0),第一個數(shù)據(jù)塊寫入第一塊成員盤,第二個數(shù)據(jù)塊寫入第二個成員盤,以此類推,如圖1-11所示。由于是同時對多個硬盤進(jìn)行寫入,因此極大地提升了系統(tǒng)性能,但是,此特性并不能保證數(shù)據(jù)的冗余性。

硬盤分條包含下面的概念:

條帶寬度:一個硬盤組在進(jìn)行分條時所使用的硬盤的個數(shù),例如一個由四個成員盤組成的硬盤組,其條帶寬度為“4”。

硬盤組的條帶大?。篟AID控制卡同時在一個硬盤組中所有硬盤上的寫入的數(shù)據(jù)塊的大小。

硬盤的條帶大小:RAID控制卡在每塊硬盤上寫入的數(shù)據(jù)塊的大小。

例如,針對一個硬盤組,在寫入數(shù)據(jù)時,一個1MB的數(shù)據(jù)條帶,在每個成員盤上分配的數(shù)據(jù)塊為64KB,那么此硬盤組的條帶大小為1MB,硬盤的條帶大小為64KB。

7 磁盤鏡像

磁盤鏡像,適用于RAID 1和RAID 10,是指執(zhí)行寫數(shù)據(jù)的任務(wù)時,會將同樣的數(shù)據(jù)同時寫入兩塊硬盤,以實現(xiàn)100%的數(shù)據(jù)冗余度。由于兩塊硬盤上的數(shù)據(jù)完全相同,當(dāng)一塊硬盤故障時,數(shù)據(jù)不會丟失。另外,同一時間,兩塊盤上的數(shù)據(jù)是完全相同的,當(dāng)一塊硬盤故障時,由于數(shù)據(jù)是同時讀寫,因此數(shù)據(jù)流不會中斷。

磁盤鏡像帶來的是100%的完全冗余,但是其代價是比較昂貴的,因為在鏡像過程中,每個硬盤都需要一個備份盤。

8 外部配置

外部配置,是區(qū)別于當(dāng)前RAID控制卡的配置來說的,在配置界面中一般體現(xiàn)為“Foreign Configuration”之類的字樣。

一般在下述情況下,會有外部配置出現(xiàn):

一個新安裝到服務(wù)器上的物理硬盤中存在RAID配置信息,RAID控制卡會將此類信息識別為外部配置。

服務(wù)器更換了RAID控制卡后,新RAID控制卡會將當(dāng)前存在的RAID信息識別為外部配置。

熱插拔RAID組的成員盤后,該成員盤會被標(biāo)記為攜帶外部配置。

檢測出來的外部配置,可以根據(jù)服務(wù)器實際情況進(jìn)行處理。例如,當(dāng)新插入的硬盤攜帶的RAID信息不符合當(dāng)前使用場景時,可以刪除此配置。更換RAID控制卡后,如果仍然想使用之前的配置,就可以導(dǎo)入該配置,使其在新RAID控制卡上生效。

9 硬盤節(jié)能

RAID控制卡具備硬盤節(jié)能功能。此功能根據(jù)硬盤配置和I/O活動允許硬盤停轉(zhuǎn)。所有SASSATA機(jī)械硬盤均支持此功能。

當(dāng)硬盤節(jié)能功能開啟時,RAID控制卡下掛載的空閑狀態(tài)的硬盤和空閑熱備盤均處于節(jié)能狀態(tài)。當(dāng)有相關(guān)操作(例如創(chuàng)建RAID組,創(chuàng)建熱備盤,動態(tài)擴(kuò)盤,進(jìn)行熱備重構(gòu))時可喚醒正處于節(jié)能狀態(tài)的硬盤。

10 硬盤直通

硬盤直通,即“JBOD”功能,又稱指令透傳,是不經(jīng)過傳輸設(shè)備處理,僅保證傳輸質(zhì)量的一種數(shù)據(jù)傳輸方式。

打開硬盤直通功能后,RAID控制卡可對所連接的硬盤進(jìn)行指令透傳,在不配置RAID組的情況下,用戶指令可以直接透傳到硬盤,方便上層業(yè)務(wù)軟件或管理軟件訪問控制硬盤。

例如,服務(wù)器操作系統(tǒng)安裝過程中,可以直接找到掛載在RAID控制卡下的硬盤作為安裝盤;而不支持硬盤直通的RAID控制卡,在操作系統(tǒng)安裝過程中,只能找到該RAID控制卡下已經(jīng)配置好的虛擬磁盤作為安裝盤。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 硬盤
    +關(guān)注

    關(guān)注

    3

    文章

    1310

    瀏覽量

    57311
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9160

    瀏覽量

    85419
  • RAID
    +關(guān)注

    關(guān)注

    0

    文章

    278

    瀏覽量

    35097
  • 磁盤
    +關(guān)注

    關(guān)注

    1

    文章

    379

    瀏覽量

    25209
  • 控制卡
    +關(guān)注

    關(guān)注

    2

    文章

    60

    瀏覽量

    13014

原文標(biāo)題:深入分析磁盤RAID關(guān)鍵技術(shù)

文章出處:【微信號:架構(gòu)師技術(shù)聯(lián)盟,微信公眾號:架構(gòu)師技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    RAID技術(shù)全程指南

    。IDE 磁盤陣列就可以讓你的機(jī)器性能更高,速度更快,穩(wěn)定性更強(qiáng)!本文將對RAID技術(shù)進(jìn)行較為詳細(xì)的介紹,希望能夠?qū)V大讀者有所幫助。入門基礎(chǔ)RAID是英文Redundant Arra
    發(fā)表于 03-30 11:48

    CDMA原理與關(guān)鍵技術(shù)

    CDMA原理與關(guān)鍵技術(shù)
    發(fā)表于 08-16 20:25

    RAID 10更換新磁盤而不是RAID成員的一部分

    RAID 10配備4 x 2TB硬盤,RST檢測到其中一個磁盤降級,我買了一個新的替換它,一旦它被更換新磁盤不再是RAID成員的一部分。救命 !以上來自于谷歌翻譯以下為原文
    發(fā)表于 10-17 11:52

    淺析RAID磁盤陣列

    RAID磁盤陣列——掃盲篇
    發(fā)表于 06-21 06:28

    POE的關(guān)鍵技術(shù)有哪些?

    使用以太網(wǎng)線供電的優(yōu)勢是什么?PoE設(shè)備是怎么供電的?POE的關(guān)鍵技術(shù)有哪些?
    發(fā)表于 06-10 09:26

    RAID技術(shù)的概念特征

    RAID 技術(shù)相信大家都有接觸過,尤其是服務(wù)器運(yùn)維人員,RAID 概念很多,有時候會概念混淆。這篇文章為網(wǎng)絡(luò)轉(zhuǎn)載,寫得相當(dāng)不錯,它對 RAID 技術(shù)
    發(fā)表于 07-27 07:25

    轉(zhuǎn) RAID技術(shù)全解圖解-RAID0、RAID1、RAID5、RAID100【轉(zhuǎn)載】精選資料分享

    網(wǎng)絡(luò)轉(zhuǎn)載,寫得相當(dāng)不錯,它對 RAID 技術(shù)的概念特征、基本原理、關(guān)鍵技術(shù)、各種等級和發(fā)展現(xiàn)狀進(jìn)行了全面的闡述,并為用戶如何進(jìn)行應(yīng)用選擇提供了基本原則,對于初學(xué)者應(yīng)該有很大的幫助。一、RAID
    發(fā)表于 07-28 08:11

    (轉(zhuǎn)載)RAID技術(shù)全解圖解-RAID0、RAID1、RAID5、RAID100 精選資料分享

    RAID技術(shù)全解圖解-RAID0、RAID1、RAID5、RAID100一、
    發(fā)表于 07-28 09:25

    RAID(Redundant Array of Independent Disk 獨立冗余磁盤陣列)精選資料分享

    獨立冗余磁盤陣列(Redundant Array of Independent Disk,RAID)獨立冗余磁盤陣列獨立冗余磁盤陣列(Redundant Array of Indepe
    發(fā)表于 07-28 08:59

    淺析RAID磁盤陣列

    RAID是什么?RAID磁盤陣列具有哪些功能?RAID磁盤陣列是由哪些部分組成的?
    發(fā)表于 10-15 08:32

    視覺導(dǎo)航關(guān)鍵技術(shù)及應(yīng)用

    由于視覺導(dǎo)航技術(shù)的應(yīng)用越來越普及 ,因此 ,有必要對視覺導(dǎo)航中的關(guān)鍵技術(shù)及應(yīng)用進(jìn)行研究。文章對其中的圖像處理技術(shù)和定位與跟蹤技術(shù)進(jìn)行了詳細(xì)研究 ,并與此相對應(yīng) ,介紹的相關(guān)的應(yīng)用。
    發(fā)表于 09-25 08:09

    RAID,RAID技術(shù)規(guī)范有哪些?

    RAID,RAID技術(shù)規(guī)范有哪些? RAID是“Redundant Array of Independent Disk”的縮寫,中文意思是獨立冗余
    發(fā)表于 03-29 10:19 ?740次閱讀

    如何用RAID技術(shù)保證磁盤的可靠性

    RAID的全稱為廉價冗余磁盤陣列(Redundant Array of Inexpensive Disks),從字面可以看出其基本原理就是通過廉價的磁盤組成一組磁盤,從而提高
    發(fā)表于 09-13 11:24 ?3917次閱讀

    什么是raid磁盤冗余陣列

    讀寫、如實現(xiàn)數(shù)據(jù)備份。 ? raid技術(shù)的作用 ? - 提高IO能力,磁盤并行讀寫 - 提高耐用性,磁盤冗余算法來實現(xiàn)- 具備冗余功能,節(jié)約成本 ?
    的頭像 發(fā)表于 12-16 16:41 ?173次閱讀
    什么是<b class='flag-5'>raid</b><b class='flag-5'>磁盤</b>冗余陣列

    RAID 5 磁盤陣列的組成

    在現(xiàn)代數(shù)據(jù)中心和企業(yè)環(huán)境中,數(shù)據(jù)的可靠性和可用性至關(guān)重要。為了確保關(guān)鍵數(shù)據(jù)的安全性,許多組織采用了RAID(獨立磁盤冗余陣列)技術(shù)。RAID
    的頭像 發(fā)表于 12-27 17:06 ?145次閱讀