磁盤陣列 RAID 技術原理詳解
RAID一頁通整理所有RAID技術、原理並配合相應RAID圖解,給所有存儲新人提供一個迅速學習、理解RAID技術的網上資源庫,本文將持續更新,歡迎大家補充及投稿。中國存儲網一如既往為廣大存儲界朋友提供免費、精品資料。
1.什麽是Raid;
RAID(Redundant Array of Inexpensive Disks)稱為廉價磁盤冗余陣列。RAID 的基本原理是把多個便宜的小磁盤組合到一起,成為一個磁盤組,使性能達到或超過一個容量巨大、價格昂貴的磁盤。
目前 RAID技術大致分為兩種:基於硬件的RAID技術和基於軟件的RAID技術。其中在Linux下通過自帶的軟件就能實現RAID功能,這樣便可省去購買昂貴的硬件 RAID 控制器和附件就能極大地增強磁盤的 IO 性能和可靠性。由於是用軟件去實現的RAID功能,所以它配置靈活、管理方便。同時使用軟件RAID,還可以實現將幾個物理磁盤合並成一個更大的虛擬設備,從而達到性能改進和數據冗余的目的。當然基於硬件的RAID解決方案比基於軟件RAID技術在使用性能和服務性能上稍勝一籌,具體表現在檢測和修復多位錯誤的能力、錯誤磁盤自動檢測和陣列重建等方面。
2.RAID級別介紹;
一般常用的RAID階層,分別是RAID 0、RAID1、RAID 2、RAID 3、RAID 4以及RAID 5,再加上二合一型 RAID 0+1﹝或稱RAID 10﹞。我們先把這些RAID級別的優、缺點做個比較:
RAID級別 相對優點 相對缺點
RAID 0 存取速度最快 沒有容錯
RAID 1 完全容錯 成本高
RAID 2 帶海明碼校驗,數據冗余多,速度慢
RAID 3 寫入性能最好 沒有多任務功能
RAID 4 具備多任務及容錯功能 Parity 磁盤驅動器造成性能瓶頸
RAID 5 具備多任務及容錯功能 寫入時有overhead
RAID 0+1/RAID 10 速度快、完全容錯 成本高
2.0 RAID 0 的特點、原理與應用;
也稱為條帶模式(striped),即把連續的數據分散到多個磁盤上存取,如圖所示。當系統有數據請求就可以被多個磁盤並行的執行,每個磁盤執行屬於它自己的那部分數據請求。這種數據上的並行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。因為讀取和寫入是在設備上並行完成的,讀取和寫入性能將會增加,這通常是運行 RAID 0 的主要原因。但RAID 0沒有數據冗余,如果驅動器出現故障,那麽將無法恢復任何數據。
RAID 0:無差錯控制的帶區組
要實現RAID0必須要有兩個以上硬盤驅動器,RAID0實現了帶區組,數據並不是保存在一個硬盤上,而是分成數據塊保存在不同驅動器上。因為將數據分布在不同驅動器上,所以數據吞吐率大大提高,驅動器的負載也比較平衡。如果剛好所需要的數據在不同的驅動器上效率最好。它不需要計算校驗碼,實現容易。它的缺點是它沒有數據差錯控制,如果一個驅動器中的數據發生錯誤,即使其它盤上的數據正確也無濟於事了。不應該將它用於對數據穩定性要求高的場合。如果用戶進行圖象(包括動畫)編輯和其它要求傳輸比較大的場合使用RAID0比較合適。同時,RAID可以提高數據傳輸速率,比如所需讀取的文件分布在兩個硬盤上,這兩個硬盤可以同時讀取。那麽原來讀取同樣文件的時間被縮短為1/2。在所有的級別中,RAID 0的速度是最快的。但是RAID 0沒有冗余功能的,如果一個磁盤(物理)損壞,則所有的數據都無法使用。
2.1 RAID 1 的特點、原理與應用;
RAID 1 又稱為鏡像(Mirroring),一個具有全冗余的模式,如圖所示。RAID 1可以用於兩個或2xN個磁盤,並使用0塊或更多的備用磁盤,每次寫數據時會同時寫入鏡像盤。這種陣列可靠性很高,但其有效容量減小到總容量的一半,同時這些磁盤的大小應該相等,否則總容量只具有最小磁盤的大小。
RAID 1:鏡象結構
對於使用這種RAID1結構的設備來說,RAID控制器必須能夠同時對兩個盤進行讀操作和對兩個鏡象盤進行寫操作。通過下面的結構圖您也可以看到必須有兩個驅動器。因為是鏡象結構在一組盤出現問題時,可以使用鏡象,提高系統的容錯能力。它比較容易設計和實現。每讀一次盤只能讀出一塊數據,也就是說數據塊傳送速率與單獨的盤的讀取速率相同。因為RAID1的校驗十分完備,因此對系統的處理能力有很大的影響,通常的RAID功能由軟件實現,而這樣的實現方法在服務器負載比較重的時候會大大影響服務器效率。當您的系統需要極高的可靠性時,如進行數據統計,那麽使用RAID1比較合適。而且RAID1技術支持"熱替換",即不斷電的情況下對故障磁盤進行更換,更換完畢只要從鏡像盤上恢復數據即可。當主硬盤損壞時,鏡像硬盤就可以代替主硬盤工作。鏡像硬盤相當於一個備份盤,可想而知,這種硬盤模式的安全性是非常高的,RAID 1的數據安全性在所有的RAID級別上來說是最好的。但是其磁盤的利用率卻只有50%,是所有RAID級別中最低的。
2.2 RAID 2 的特點、原理與應用;
RAID 2:帶海明碼校驗
從概念上講,RAID 2 同RAID 3類似, 兩者都是將數據條塊化分布於不同的硬盤上, 條塊單位為位或字節。然而RAID 2 使用一定的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁盤存放檢查及恢復信息,使得RAID 2技術實施更復雜。因此,在商業環境中很少使用。下圖左邊的各個磁盤上是數據的各個位,由一個數據不同的位運算得到的海明校驗碼可以保存另一組磁盤上,具體情況請見下圖。由於海明碼的特點,它可以在數據發生錯誤的情況下將錯誤校正,以保證輸出的正確。它的數據傳送速率相當高,如果希望達到比較理想的速度,那最好提高保存校驗碼ECC碼的硬盤,對於控制器的設計來說,它又比RAID3,4或5要簡單。沒有免費的午餐,這裏也一樣,要利用海明碼,必須要付出數據冗余的代價。輸出數據的速率與驅動器組中速度最慢的相等。
2.3 RAID 3 特點、原理與應用;
RAID 3 是將數據先做XOR 運算,產生Parity Data後,在將數據和Parity Data 以並行存取模式寫入成員磁盤驅動器中,因此具備並行存取模式的優點和缺點。進一步來說,RAID 3每一筆數據傳輸,都更新整個Stripe﹝即每一個成員磁盤驅動器相對位置的數據都一起更新﹞,因此不會發生需要把部分磁盤驅動器現有的數據讀出來,與新數據作XOR運算,再寫入的情況發生﹝這個情況在 RAID 4和RAID 5會發生,一般稱之為Read、Modify、Write Process,我們姑且譯為為讀、改、寫過程﹞。因此,在所有 RAID級別中,RAID 3的寫入性能是最好的。
RAID 3 的 Parity Data 一般都是存放在一個專屬的Parity Disk,但是由於每筆數據都更新整個Stripe,因此,RAID 3的 Parity Disk 並不會如RAID 4的 Parity Disk,會造成存取的瓶頸。
RAID 3 的並行存取模式,需要RAID 控制器特別功能的支持,才能達到磁盤驅動器同步控制,而且上述寫入性能的優點,以目前的Caching 技術,都可以將之取代,因此一般認為RAID 3的應用,將逐漸淡出市場。
RAID 3 以其優越的寫入性能,特別適合用在大型、連續性檔案寫入為主的應用,例如繪圖、影像、視訊編輯、多媒體、數據倉儲、高速數據擷取等等。
RAID3:帶奇偶校驗碼的並行傳送
這種校驗碼與RAID2不同,只能查錯不能糾錯。它訪問數據時一次處理一個帶區,這樣可以提高讀取和寫入速度,它像RAID 0一樣以並行的方式來存放數據,但速度沒有RAID 0快。校驗碼在寫入數據時產生並保存在另一個磁盤上。需要實現時用戶必須要有三個以上的驅動器,寫入速率與讀出速率都很高,因為校驗位比較少,因此計算時間相對而言比較少。用軟件實現RAID控制將是十分困難的,控制器的實現也不是很容易。它主要用於圖形(包括動畫)等要求吞吐率比較高的場合。不同於RAID 2,RAID 3使用單塊磁盤存放奇偶校驗信息。如果一塊磁盤失效,奇偶盤及其他數據盤可以重新產生數據。 如果奇偶盤失效,則不影響數據使用。RAID 3對於大量的連續數據可提供很好的傳輸率,但對於隨機數據,奇偶盤會成為寫操作的瓶頸。 利用單獨的校驗盤來保護數據雖然沒有鏡像的安全性高,但是硬盤利用率得到了很大的提高,為n-1。
2.4 RAID 4 特點、原理與應用;
創建RAID 4需要三塊或更多的磁盤,它在一個驅動器上保存校驗信息,並以RAID 0方式將數據寫入其它磁盤,如圖所示。因為一塊磁盤是為校驗信息保留的,所以陣列的大小是(N-l)*S,其中S是陣列中最小驅動器的大小。就像在 RAID 1中那樣,磁盤的大小應該相等。
如果一個驅動器出現故障,那麽可以使用校驗信息來重建所有數據。如果兩個驅動器出現故障,那麽所有數據都將丟失。不經常使用這個級別的原因是校驗信息存儲在一個驅動器上。每次寫入其它磁盤時,都必須更新這些信息。因此,在大量寫入數據時很容易造成校驗磁盤的瓶頸,所以目前這個級別的RAID很少使用了。
RAID 4 是采取獨立存取模式,同時以單一專屬的Parity Disk 來存放Parity Data。RAID 4的每一筆傳輸﹝Strip﹞資料較長,而且可以執行Overlapped I/O,因此其讀取的性能很好。
但是由於使用單一專屬的Parity Disk 來存放Parity Data,因此在寫入時,就會造成很大的瓶頸。因此,RAID 4並沒有被廣泛地應用。
RAID4:帶奇偶校驗碼的獨立磁盤結構
RAID4和RAID3很象,不同的是,它對數據的訪問是按數據塊進行的,也就是按磁盤進行的,每次是一個盤。在圖上可以這麽看,RAID3是一次一橫條,而RAID4一次一豎條。它的特點的RAID3也挺象,不過在失敗恢復時,它的難度可要比RAID3大得多了,控制器的設計難度也要大許多,而且訪問數據的效率不怎麽好。
2.5 RAID 5特點、原理與應用;
在希望結合大量物理磁盤並且仍然保留一些冗余時,RAID 5 可能是最有用的 RAID 模式。RAID 5可以用在三塊或更多的磁盤上,並使用0塊或更多的備用磁盤。就像 RAID 4一樣,得到的 RAID5 設備的大小是(N-1)*S。
RAID5 與 RAID4 之間最大的區別就是校驗信息均勻分布在各個驅動器上,如圖4所示,這樣就避免了RAID 4中出現的瓶頸問題。如果其中一塊磁盤出現故障,那麽由於有校驗信息,所以所有數據仍然可以保持不變。如果可以使用備用磁盤,那麽在設備出現故障之後,將立即開始同步數據。如果兩塊磁盤同時出現故障,那麽所有數據都會丟失。RAID5 可以經受一塊磁盤故障,但不能經受兩塊或多塊磁盤故障。
RAID 5也是采取獨立存取模式,但是其Parity Data 則是分散寫入到各個成員磁盤驅動器,因此,除了具備Overlapped I/O 多任務性能之外,同時也脫離如RAID 4單一專屬Parity Disk的寫入瓶頸。但是,RAI?D 5在座資料寫入時,仍然稍微受到"讀、改、寫過程"的拖累。
由於RAID 5 可以執行Overlapped I/O 多任務,因此當RAID 5的成員磁盤驅動器數目越多,其性能也就越高,因為一個磁盤驅動器再一個時間只能執行一個 Thread,所以磁盤驅動器越多,可以Overlapped 的Thread 就越多,當然性能就越高。但是反過來說,磁盤驅動器越多,數組中可能有磁盤驅動器故障的機率就越高,整個數組的可靠度,或MTDL (Mean Time to Data Loss) 就會降低。
由於RAID 5將Parity Data 分散存在各個磁盤驅動器,因此很符合XOR技術的特性。例如,當同時有好幾個寫入要求發生時,這些要寫入的數據以及Parity Data 可能都分散在不同的成員磁盤驅動器,因此RAID 控制器可以充分利用Overlapped I/O,同時讓好幾個磁盤驅動器分別作存取工作,如此,數組的整體性能就會提高很多。
基本上來說,多人多任務的環境,存取頻繁,數據量不是很大的應用,都適合選用RAID 5 架構,
例如企業檔案服務器、WEB 服務器、在線交易系統、電子商務等應用,都是數據量小,存取頻繁的應用。
RAID5:分布式奇偶校驗的獨立磁盤結構
從它的示意圖上可以看到,它的奇偶校驗碼存在於所有磁盤上,其中的p0代表第0帶區的奇偶校驗值,其它的意思也相同。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。因為奇偶校驗碼在不同的磁盤上,所以提高了可靠性,允許單個磁盤出錯。RAID 5也是以數據的校驗位來保證數據的安全,但它不是以單獨硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放於各個硬盤上。這樣,任何一個硬盤損壞,都可以根據其它硬盤上的校驗位來重建損壞的數據。硬盤的利用率為n-1。 但是它對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。RAID 3 與RAID 5相比,重要的區別在於RAID 3每進行一次數據傳輸,需涉及到所有的陣列盤。而對於RAID 5來說,大部分數據傳輸只對一塊磁盤操作,可進行並行操作。在RAID 5中有"寫損失",即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。 RAID-5的話,優點是提供了冗余性(支持一塊盤掉線後仍然正常運行),磁盤空間利用率較高(N-1/N),讀寫速度較快(N-1倍)。RAID5最大的好處是在一塊盤掉線的情況下,RAID照常工作,相對於RAID0必須每一塊盤都正常才可以正常工作的狀況容錯性能好多了。因此RAID5是RAID級別中最常見的一個類型。RAID5校驗位即P位是通過其它條帶數據做異或(xor)求得的。計算公式為P=D0xorD1xorD2…xorDn,其中p代表校驗塊,Dn代表相應的數據塊,xor是數學運算符號異或。 RAID5校驗位算法詳解 P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn為數據塊,P為校驗,xor為異或運算) XOR(Exclusive OR)的校驗原理如下表:
A值 |
B值 |
Xor結果 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
這裏的A與B值就代表了兩個位,從中可以發現,A與B一樣時,XOR(非或又稱"非異或")結果為0,A與B不一樣時,XOR結果就是1,如果知道XOR結果,A和B中的任何兩個數值,就可以反推出剩下的一個數值。比如A為1,XOR結果為1,那麽B肯定為0,如果XOR結果為0,那麽B肯定為1。這就是XOR編碼與校驗的基本原理。
raid 5是一種非常具有實用價值的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模式。
2.6 RAID 0+1﹝RAID 10﹞的特點、原理與應用;
RAID 0+1/RAID 10,綜合了RAID 0 和 RAID 1的優點,適合用在速度需求高,又要完全容錯,當然經費也很多的應用。 RAID 0和RAID 1的原理很簡單,合起來之後還是很簡單,我們不打算詳細介紹,倒是要談談,RAID 0+1到底應該是 RAID 0 over RAID 1,還是RAID 1 over RAID 0,也就是說,是把多個RAID 1 做成RAID 0,還是把多個 RAID 0 做成RAID 1?
RAID 0 over RAID 1
假設我們有四臺磁盤驅動器,每兩臺磁盤驅動器先做成RAID 1,再把兩個RAID 1做成RAID 0,這就是RAID 0 over RAID 1:
(RAID 1) A = Drive A1 + Drive A2 (Mirrored)
(RAID 1) B = Drive B1 + Drive B2 (Mirrored)
RAID 0 = (RAID 1) A + (RAID 1) B (Striped)
RAID 1 over RAID 0
假設我們有四臺磁盤驅動器,每兩臺磁盤驅動器先做成RAID 0,再把兩個RAID 0做成RAID 1,這就是RAID 1 over RAID 0:
(RAID 0) A = Drive A1 + Drive A2 (Striped)
(RAID 0) B = Drive B1 + Drive B2 (Striped)
RAID 1 = (RAID 1) A + (RAID 1) B (Mirrored)
在這種架構之下,如果 (RAID 0) A有一臺磁盤驅動器故障,(RAID 0) A就算毀了,當然RAID 1仍然可以正常工作;如果這時 (RAID 0) B也有一臺磁盤驅動器故障,(RAID 0) B也就算毀了,此時RAID 1的兩磁盤驅動器都算故障,整個RAID 1資料就毀了。
因此,RAID 0 OVER RAID 1應該比RAID 1 OVER RAID 0具備比較高的可靠度。所以我們建議,當采用RAID 0+1/RAID 10架構時,要先作RAID 1,再把數個RAID 1做成RAID 0。
3. 怎樣選擇Raid級別;
RAID 012345 到底哪一種適合你,不只是成本問題,容錯功能和傳輸性能的考慮以及未來之可擴充性都應該符合應用的需求。
RAID 在市場上的的應用,已經不是新鮮的事兒了,很多人都大略了解RAID的基本觀念,以及各個不同RAID LEVEL 的區分。但是在實際應用 面,我們發現,有很多使用者對於選擇一個合適的RAID LEVEL,仍然無法很確切的掌握,尤其是對於RAID 0+1 (10),RAID 3, RAID 5之間的選擇取舍,更是舉棋不定。
3.1 RAID條切"striped"的存取模式;
在使用數據條切﹝Data Stripping﹞ 的RAID 系統之中,對成員磁盤驅動器的存取方式,可分為兩種:
並行存取﹝Paralleled Access﹞
獨立存取﹝Independent Access﹞
RAID 2和RAID 3 是采取並行存取模式。
RAID 0、RAID 4、RAID 5及RAID 6則是采用獨立存取模式。
3.2 平行存取模式;
並行存取模式支持裏,是把所有磁盤驅動器的主軸馬達作精密的控制,使每個磁盤的位置都彼此同步,然後對每一個磁盤驅動器作一個很短的I/O數據傳送,如此一來,從主機來的每一個I/O 指令,都平均分布到每一個磁盤驅動器。
為了達到並行存取的功能,RAID 中的每一個磁盤驅動器,都必須具備幾乎完全相同的規格:轉速必須一樣;磁頭搜尋速度﹝Access Time﹞必須相同;Buffer 或Cache的容量和存取速度要一致;CPU處理指令的速度要相同;I/O Channel 的速度也要一樣。總而言之,要利用並行存取模式,RAID 中所有的成員磁盤驅動器,應該使用同一廠牌,相同型號的磁盤驅動器。
3.2.1 並行存取的基本工作原理;
假設RAID中共有四部相同規格的磁盤驅動器,分別為磁盤驅動器A、B、C和D,我們在把時間軸略分為T0、T1、T2、T3和T4:
T0: RAID控制器將第一筆數據傳送到A的Buffer,磁盤驅動器B、C和D的Buffer都是空的,在等待中
T1: RAID控制器將第二筆數據傳送到B的Buffer,A開始把Buffer中的數據寫入扇區,磁盤驅動器C和D的Buffer都是空的,在等待中
T2: RAID控制器將第三筆數據傳送到C的Buffer,B開始把Buffer中的數據寫入扇區,A已經完成寫入動作,磁盤驅動器D和A的Buffer都是空的,在等待中
T3: RAID控制器將第四筆數據傳送到D的Buffer,C開始把Buffer中的數據寫入扇區,B已經完成寫入動作,磁盤驅動器A和B的Buffer都是空的,在等待中
T4: RAID控制器將第五筆數據傳送到A的Buffer,D開始把Buffer中的數據寫入扇區,C已經完成寫入動作,磁盤驅動器B和C的Buffer都是空的,在等待中
如此一直循環,一直到把從主機來的這個I/O 指令處理完畢,RAID控制器才會受處理下一個I/O 指令。重點是在任何一個磁盤驅動器準備好把數據寫入扇區時,該目的扇區必須剛剛好轉到磁頭下。同時RAID控制器每依次傳給一個磁盤驅動器的數據長度,也必須剛剛好,配合磁盤驅動器的轉速,否則一旦發生 miss,RAID 性能就大打折扣。
3.2.2 並行存取RAID的最佳應用;
並行存取RAID之架構,以其精細的馬達控制和分布之數據傳輸,將數組中每一個磁盤驅動器的性能發揮到最大,同時充分利用Storage Bus的頻寬,因此特別適合應用在大型、數據連續的檔案存取應用,例如:
影像、視訊檔案服務器
數據倉儲系統
多媒體數據庫
電子圖書館
印前或底片輸出檔案服務器
其它大型且連續性檔案服務器
由於並行存取RAID架構之特性,RAID 控制器一次只能處理一個I/O要求,無法執行Overlapping 的多任務,因此非常不適合應用在 I/O次數頻繁、數據隨機存取、每筆數據傳輸量小的環境。同時,因為並行存取無法執行Overlapping 的多任務,因此沒有辦法"隱藏"磁盤驅動器搜尋﹝seek﹞的時間,而且在每一個I/O的第一筆數據傳輸,都要等待第一個磁盤驅動器旋轉延遲﹝rotational latency﹞,平均為旋轉半圈的時間,如果使用一萬轉的磁盤驅動器,平均就需要等待50 usec。所以機械延遲時間,是並行存取架構的最大問題。
3.3 獨立存取模式;
相對於並行存取模式,獨立存取模式並不對成員磁盤驅動器作同步轉動控制,其對每個磁盤驅動器的存取,都是獨立且沒有順序和時間間格的限制,同時每筆傳輸的數據量都比較大。因此,獨立存取模式可以盡量地利用overlapping 多任務、Tagged Command Queuing等等高階功能,來" 隱藏"上述磁盤驅動器的機械時間延遲﹝Seek 和Rotational Latency﹞。
由於獨立存取模式可以做overlapping 多任務,而且可以同時處理來自多個主機不同的I/O Requests,在多主機環境﹝如Clustering﹞,更可發揮最大的性能。
3.3.1 獨立存取RAID的最佳應用;
由於獨立存取模式可以同時接受多個I/O Requests,因此特別適合應用在數據存取頻繁、每筆數據量較小的系統。例如:
在線交易系統或電子商務應用
多使用者數據庫
ERM及MRP 系統
小文件之文件服務器
轉自中國存儲網,原文鏈接:http://www.chinastor.com/a/jishu/raid/yes.html
磁盤陣列 RAID 技術原理詳解