當前位置:首頁 » 操作系統 » raid演算法

raid演算法

發布時間: 2023-01-13 05:16:20

『壹』 RAID介紹

RAID全稱為廉價磁碟冗餘陣列(Rendant Arrays of Independent Disk),其原理就是:將多個便宜的磁碟組合成一個磁碟陣列組。提升了磁碟的讀寫性能,通常用在伺服器上。RAID分為不同的級別,不同的級別在數據可靠性以及讀寫性能都不一樣。可以根據自己的生產環境來使用不同的級別。常用的RAID有:RAID0,RAID1,RAID5,RAID6,RAID1+0,RAID0+1等等。

RAID0又叫條帶卷(strip)將數據分段存儲於各個磁碟中,讀寫操作可以並行執行。因此其讀寫速率為單個磁碟的N倍(N為組成RAID0的磁碟個數),但是卻沒有數據冗餘,單個磁碟的損壞會導致數據的不可修復。在RAID0中,數據以chunk方式存儲。大多數striping的實現允許管理者通過調節兩個關鍵的參數來定義數據分段及寫入磁碟的 方式,這兩個參數對RAID0的性能有很重要的影響。

stripe width是指可被並行寫入的 stripe 的個數,即等於磁碟陣列中磁碟的個數。

也可稱為block size(chunk size,stripe length,granularity),指寫入每個磁 盤的數據塊大小。以塊分段的RAID通常可允許選擇的塊大小從 2KB 到 512KB不等,也有更 高的,但一定要是2的指數倍。以位元組分段的(比如RAID3)一般的stripe size為1位元組或者 512位元組,並且用戶不能調整。 stripe size對性能的影響是很難簡單估量的,最好在實際應用中依自己需求多多調整並 觀察其影響。通常來說,減少stripe size,文件會被分成更小的塊,傳輸數據會更快,但 是卻需要更多的磁碟來保存,增加positioning performance,反之則相反。應該說,沒有 一個理論上的最優的值。很多時候,也要考慮磁碟控制器的策略,比如有的磁碟控制器會等 等到一定數據量才開始往磁碟寫入。

鏡像存儲(mirroring),沒有數據校驗。數據被同等地寫入兩個或多個磁碟中,可想而知,寫入速度會比較 慢,但讀取速度會比較快。讀取速度可以接近所有磁碟吞吐量的總和,寫入速度受限於最慢 的磁碟。 RAID1也是磁碟利用率最低的一個。如果用兩個不同大小的磁碟建立RAID1,可以用空間較小 的那一個,較大的磁碟多出來的部分可以作他用,不會浪費。

奇偶校驗(XOR),數據以塊分段條帶化存儲。校驗信息交叉地存儲在所有的數據盤上。
RAID5把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁碟上,並且奇偶校驗信息和 相對應的數據分別存儲於不同的磁碟上,其中任意N-1塊磁碟上都存儲完整的數據,也就是 說有相當於一塊磁碟容量的空間用於存儲奇偶校驗信息。因此當RAID5的一個磁碟發生損壞 後,不會影響數據的完整性,從而保證了數據安全。當損壞的磁碟被替換後,RAID還會自動 利用剩下奇偶校驗信息去重建此磁碟上的數據,來保持RAID5的高可靠性。

RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供數據安全保障,但 保障程度要比鏡像低而磁碟空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的數據讀取 速度,只是因為多了一個奇偶校驗信息,寫入數據的速度相對單獨寫入一塊硬碟的速度略慢。

類似RAID5,但是增加了第二個獨立的奇偶校驗信息塊,兩個獨立的奇偶系統使用不同的演算法, 數據的可靠性非常高,即使兩塊磁碟同時失效也不會影響數據的使用。但RAID 6需要分配給 奇偶校驗信息更大的磁碟空間,相對於RAID 5有更大的「寫損失」,因此「寫性能」非常差。
由圖所知,每個硬碟上除了都有同級數據XOR校驗區外,還有一個針對每個數據 塊的XOR校驗區。當然,當前盤數據塊的校驗數據不可能存在當前盤而是交錯存儲的。從數 學角度來說,RAID 5使用一個方程式解出一個未知變數,而RAID 6則能通過兩個獨立的線性 方程構成方程組,從而恢復兩個未知數據。
伴隨著硬碟容量的增長,RAID6已經變得越來越重要。TB級別的硬碟上更容易造成數據丟失, 數據重建過程(比如RAID5,只允許一塊硬碟損壞)也越來越長,甚至到數周,這是完全不可接受的。而RAID6允許兩 塊硬碟同時發生故障,所以漸漸受到人們的青睞。
伴隨CD,DVD和藍光光碟的問世,存儲介質出現了擦除碼技術,即使媒介表面出現劃痕,仍然可以播放,大多數常見的擦除碼演算法已經演變為上世紀60年代麻省理工學院林肯實驗室開 發的Reed-Solomon碼。實際情況中,多數RAID6實現都採用了標準的RAID5教校驗比特和Reed-Solomon碼 。而純擦除碼演算法的使用使得RAID 6陣列可以失效兩塊以上的硬碟,保護力度更強,有些實現方法提供了多種級別的保護,甚至允許用戶(或存儲管理員)指定保護級別。

RAID1+0與RAID0+1相似,但是先做鏡像(1),再做條帶(0)
二者在讀寫性能上沒有什麼差別。但是在安全性上RAID10要好於 RAID01。如圖中所示,假設DISK0損壞,在RAID10中,在剩下的3塊盤中,只有當DISK1故障, 整個RAID才會失效。但在RAID01中,DISK0損壞後,左邊的條帶將無法讀取,在剩下的3快盤 中,只要DISK2或DISK3兩個盤中任何一個損壞,都會導致RAID失效。
RAID10和RAID5也是經常用來比較的兩種方案,二者都在生產實踐中得到了廣泛的應用。 RAID10安全性更高,但是空間利用率低。至於讀寫性能,與cache有很大關聯,最好根據實 際情況測試比較選擇。

RAID0+1是RAID0和RAID1的結合。先做條帶(0),再做鏡像(1)
以四個磁碟組成的RAID 0+1為例,其數據存儲方式如圖所示:RAID 0+1是存儲性能和數據安全兼顧的方案。它在提供與RAID 1一樣的數據安全保障的同時,也提供了與RAID 0近似的存儲性能。
由於RAID 0+1也通過數據的100%備份功能提供數據安全保障,因此RAID 0+1的磁碟空間利用率與RAID 1相同,存儲成本高。

參考文檔:
http://blog.jobbole.com/83808/

『貳』 RAID是什麼意思

Raid定義

RAID(Rendant Array of Independent Disk 獨立冗餘磁碟陣列)技術是加州大學伯克利分校1987年提出,最初是為了組合小的廉價磁碟來代替大的昂貴磁碟,同時希望磁碟失效時不會使對數據的訪問受損失而開發出一定水平的數據保護技術。RAID就是一種由多塊廉價磁碟構成的冗餘陣列,在操作系統下是作為一個獨立的大型存儲設備出現。RAID可以充分發揮出多塊硬碟的優勢,可以提升硬碟速度,增大容量,提供容錯功能夠確保數據安全性,易於管理的優點,在任何一塊硬碟出現問題的情況下都可以繼續工作,不會受到損壞硬碟的影響。

二、RAID的幾種工作模式

1、RAID0

即Data Stripping數據分條技術。RAID 0可以把多塊硬碟連成一個容量更大的硬碟群,可以提高磁碟的性能和吞吐量。RAID 0沒有冗餘或錯誤修復能力,成本低,要求至少兩個磁碟,一般只是在那些對數據安全性要求不高的情況下才被使用。

(1)、RAID 0最簡單方式

就是把x塊同樣的硬碟用硬體的形式通過智能磁碟控制器或用操作系統中的磁碟驅動程序以軟體的方式串聯在一起,形成一個獨立的邏輯驅動器,容量是單獨硬碟的x倍,在電腦數據寫時被依次寫入到各磁碟中,當一塊磁碟的空間用盡時,數據就會被自動寫入到下一塊磁碟中,它的好處是可以增加磁碟的容量。速度與其中任何一塊磁碟的速度相同,如果其中的任何一塊磁碟出現故障,整個系統將會受到破壞,可靠性是單獨使用一塊硬碟的1/n。

(2)、RAID 0的另一方式

是用n塊硬碟選擇合理的帶區大小創建帶區集,最好是為每一塊硬碟都配備一個專門的磁碟控制器,在電腦數據讀寫時同時向n塊磁碟讀寫數據,速度提升n倍。提高系統的性能。

2、RAID 1

RAID 1稱為磁碟鏡像:把一個磁碟的數據鏡像到另一個磁碟上,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,具有很高的數據冗餘能力,但磁碟利用率為50%,故成本最高,多用在保存關鍵性的重要數據的場合。RAID 1有以下特點:

(1)、RAID 1的每一個磁碟都具有一個對應的鏡像盤,任何時候數據都同步鏡像,系統可以從一組鏡像盤中的任何一個磁碟讀取數據。

(2)、磁碟所能使用的空間只有磁碟容量總和的一半,系統成本高。

(3)、只要系統中任何一對鏡像盤中至少有一塊磁碟可以使用,甚至可以在一半數量的硬碟出現問題時系統都可以正常運行。

(4)、出現硬碟故障的RAID系統不再可靠,應當及時的更換損壞的硬碟,否則剩餘的鏡像盤也出現問題,那麼整個系統就會崩潰。

(5)、更換新盤後原有數據會需要很長時間同步鏡像,外界對數據的訪問不會受到影響,只是這時整個系統的性能有所下降。

(6)、RAID 1磁碟控制器的負載相當大,用多個磁碟控制器可以提高數據的安全性和可用性。
3、RAID0+1

把RAID0和RAID1技術結合起來,數據除分布在多個盤上外,每個盤都有其物理鏡像盤,提供全冗餘能力,允許一個以下磁碟故障,而不影響數據可用性,並具有快速讀/寫能力。RAID0+1要在磁碟鏡像中建立帶區集至少4個硬碟。

4、RAID2

電腦在寫入數據時在一個磁碟上保存數據的各個位,同時把一個數據不同的位運算得到的海明校驗碼保存另一組磁碟上,由於海明碼可以在數據發生錯誤的情況下將錯誤校正,以保證輸出的正確。但海明碼使用數據冗餘技術,使得輸出數據的速率取決於驅動器組中速度最慢的磁碟。RAID2控制器的設計簡單。

5、RAID3:帶奇偶校驗碼的並行傳送

RAID 3使用一個專門的磁碟存放所有的校驗數據,而在剩餘的磁碟中創建帶區集分散數據的讀寫操作。當一個完好的RAID 3系統中讀取數據,只需要在數據存儲盤中找到相應的數據塊進行讀取操作即可。但當向RAID 3寫入數據時,必須計算與該數據塊同處一個帶區的所有數據塊的校驗值,並將新值重新寫入到校驗塊中,這樣無形雖增加系統開銷。當一塊磁碟失效時,該磁碟上的所有數據塊必須使用校驗信息重新建立,如果所要讀取的數據塊正好位於已經損壞的磁碟,則必須同時讀取同一帶區中的所有其它數據塊,並根據校驗值重建丟失的數據,這使系統減慢。當更換了損壞的磁碟後,系統必須一個數據塊一個數據塊的重建壞盤中的數據,整個系統的性能會受到嚴重的影響。RAID 3最大不足是校驗盤很容易成為整個系統的瓶頸,對於經常大量寫入操作的應用會導致整個RAID系統性能的下降。RAID 3適合用於資料庫和WEB伺服器等。

6、 RAID4

RAID4即帶奇偶校驗碼的獨立磁碟結構,RAID4和RAID3很象,它對數據的訪問是按數據塊進行的,也就是按磁碟進行的,每次是一個盤,RAID4的特點和RAID3也挺象,不過在失敗恢復時,它的難度可要比RAID3大得多了,控制器的設計難度也要大許多,而且訪問數據的效率不怎麼好。
7、 RAID5

RAID 5把校驗塊分散到所有的數據盤中。RAID 5使用了一種特殊的演算法,可以計算出任何一個帶區校驗塊的存放位置。這樣就可以確保任何對校驗塊進行的讀寫操作都會在所有的RAID磁碟中進行均衡,從而消除了產生瓶頸的可能。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。RAID 5提高了系統可靠性,但對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。

8、RAID6

RAID6即帶有兩種分布存儲的奇偶校驗碼的獨立磁碟結構,它是對RAID5的擴展,主要是用於要求數據絕對不能出錯的場合,使用了二種奇偶校驗值,所以需要N+2個磁碟,同時對控制器的設計變得十分復雜,寫入速度也不好,用於計算奇偶校驗值和驗證數據正確性所花費的時間比較多,造成了不必須的負載,很少人用。

9、 RAID7

RAID7即優化的高速數據傳送磁碟結構,它所有的I/O傳送均是同步進行的,可以分別控制,這樣提高了系統的並行性和系統訪問數據的速度;每個磁碟都帶有高速緩沖存儲器,實時操作系統可以使用任何實時操作晶元,達到不同實時系統的需要。允許使用SNMP協議進行管理和監視,可以對校驗區指定獨立的傳送信道以提高效率。可以連接多台主機,當多用戶訪問系統時,訪問時間幾乎接近於0。但如果系統斷電,在高速緩沖存儲器內的數據就會全部丟失,因此需要和UPS一起工作,RAID7系統成本很高。

10、 RAID10

RAID10即高可靠性與高效磁碟結構它是一個帶區結構加一個鏡象結構,可以達到既高效又高速的目的。這種新結構的價格高,可擴充性不好。

11、 RAID53

RAID7即高效數據傳送磁碟結構,是RAID3和帶區結構的統一,因此它速度比較快,也有容錯功能。但價格十分高,不易於實現。

個人使用磁碟RAID主要是用RAID0、 RAID1或RAID0+1工作模式。
參考資料:歷史回答

『叄』 什麼叫RAID寫懲罰不同RAID要如何計算

RAID 0(Striped Disk Array without Fault Tolerance)
RAID 0是把所有的硬碟並聯起來成為一個大的硬碟組。其容量為所有屬於這個組的硬碟的總和。所有數據的存取均以並行分割方式進行。由於所有存取的數據均以平衡方式存取到整組硬碟里,存取的速度非常快。越是多硬碟數量的RAID 0陣列其存取的速度就越快。容量效率方面也是所有RAID格式中最高的,達到100%。但RAID 0有一個致命的缺點–就是它跟普通硬碟一樣沒有一點的冗餘能力。一旦有一個硬碟失效時,所有的數據將盡失。沒法重組回來!一般來講,RAID 0隻用於一些已有原數據載體的多媒體文件的高速讀取環境。如視頻點播系統的數據共享部分等。RAID 0隻需要兩個或以上的硬碟便能組成。

RAID 1(Mirroring)
RAID 1是硬碟鏡像備份操作。由兩個硬碟所組成。其中一個是主硬碟而另外一個是鏡像硬碟。主硬碟的 數據會不停的被鏡像到另外一個鏡像硬碟上。由於所有主硬碟的數據會不停地鏡像到另外一個硬碟上, 故RAID 1具有很高的冗餘能力。達到最高的100%。可是正由於這個鏡像做法不是以演算法操作,故它的容量效率非常的低,只有50%。RAID 1隻支持兩個硬碟操作。容量非常有限,故一般只用於操作系統中。

RAID 0+1(Mirroring and Striping)
RAID 0+1即由兩組RAID 0的硬碟作RAID 1的鏡像容錯。雖然RAID 0+1具備有RAID 1的容錯能力和RAID 0的容量性能。但RAID 0+1的容量效率還是與RAID 1一樣只有50%,故同樣地沒有被普及使用。

RAID 3(Striping with dedicated parity)
RAID 3在安全方面以奇偶校驗(parity check)做錯誤校正及檢測,只需要一個額外的校檢磁碟(parity disk)。奇偶校驗值的計算是以各個磁碟的相對應位作XOR的邏輯運算,然後將結果寫入奇偶校驗磁碟, 任何數據的修改都要做奇偶校驗計算。如某一磁碟故障,換上新的磁碟後,整個磁碟陣列(包括奇偶校驗 磁碟)需重新計算一次,將故障磁碟的數據恢復並寫入新磁碟中,如奇偶校驗磁碟故障,則重新計算奇偶 校驗值,以達容錯的要求。

RAID 5(Striping with distributed parity)
RAID 5也是一種具容錯能力的RAID 操作方式,但與RAID 3不一樣的是RAID 5的容錯方式不應用專用容錯硬碟,容錯信息是平均的分布到所有硬碟上。當陣列中有一個硬碟失效,磁碟陣列可以從其他的幾個硬碟的對應數據中算出已掉失的數據。由於我們需要保證失去的信息可以從另外的幾個硬碟中算出來,我們就需要在一定容量的基礎上多用一個硬碟以保證其他的成員硬碟可以無誤地重組失去的數據。其總容量為(N-1)x最低容量硬碟的容量。從容量效率來講,RAID 5同樣地消耗了一個硬碟的容量,當有一個硬碟失效時,失效硬碟的數據可以從其他硬碟的容錯信息中重建出來,但如果有兩個硬碟同時失效的話,所有數據將盡失。

『肆』 簡答題:RAID磁碟陣列

RAID是磁碟陣列的基本功能,一般的磁碟陣列都具備或多或少的RAID功能。
RAID的作用主要是兩個:其一,通過某種演算法實現多個磁碟的整合,提高系統的整體可靠性;其二,通過某種演算法實現多個磁碟的整合,提高系統的整體性能。
常見的RAID基礎類型有:RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7。在此基礎上通過多種演算法的組合生成新的RAID類型,常見的是RAID10、RAID0+1、RAID50等等。
不管是何種RAID類型,其提高可靠性基本上兩種途徑:1、通關過鏡像方式保存多種數據,如RAID1;2、通過可逆演算法生成校驗碼,實現數據可靠性提升,如RAID2、RAID3、RAID4、RAID5、RAID6、RAID7等。提高性能主要是通過多個硬碟的並發訪問實現的。
一般來說,磁碟陣列實現RAID功能主要是兩部分完成:1、RAID演算法;2、IO。
兩部分決定了陣列實現RAID功能的性能、可靠性和造價。
通常全部軟體實現的方式,造價低、實現方便,但是性能和可靠性相對要低些;
全部通過專用晶元實現,造價高,但是性能和可靠性相對要高些。

『伍』 伺服器怎麼做RAID

製作磁碟陣列(RAID,Rendant Array of Independent Disks),可以有以下操作:

在Adaptec磁碟陣列控制器上創建Raid(容器),在這種陣列卡上創建容器的步驟如下(注意:請預先備份您伺服器上的數據,配置磁碟陣列的過程將會刪除伺服器硬碟上的所有數據!):

第1步,首先當系統在自檢的過程中出現如(圖1)提示時,同時按下「Ctrl+A」組合鍵。進入如(圖2)所示的磁碟陣列卡的配置程序界面。

圖十

第9步,容不得器創建好後,使用「ESC」鍵退出磁碟陣列配置界面,並重新啟動計算機即可。

『陸』 RAID5的具體原理

下面給大家介紹一個專業一點的RAID方式,說它是專業的RAID模式是因為它需要單獨的硬體支持才行。RAID 5模式的工作原理如下:
RAID 5使用至少三塊硬碟來實現陣列,它既能實現RAID 0的加速功能也能夠實現RAID 1的備份數據功能,在陣列當中有三塊硬碟的時候,它將會把所需要存儲的數據按照用戶定義的分割大小分割成文件碎片存儲到兩塊硬碟當中,此時,陣列當中的第三塊硬碟不接收文件碎片,它接收到的是用來校驗存儲在另外兩塊硬碟當中數據的一部分數據,這部分校驗數據是通過一定的演算法產生的,可以通過這部分數據來恢復存儲在另外兩個硬碟上的數據。另外,這三塊硬碟的任務並不是一成不變的,也就是說在這次存儲當中可能是1號硬碟和2好硬碟用來存儲分割後的文件碎片,那麼在下次存儲的時候可能就是2號硬碟和3號硬碟來完成這個任務了。可以說,在每次存儲操作當中,每塊硬碟的任務是隨機分配的,不過,肯定是兩塊硬碟用來存儲分割後的文件碎片另一塊硬碟用來存儲校驗信息。

這個校驗信息一般是通過RAID控制器運算得出的,通常這些信息是需要一個RAID控制器上有一個單獨的晶元來運算並決定將此信息發送到哪塊硬碟存儲。

RAID 5同時會實現RAID 0的高速存儲讀取並且也會實現RAID 1的數據恢復功能,也就是說在上面所說的情況下,RAID 5能夠利用三塊硬碟同時實現RAID 0的速度加倍功能也會實現RAID 1的數據備份功能,並且當RAID 5當中的一塊硬碟損壞之後,加入一塊新的硬碟同樣可以實現數據的還原。

下面來分析一下RAID 5如何實現對數據的還原,舉個例子來說,使用3塊硬碟來構成一個RAID 5陣列,用戶定義的分割文件大小為64K,此時需要存儲的文件大小為128K。首先,當RAID控制器接收到這部分數據之後利用一定的演算法得出校驗信息,然後將這128K的文件分割成兩個大小為64K大小的文件碎片,然後將這兩個文件碎片同時分別放往1號硬碟和2號硬碟,最後校驗信息被發往3號硬碟。如果這個陣列當中某個硬碟損壞了,還是可以恢復原來的數據:如果上面用來存儲校驗信息的3號硬碟損壞了,可以通過1號和2號硬碟來重新生成校驗信息;如果損壞的是1號或者2號硬碟,可以利用3號硬碟上存儲的校驗信息重新生成原來的文件碎片。

RAID 5模式並不是一些都好,如果陣列當中某塊硬碟上的信息發生了改變的話,那麼就需要重新計算文件分割碎片,並且,校驗信息也需要重新計算,這時,三個硬碟都需要重新調用。

同樣,如果要做RAID 5陣列的話,最好使用相同容量相同速度的硬碟,RAID 5模式的有效容量是陣列中容量最小的硬碟容量乘上陣列中硬碟數目減去一後的數,這里硬碟數目要減去一是因為其中有一塊硬碟用來存放校驗信息。

RAID 5既能夠實現速度上的加倍,同時也能夠保證數據的安全性,所以在很多高端系統當中都使用這種RAID模式。

從RAID 0到RAID 7都有相對應的組合方式,但是有些並不常用。還有一種方式是RAID 10,這種方式其實就是RAID 0+1,它的性能基本上和RAID 5相同,既有RAID 0在速度上的優勢,同時也有RAID 1在數據安全上的優勢,不過,想要組建一個RAID 10模式需要至少四塊硬碟,這個成本就比較高了。

熱點內容
超級訪問陳小春應采兒 發布:2025-05-16 09:43:29 瀏覽:478
緩存視頻合並工具最新版 發布:2025-05-16 09:35:03 瀏覽:194
花雨庭伺服器ip地址和埠 發布:2025-05-16 09:34:58 瀏覽:239
同時修改多台伺服器管理地址工具 發布:2025-05-16 09:20:36 瀏覽:421
什麼配置就能玩地平線 發布:2025-05-16 09:13:46 瀏覽:82
python旋轉圖片 發布:2025-05-16 09:13:40 瀏覽:638
少女前線防檢測腳本 發布:2025-05-16 08:59:07 瀏覽:728
編譯器對系統的依賴 發布:2025-05-16 08:37:29 瀏覽:711
javamap數組 發布:2025-05-16 08:37:28 瀏覽:451
移動光貓如何自行修改密碼 發布:2025-05-16 08:20:15 瀏覽:125