史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 系統 & 硬體安裝及故障判斷技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-04-10, 05:57 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 磁牒陣列(RAID)常見故障與技巧


RAID容錯式獨立磁碟陣列技術概述

RAID容錯式獨立磁碟陣列是冗余獨立/廉價磁牒陣列( Redundant Array of Independent/ Inexpensive Disks)的簡稱。它最早是由三個定居在加利福尼亞州
伯克利(Berkeley:美國加利福尼亞州西部城市)的工程師共同在1988年提出的。 RAID容錯式獨立磁碟陣列技術主要的目的就是提供更高的冗余量、更大的存儲容量和更強的效能--這都是相對於一個硬碟的操作系統而言的。現在的很多流行的主機板,比如 Abit KR7A-RAID容錯式獨立磁碟陣列現在就支持至少3種方式的的RAID容錯式獨立磁碟陣列( RAID容錯式獨立磁碟陣列 0、RADI 1和RAID容錯式獨立磁碟陣列 0+1),下面我們就簡單的介紹一下RAID容錯式獨立磁碟陣列中一些常用術語的意思:

陣列(array):指的是一組驅動器,數目可以是從2個到幾百個
磁牒(disk):在RAID容錯式獨立磁碟陣列中指的就是硬碟
磁牒組( disk set):採用一定RAID容錯式獨立磁碟陣列方式組合在一起的硬碟組
ECC: 錯誤校驗碼,在RAID容錯式獨立磁碟陣列技術中 XOR和 Hamming code是兩種最一般的ECC系統。
漢明碼( Hamming Code):一般用於RAID容錯式獨立磁碟陣列 2中,是一種較老的ECC系統,現在基本上被XOR校驗系統所取代了
SCSI:就是小型電腦系統接頭(Small Computer System Interface)的意思。
striping:這個詞比較難以翻譯,它指的就是把資料分成若干個資料塊然後依次存儲在多個硬碟中的程序。
XOR: Exclusive OR的簡稱,一般用於Raid 3、Raid 4和Raid 5中,利用這種技術可以修復磁牒中的資料
其實在一般套用中所使用的或者在一些資料中所提到的RAID容錯式獨立磁碟陣列模式一般有這麼幾種: RAID容錯式獨立磁碟陣列 0、 RAID容錯式獨立磁碟陣列 0+1、 RAID容錯式獨立磁碟陣列 1、 RAID容錯式獨立磁碟陣列 2、 RAID容錯式獨立磁碟陣列 3、 RAID容錯式獨立磁碟陣列 4、 RAID容錯式獨立磁碟陣列 5和 RAID容錯式獨立磁碟陣列 6。在這些套用中 RAID容錯式獨立磁碟陣列 2、 RAID容錯式獨立磁碟陣列 3和 RAID容錯式獨立磁碟陣列 4相對而言用的到機會會更小一些,所以我們只是簡單的進行一下介紹;RAID容錯式獨立磁碟陣列 0從嚴格意義上來說還不能算是真正的RAID容錯式獨立磁碟陣列模式;另外我們還會對於 RAID容錯式獨立磁碟陣列 6進行一下簡單的介紹。

RAID容錯式獨立磁碟陣列 0

在 RAID容錯式獨立磁碟陣列 0模式中,資料被分割為一定數量的資料塊(chunk)交叉寫在多個硬碟上,一般的來說在RAID容錯式獨立磁碟陣列 0系統中資料被分割的數量同RAID容錯式獨立磁碟陣列陣列所使用的硬碟的數量是有關的,比如RAID容錯式獨立磁碟陣列 0中採用了3塊硬碟,那麼資料將會被分為三分依次的寫入三個硬碟--通俗的說這種模式其實就是利用RAID容錯式獨立磁碟陣列技術讓系統認為三塊硬碟組成一個容量更大的硬碟,因為這個程序中沒有資料校驗所以這種RAID容錯式獨立磁碟陣列模式是讀寫速度最快的一種。但是由於它的這種結構也就使得這種RAID容錯式獨立磁碟陣列模式並沒有冗余性,如果一塊硬碟出現了故障,其它硬碟上的資料也都不能使用了,所以嚴格意義上來說它不是「冗余獨立磁牒陣列」的範疇。RAID容錯式獨立磁碟陣列 0模式一般用於需要快速處理資料但是對於資料的安全性要求不高的場合。

這種RAID容錯式獨立磁碟陣列模式的特點是簡單,而且並不需要複雜和昂貴的控制器。組成中RAID容錯式獨立磁碟陣列 0模式至少需要2塊硬碟,最終得到的存儲容量也是這兩塊硬碟的和。

隨機讀取效能:很好
隨機寫入效能:很好
持續讀取效能:很好
持續寫入效能:很好

優點:最快的讀寫效能,如果每塊硬碟擁有獨立的控制器效能將會更好
缺點:任何一塊硬碟故障所有的資料都會丟失,大部分的控制器都是通過軟體實現的,所以效能並不好

RAID容錯式獨立磁碟陣列 1

RAID容錯式獨立磁碟陣列 1模式是讓組成RAID容錯式獨立磁碟陣列 1模式的硬碟互為鏡像,這樣當你向硬碟中寫入資料的時候,它會在兩個硬碟上存儲相同的資料,這樣即使其中一個硬碟出現了故障,系統利用另外一個硬碟一樣可以正常執行。RAID容錯式獨立磁碟陣列 1相對於單顆硬碟來說它的資料讀取效能會更好一些,因為當一塊硬碟處於忙的狀態時,RAID容錯式獨立磁碟陣列控制器可以去讀取另一塊硬碟中同樣的資料,但是寫入資料效能不但沒有增長而且可能會有輕微的下降。當其中一塊硬碟出現故障之後,新的資料可以寫入仍然能夠正常工作的硬碟,當使用新的硬碟替換掉原來的硬碟之後,RAID容錯式獨立磁碟陣列控制器會自動的把資料拷貝了新的硬碟至少。 RAID容錯式獨立磁碟陣列 1模式的最大特點就是冗余性高,但是由於大部分的功能是利用軟體來實現的,所以它會增加處理器的負擔。這種RAID容錯式獨立磁碟陣列模式非常適合對於資料的安全性有極高要求的人。

隨機讀取效能:好
隨機寫入效能:好
持續讀取效能:一般
持續寫入效能:好

優點:資料高可靠性,易於實現,設計簡單
缺點:比 RAID容錯式獨立磁碟陣列 0相比速度較慢,特別是寫入速度,另外就是我們僅僅能使用一半的硬碟容量。

RAID容錯式獨立磁碟陣列 0+1

這種RAID容錯式獨立磁碟陣列模式其實是RAID容錯式獨立磁碟陣列 0和RAID容錯式獨立磁碟陣列 1模式的組合,這種模式至少需要4塊硬碟。其中任何兩塊組成一個RAID容錯式獨立磁碟陣列 0磁牒陣列,然後兩個RAID容錯式獨立磁碟陣列 0磁牒陣列可以看成兩個容量更大、速度更快的硬碟,它們在組成一個RAID容錯式獨立磁碟陣列 1磁牒陣列。這樣的系統在保證了較高的磁牒效能和較高的資料安全性。當然缺點也是顯然易見的就是成本較高,構造比較複雜。RAID容錯式獨立磁碟陣列 0+1在容錯效能方面僅次於RAID容錯式獨立磁碟陣列 5,一般的用於文件伺服器等方面。

隨機讀取效能:很好
隨機寫入效能:好
持續讀取效能:很好
持續寫入效能:好

優點:相對於單塊硬碟具有更高的讀寫效能,而且大大提高了資料的安全性
缺點:成本較高,至少需要4塊硬碟

RAID容錯式獨立磁碟陣列 2

RAID容錯式獨立磁碟陣列 2模式也相當的複雜,它的用於存儲資料的硬碟之間以RAID容錯式獨立磁碟陣列 0的模式來組合,另外還有專門存放漢明ECC校驗碼的硬碟,當然為了提高校驗碼資料的安全,校驗碼硬碟至少是兩個組成RAID容錯式獨立磁碟陣列 1模式。這樣即使存儲資料的其中一個硬碟損壞,RAID容錯式獨立磁碟陣列控制器可以通過漢明碼來回複數據到新的硬碟上。 RAID容錯式獨立磁碟陣列 2一般針對於大資料量操作和超級電腦套用等方面,但是並不適於普通用戶。因為要在資料存儲的程序中產生就校驗碼,所以這種磁牒陣列的效能並不高。由於各種原因這種磁牒陣列模式並沒有套用到實際的商業套用中去。因為價格不菲,當然也不會為普通用戶所接受了。

隨機讀取效能:一般

隨機寫入效能:差,主要因為所有的操作都要經過ECC運算

持續讀取效能:很好

持續寫入效能:一般


優點:資料安全性高,只要存放校驗碼的硬碟沒有故障就能恢複數據
缺點:昂貴、需要專門的硬碟存放校驗碼、效率不高、沒有商業套用的支持

RAID容錯式獨立磁碟陣列 3

同 RAID容錯式獨立磁碟陣列 2模式一樣,RAID容錯式獨立磁碟陣列 3的資料也是被分成資料塊依次存儲到多個硬碟上的。只是 RAID容錯式獨立磁碟陣列 3把資料以bit為服務機構來分割並且存儲到各個硬碟上。它的優點就是具有高速的讀寫能力,當然寫入效能因為在寫入的程序中需要產生奇偶校驗碼所以速度會受到一定的影響--它也需要一個專用的硬碟來存儲奇偶校驗碼。當其中一個存儲資料的硬碟故障之後,系統依然能夠正常執行,但是效能會收到影響,如果在更換壞硬碟之前又有一塊硬碟故障,那麼這個磁牒陣列的資料將會全部丟失,無法恢復。在這種磁牒陣列模式下,要求所有的硬碟的轉速要同步,這個要求在實際套用中難度不小。RAID容錯式獨立磁碟陣列 3至少需要3塊硬碟,其中一塊用於存放奇偶校驗碼--奇偶校驗碼是通過異或運算得到的。

這種RAID容錯式獨立磁碟陣列模式如果使用軟體控制器來實現將會明顯的影響效能,因為這中組合比較複雜,不過同RAID容錯式獨立磁碟陣列 0+1模式相比它的最少只要3個硬碟就可以實現--所以成本有所下降,總的來說這種磁牒陣列比較適合視瀕處理和編輯等方面的套用。

隨機讀取效能:好

隨機寫入效能:很差

持續讀取效能:很好

持續寫入效能:一般


優點:比較適合視瀕編輯等需要大資料量使用的場合
缺點:實現各個驅動器的轉速的同步非常的困難(目前大部分的硬碟都不支持這個功能),需要複雜的控制器

RAID容錯式獨立磁碟陣列 4

RAID容錯式獨立磁碟陣列 4模式同 RAID容錯式獨立磁碟陣列 3幾乎是一樣的,資料都是分成小的資料塊依次存儲在多個硬碟之上,奇偶校驗碼存放在獨立的奇偶校驗碟上。唯一不同的是,在資料分割上RAID容錯式獨立磁碟陣列 3是以bit為服務機構而RAID容錯式獨立磁碟陣列 4是以Byte為服務機構。這樣的可以使得RAID容錯式獨立磁碟陣列 4同RAID容錯式獨立磁碟陣列 3具有一樣的讀取速度,當然寫入效能因為需要在寫入程序中產生校驗碼並且存儲到校驗盤而受到了影響。

這種模式的最大的好處就是不需要各個硬碟之間在轉速上保持同步,這就使得控制器不需要那麼複雜。它的寫入效能是所有RAID容錯式獨立磁碟陣列模式中最差的。同RAID容錯式獨立磁碟陣列 3模式一樣,當其中一塊硬碟損壞,資料並不會丟失,如果在故障的硬碟被替換之前,第二塊硬碟也發生故障將會導致所有的資料都丟失。相對於其它的RAID容錯式獨立磁碟陣列模式,恢復故障硬碟中的資料的效率相當的低下。

這種磁牒陣列模式也是至少需要3塊硬碟才能搭建而成。奇偶校驗碼是通過異或運算來得到的。它適於一般的應用程式,包括視瀕處理等套用。它的造價也不算高,因為只要一塊硬碟作為校驗碼磁牒就可以了。

隨機讀取效能: 很好

隨機寫入效能: 一般,主要因為要像奇偶校驗磁牒寫入校驗碼

持續讀取效能: 好

持續寫入效能: 一般


優點:除了 RAID容錯式獨立磁碟陣列 3的優點之外,它並不需要同步驅動器轉速
缺點:寫入效能很差,控制器的要求較高

RAID容錯式獨立磁碟陣列 5

RAID容錯式獨立磁碟陣列並沒有專門指定一個硬碟作為存放校驗碼的磁牒,而是把校驗碼和資料一樣的對待,分成不同的塊來分別的存儲到各個磁牒上。這種設計方式明顯的提高了寫入效率並且降低了每MB字元成本。RAID容錯式獨立磁碟陣列 5的一項重要特點就是,它的資料塊的大小可以為不同的應用程式最佳化。 RAID容錯式獨立磁碟陣列 5磁牒陣列中的一款硬碟故障之後,整個磁牒陣列依然能夠正常執行--不過這個時候整個磁牒陣列的效能將會受到影響,直到用新的硬碟取代故障硬碟之後才會改善。但是如果有一塊以上的硬碟同時故障,那麼整個磁牒陣列的資料將會全部丟失。 這種模式最少需要三塊硬碟才能實現,奇偶校驗也是通過異或運算得以實現的。

RAID容錯式獨立磁碟陣列 5是截至到目前我們所介紹的幾款 RAID容錯式獨立磁碟陣列 模式中控制器設計最複雜的一種。 RAID容錯式獨立磁碟陣列 5可以套用的在大部分的嶺域中,比如多用戶和多人物環境中。目前的很多Web伺服器和其它的Internet伺服器都是採用這種形式的磁牒陣列,比如最近推出的 Quantum Snap伺服器就採用了外置式的 RAID容錯式獨立磁碟陣列 5磁牒陣列的設計。奇偶校驗一般會佔據大約33%的磁牒空間的容量,所以對於一個總容量為120GB的RAID容錯式獨立磁碟陣列 5磁牒陣列而言,可用的空間將是80GB左右。不過這種磁牒陣列模式在一般的主機板工作的RAID容錯式獨立磁碟陣列控制器中都不提供支持,比如 Abit KR7A-RAID容錯式獨立磁碟陣列主機板僅僅支持RAID容錯式獨立磁碟陣列 0、RAID容錯式獨立磁碟陣列 1、RAID容錯式獨立磁碟陣列 0+1。當然只要採用校驗碼的方式,就會一定程度上影響寫入效能,因此很多磁牒陣列廠商都在磁牒陣列中加入了寫緩衝來提高寫入效能。

隨機讀取效能: 非常好(當使用大資料塊時)

隨機寫入效能: 一般,但是優於 RAID容錯式獨立磁碟陣列 3或者 RAID容錯式獨立磁碟陣列 4

持續讀取效能: 好(當使用小資料塊時)

持續寫入效能: 一般


優點:不需要專門的校驗碼磁牒,讀取速度快,而且解決了寫入速度相對較慢的問題
缺點:寫入效能依然不盡如人意

RAID容錯式獨立磁碟陣列 6

Raid 6是RAID容錯式獨立磁碟陣列家族中的新技術,是在RAID容錯式獨立磁碟陣列 5基礎上擴展而來的。所以同 RAID容錯式獨立磁碟陣列 5一樣,資料和校驗碼都是被分成資料塊然後分別存儲到磁牒陣列的各個硬碟上。 RAID容錯式獨立磁碟陣列 6加入了一個獨立的校驗磁牒,它把分佈在各個磁牒上的校驗碼都制作備份在一起,這樣RAID容錯式獨立磁碟陣列 6磁牒陣列就允許多個磁牒同時故障,這對於資料安全要求很高的套用場合是非常的必要的。這樣搭建一個 RAID容錯式獨立磁碟陣列 6磁牒陣列最少需要4塊硬碟。但是 RAID容錯式獨立磁碟陣列 6並沒有改善 RAID容錯式獨立磁碟陣列 5寫入效能不佳的情況,寫入快取的套用僅僅能對於這個缺點進行一定程度的彌補但是並不能從根本上解決。因為RAID容錯式獨立磁碟陣列 5和RAID容錯式獨立磁碟陣列 6都可以根據應用程式來更改資料塊的大小,所以它的實際效能還會受到這個因素的影響。

在實際套用中 RAID容錯式獨立磁碟陣列 6的套用範圍並沒有其它的RAID容錯式獨立磁碟陣列模式那麼廣泛。如果實現這個功能一般需要設計更加複雜、造價更昂貴的RAID容錯式獨立磁碟陣列控制器,所以它一般也不會集成在主機板上。

隨機讀取效能: 很好(當使用大資料塊時)

隨機寫入效能: 差,因為不但要在每塊硬碟上寫入校驗資料而且要在專門的校驗硬碟上寫入教要資料

持續讀取效能: 好(當使用小資料塊時)

持續寫入效能: 一般


優點:快速的讀取效能,更高的容錯能力
缺點:很慢的寫入速度,RAID容錯式獨立磁碟陣列控制器在設計上更加伏在,成本更高

主流效能對比

RAID容錯式獨立磁碟陣列模式 需要磁牒數目 容錯能力 效能
0 N>2 無 優秀的讀寫效能
0+1 N * 2 好 優秀的讀取效能,寫入效能平均
1 N * 2 很好 讀取效能好,寫入效能平均
2 ? 好 優秀的讀寫效能(大資料塊),其它效能差
3 N + 1 平均 讀取效能好(小資料塊),寫入效能差(校驗磁牒的緣故)
4 N + 1 平均 讀取效能好(小資料塊),寫入效能受到校驗磁牒影響
5 N + 1 好 讀取效能好(小資料塊),寫入效能受到校驗磁牒影響
6 N + 2 優秀 較好的讀取效能,RAID容錯式獨立磁碟陣列控制器複雜,寫入效能差

 
熱交換和熱冗余

在RAID容錯式獨立磁碟陣列系統中一般都具有熱交換和熱冗余能力。熱交換允許在不關閉系統或者電源的前提下更換故障的硬碟,當然更換上的新硬碟也可以被系統動態的識別出來並且正確的配置和增加--這一些都不需要重新啟動電腦。這樣做的好處是勿庸置疑的,對於維護人員來說非常的簡單,而對於很多套用場合,比如Web伺服器等,用戶並不希望伺服器停機,這樣造成的損失將是不可估量的。很多 HP/Dell伺服器產品和 RAID容錯式獨立磁碟陣列磁牒陣列都具有熱交換的能力。

熱冗余一般用於不適於熱交換的場合。這種設計一般是在故障出現之前就在電腦中配置了額外的硬碟,當有的硬碟出現故障的時候,這塊冗余的就可以自動的替代故障的硬碟的位置,對於這樣的系統在系統關閉之前是不能把損壞的硬碟拔下來的。熱冗余雖然不如熱交換方便,但是總是比沒有好一些。

小結

其實磁牒陣列的種類非常的多,我們今天介紹的是部分基本的套用模式,在實際套用為了達到足夠的效能和穩定,可以把各種RAID容錯式獨立磁碟陣列模式搭配使用,當然這樣對於RAID容錯式獨立磁碟陣列控制器的要求會更高,磁牒陣列系統的成本也就更高。

伺服器所採用的RAID容錯式獨立磁碟陣列一般是關於SCSI的,所以這樣RAID容錯式獨立磁碟陣列系統的成本將會更加高昂。其實這個功能對於我們個人的套用還具有一定的距離,即使你擁有了一張整合了RAID容錯式獨立磁碟陣列控制器的主機板,也需要至少2塊硬碟(一般的要求這兩塊硬碟在容量、品牌上、轉速上都是一樣的),對於個人用戶來說這是一筆不小的開支。當然如果你有特殊的需要,比如需要假設一個個人工作站或者web伺服器,但是又不想花費太多的資金,那麼IED RAID容錯式獨立磁碟陣列還是一個不錯的選項。這裡需要提醒大家的是,一般的板載IED RAID容錯式獨立磁碟陣列的處理器佔用率較高,而我看到的相關資料中發現IED RAID容錯式獨立磁碟陣列載部分套用中還不如SCSI硬碟。

原文連接: RAID容錯式獨立磁碟陣列 Disk Arrays Primer
原文作者:Eric Bateman



磁牒陣列(Disk Array)原理
-------------------------------

1.為什麼需要磁牒陣列?

如何增加磁牒的存取(access)速度,如何防止資料因磁牒的故障而失落及如何有效的利用磁牒空間,一直是電腦專業人員和用戶的困擾;而大容量磁牒的價格非常昂貴,對用戶形成很大的負擔。磁牒陣列技術的產生一舉解決了這些問題。

過去十幾年來,CPU的處理速度增加了五十倍有多,記憶體(memory)的存取速度亦大幅增加,而資料儲存裝置--主要是磁牒(hard disk)--的存取速度只增加了三、四倍,形成電腦系統的瓶頸,拉低了電腦系統的整體性能(through put),若不能有效的提升磁牒的存取速度,CPU、記憶體及磁牒間的不平衡將使CPU及記憶體的改進形成浪費。

目前改進磁牒存取速度的的方式主要有兩種。一是磁牒快取控制(disk cache controller),它將從磁牒讀取的資料存在快取記憶體(cache memory)中以減少磁牒存取的次數,資料的讀寫都在快取記憶體中進行,大幅增加存取的速度,如要讀取的資料不在快取記憶體中,或要寫資料到磁牒時,才做磁牒的存取動作。這種方式在單工環境(single- tasking envioronment)如DOS之下,對大量資料的存取有很好的性能(量小且頻繁的存取則不然),但在多工(multi-tasking)環境之下(因為要不停的作資料交換(swapping) 的動作)或資料庫(database)的存取(因為每一記錄都很小)就不能顯示其性能。這種方式沒有任何安全保障。

其二是使用磁牒陣列的技術。磁牒陣列是把多個磁牒組成一個陣列,當作單一磁牒使用,它將資料以分段(striping)的方式儲存在不同的磁牒中,存取資料時,陣列中的相關磁牒一起動作,大幅減低資料的存取時間,同時有更佳的空間利用率。磁牒陣列所利用的不同的技術,稱為RAID level,不同的level針對不同的系統及應用,以解決資料安全
的問題。

一般高性能的磁牒陣列都是以硬體的形式來達成,進一步的把磁牒快取控制及磁牒陣列結合在一個控制器(RAID controler或控制卡上,針對不同的用戶解決人們對磁牒輸出入系統的四大要求:
(1)增加存取速度,
(2)容錯(fault tolerance),即安全性
(3)有效的利用磁牒空間;
(4)盡量的平衡CPU,記憶體及磁牒的性能差異,提高電腦的整體工作性能。

2.磁牒陣列原理

磁牒陣列中針對不同的應用使用的不同技術,稱為RAID level,RAID是Redundent Array of Inexpensive Disks的縮寫,而每一level代表一種技術,目前業界公認的標準是RAID 0~RAID 5。這個level並不代表技術的高低,level 5並不高於level 3,level 1也不低過level 4,至於要選擇那一種RAID level的產品,純視用戶的操作環境(operating environment)及應用(application)而定,與level的高低沒有必然的關係。
RAID 0及RAID 1適用於PC及PC相關的系統如小型的網路伺服器(network server)及需要高磁牒容量與快速磁牒存取的工作站等,比較便宜;RAID 3及RAID 4適用於大型電腦及影像、CAD/CAM等處理;RAID 5多用於OLTP(在線事務處理),因有金融機構及大型資料處理中心的迫切需要,故使用較多而較有名氣, RAID 2較少使用,其他如RAID 6,RAID 7,乃至RAID 10等,都是廠商各做各的,並無一致的標準,在此不作說明。介紹各個RAID level之前, 先看看形成磁牒陣列的兩個基本技術:

磁牒延伸(Disk Spanning):

譯為磁牒延伸,能確切的表示disk spanning這種技術的含義。如圖磁牒陣列控制器, 聯接了四個磁牒,這四個磁牒形成一個陣列(array),而磁牒陣列的控制器(RAID controller)是將此四個磁牒視為單一的磁牒,如DOS環境下的C:盤。這是disk spanning的意義,因為把小容量的磁牒延伸為大容量的單一磁牒,用戶不必規劃資料在各磁牒的分佈,而且提高了磁牒空間的使用率。並使磁牒容量幾乎可作無限的延伸;而各個磁牒一起作取存的動作,比單一磁牒更為快捷。很明顯的,有此陣列的形成而產生RAID的各種技術。


磁牒或資料分段(Disk Striping or Data Striping):

因為磁牒陣列是將同一陣列的多個磁牒視為單一的虛擬磁牒(virtual disk),所以其資料是以分段(block or segment)的方式順序存放在磁牒陣列中,資料按需要分段,從第一個磁牒開始放,放到最後一個磁牒再回到第一個磁牒放起,直到資料分佈完畢。至於分段的大小視系統而定,有的系統或以1KB最有效率,或以4KB,或以6KB,甚至是4MB或8MB的,但除非資料小於一個扇區(sector,即521bytes),否則其分段應是512byte的倍數。因為磁牒的讀寫是以一個扇區為單位,若資料小於512bytes,系統讀取該扇區後,還要做組合或分組(視讀或寫而定)的動作,浪費時間。從上圖我們可以看出,資料以分段於在不同的磁牒,整個陣列的各個磁牒可同時作讀寫,故資料分段使資料的存取有最好的效率,理論上本來讀一個包含四個分段的資料所需要的時間約=(磁牒的access time+資料的tranfer time)X4次,現在只要一次就可以完成。

若以N表示磁牒的數目,R表示讀取,W表示寫入,S表示可使用空間,則資料分段的性能為:
R:N(可同時讀取所有磁牒)
W:N(可同時寫入所有磁牒)
S:N(可利用所有的磁牒,並有最佳的使用率)

Disk striping也稱為RAID 0,很多人以為RAID 0沒有甚麼,其實這是非常錯誤的觀念, 因為RAID 0使磁牒的輸出入有最高的效率。而磁牒陣列有更好效率的原因除資料分段外,它可以同時執行多個輸出入的要求,因為陣列中的每一個磁牒都能獨立動作,分段放在不同的磁牒,不同的磁牒可同時作讀寫,而且能在快取記憶體及磁牒作並行存取(parallel access)的動作,但只有硬體的磁牒陣列才有此性能表現。

從上面兩點我們可以看出,disk spanning定義了RAID的基本形式,提供了一個便宜、靈活、高性能的系統結構,而disk striping解決了資料的存取效率和磁牒的利用率問題,RAID 1至RAID 5是在此基礎上提供磁牒安全的方案。

RAID 1

RAID 1是使用磁牒鏡像(disk mirroring)的技術。磁牒鏡像應用在RAID 1之前就在很多系統中使用,它的方式是在工作磁牒(working disk)之外再加一額外的備份磁牒(backup disk),兩個磁牒所儲存的資料完全一樣,資料寫入工作磁牒的同時亦寫入備份磁牒。磁牒鏡像不見得就是RAID 1,如Novell Netware亦有提供磁牒鏡像的功能,但並不表示Netware有了RAID 1的功能。一般磁牒鏡像和RAID 1有二點最大的不同:

RAID 1無工作磁牒和備份磁牒之分,多個磁牒可同時動作而有重疊(overlaping)讀取的功能,甚至不同的鏡像磁牒可同時作寫入的動作,這是一種最佳化的方式,稱為負載平衡(load-balance)。例如有多個用戶在同一時間要讀取資料,系統能同時驅動互相鏡像的磁牒,同時讀取資料,以減輕系統的負載,增加I/O的性能。

RAID 1的磁牒是以磁牒延伸的方式形成陣列,而資料是以資料分段的方式作儲存,因而在讀取時,它幾乎和RAID 0有同樣的性能。從RAID的結構就可以很清楚的看出RAID 1和一般磁牒鏡像的不同。

下圖為RAID 1,每一筆資料都儲存兩份:
從圖可以看出:
R:N(可同時讀取所有磁牒)
W:N/2(同時寫入磁牒數)
S:N/2(利用率)

讀取資料時可用到所有的磁牒,充分發揮資料分段的優點;寫入資料時,因為有備份,所以要寫入兩個磁牒,其效率是N/2,磁牒空間的使用率也只有全部磁牒的一半。

很多人以為RAID 1要加一個額外的磁牒,形成浪費而不看好RAID 1,事實上磁牒越來越便宜,並不見得造成負擔,況且RAID 1有最好的容錯(fault tolerence)能力,其效率也是除RAID 0之外最好的。

在磁牒陣列的技術上,從RAID 1到RAID 5,不停機的意思表示在工作時如發生磁牒故障, 系統能持續工作而不停頓,仍然可作磁牒的存取,正常的讀寫資料;而容錯則表示即使磁牒故障,資料仍能保持完整,可讓系統存取到正確的資料,而SCSI的磁牒陣列更可在工作中抽換磁牒,並可自動重建故障磁牒的資料。磁牒陣列之所以能做到容錯及不停機, 是因為它有冗余的磁牒空間可資利用,這也就是Redundant的意義。

RAID 2

RAID 2是把資料分散為位(bit)或塊(block),加入海明碼Hamming Code,在磁牒陣列中作間隔寫入(interleaving)到每個磁牒中,而且地址(address)都一樣,也就是在各個磁牒中,其資料都在相同的磁道(cylinder or track)及扇區中。RAID 2的設計是使用共軸同步(spindle synchronize)的技術,存取資料時,整個磁牒陣列一起動作,在各作磁
盤的相同位置作平行存取,所以有最好的存取時間(accesstime),其總線(bus)是特別的設計,以大帶寬(band wide)並行傳輸所存取的資料,所以有最好的傳輸時間(transfer time)。在大型檔案的存取應用,RAID 2有最好的性能,但如果檔案太小,會將其性能拉下來,因為磁牒的存取是以扇區為單位,而RAID 2的存取是所有磁牒平行動作,而且是作
單位元的存取,故小於一個扇區的資料量會使其性能大打折扣。RAID 2是設計給需要連續且大量資料的電腦使用的,如大型電腦(mainframe to supercomputer)、作影像處理或CAD/CAM的工作站(workstation)等,並不適用於一般的多用戶環境、網路伺服器 (network server),小型機或PC。

RAID 2的安全採用記憶體陣列(memory array)的技術,使用多個額外的磁牒作單位錯誤校正(single-bit correction)及雙位錯誤檢測(double-bit detection);至於需要多少個額外的磁牒,則視其所採用的方法及結構而定,例如八個資料磁牒的陣列可能需要三個額外的磁牒,有三十二個資料磁牒的高階陣列可能需要七個額外的磁牒。


RAID 3

RAID 3的資料儲存及存取方式都和RAID 2一樣,但在安全方面以奇偶校驗(parity check)取代海明碼做錯誤校正及檢測,所以只需要一個額外的校檢磁牒(parity disk)。奇偶校驗值的計算是以各個磁牒的相對應位作XOR的邏輯運算,然後將結果寫入奇偶校驗磁牒,任何資料的修改都要做奇偶校驗計算,

如某一磁牒故障,換上新的磁牒後,整個磁牒陣列(包括奇偶校驗磁牒)需重新計算一次, 將故障磁牒的資料恢復並寫入新磁牒中;如奇偶校驗磁牒故障,則重新計算奇偶校驗值, 以達容錯的要求.

較之RAID 1及RAID 2,RAID 3有85%的磁牒空間利用率,其性能比RAID 2稍差,因為要做奇偶校驗計算;共軸同步的平行存取在讀檔案時有很好的性能,但在寫入時較慢,需要重新計算及修改奇偶校驗磁牒的內容。RAID 3和RAID 2有同樣的應用方式,適用大檔案及大量資料輸出入的應用,並不適用於PC及網路伺服器。

RAID 4

RAID 4也使用一個校驗磁牒,但和RAID 3不一樣

RAID 4是以扇區作資料分段,各磁牒相同位置的分段形成一個校驗磁牒分段(parity block),放在校驗磁牒。這種方式可在不同的磁牒平行執行不同的讀取命今,大幅提高磁牒陣列的讀取性能;但寫入資料時,因受限於校驗磁牒,同一時間只能作一次,啟動所有磁牒讀取資料形成同一校驗分段的所有資料分段,與要寫入的資料做好校驗計算再寫入。即使如此,小型檔案的寫入仍然比RAID 3要快,因其校驗計算較簡單而非作位(bit level)的計算;但校驗磁牒形成RAID 4的瓶頸,降低了性能,因有RAID 5而使得RAID 4較少使用。

RAID 5
RAID5避免了RAID 4的瓶頸,方法是不用校驗磁牒而將校驗資料以循環的方式放在每一個磁牒中,

磁牒陣列的第一個磁牒分段是校驗值,第二個磁牒至後一個磁牒再折回第一個磁牒的分段是資料,然後第二個磁牒的分段是校驗值,從第三個磁牒再折回第二個磁牒的分段是資料,以此類推,直到放完為止。圖中的第一個parity block是由A0,A1...,B1,B2計算出來,第二個parity block是由B3,B4,...,C4,D0計算出來,也就是校驗值是由各磁牒
同一位置的分段的資料所計算出來。這種方式能大幅增加小檔案的存取性能,不但可同時讀取,甚至有可能同時執行多個寫入的動作,如可寫入資料到磁牒1而其parity block在磁牒2,同時寫入資料到磁牒4而其parity block在磁牒1,這對聯機交易處理 (OLTP,On-Line Transaction Processing)如銀行系統、金融、股市等或大型資料庫的
處理提供了最佳的解決方案(solution),因為這些應用的每一筆資料量小,磁牒輸出入頻繁而且必須容錯。

事實上RAID 5的性能並無如此理想,因為任何資料的修改,都要把同一parityblock的所有資料讀出來修改後,做完校驗計算再寫回去,也就是RMW cycle(Read-Modify-Write cycle,這個cycle沒有包括校驗計算);正因為牽一而動全身,所以:
R:N(可同時讀取所有磁牒)
W:1(可同時寫入磁牒數)
S:N-1(利用率)

RAID 5的控制比較複雜,尤其是利用硬體對磁牒陣列的控制,因為這種方式的應用比其他的RAID level要掌握更多的事情,有更多的輸出入需求,既要速度快,又要處理資料,計算校驗值,做錯誤校正等,所以價格較高;其應用最好是OLTP,至於用於圖像處理等, 不見得有最佳的性能。

2.磁牒陣列的額外容錯功能:Spare or Standby driver

事實上容錯功能已成為磁牒陣列最受青睞的特性,為了加強容錯的功能以及使系統在磁牒故障的情況下能迅速的重建資料,以維持系統的性能,一般的磁牒陣列系統都可使用熱備份(hot spare or hot standby driver)的功能,所謂熱備份是在建立(configure) 磁牒陣列系統的時候,將其中一磁牒指定為後備磁牒,此一磁牒在平常並不操作,但若陣列中某一磁牒發生故障時,磁牒陣列即以後備磁牒取代故障磁牒,並自動將故障磁牒的資料重建(rebuild)在後備磁牒之上,因為反應快速,加上快取記憶體減少了磁牒的存取, 所以資料重建很快即可完成,對系統的性能影響很小。對於要求不停機的大型資料處理中心或控制中心而言,熱備份更是一項重要的功能,因為可避免晚間或無人值守時發生磁牒故障所引起的種種不便。

另一個額外的容錯功能是壞扇區轉移(bad sector reassignment)。壞扇區是磁牒故障的主要原因,通常磁牒在讀寫時發生壞扇區的情況即表示此磁牒故障,不能再作讀寫,甚至有很多系統會因為不能完成讀寫的動作而當機,但若因為某一扇區的損壞而使工作不能完成或要更換磁牒,則使得系統性能大打折扣,而系統的維護成本也未免太高了。壞扇區轉移是當磁牒陣列系統發現磁牒有壞扇區時,以另一空白且無故障的扇區取代該扇區, 以延長磁牒的使用壽命,減少壞磁牒的發生率以及系統的維護成本。所以壞扇區轉移功能使磁牒陣列具有更好的容錯性,同時使整個系統有最好的成本效益比。其他如可外接電池備援磁牒陣列的快取記憶體,以避免突然斷電時資料尚未寫回磁牒而損失;或在RAID 1時作寫入一致性的檢查等,雖是小技術,但亦不可忽視。


3.硬體磁牒陣列還是軟體磁牒陣列

市面上有所謂硬體磁牒陣列與軟體磁牒陣列之分,因為軟體磁牒陣列是使用一塊SCSI卡與磁牒連接,一般用戶誤以為是硬體磁牒陣列。以上所述主要是針對硬體磁牒陣列,其與軟體磁牒陣列有幾個最大的區別:

l 一個完整的磁牒陣列硬體與系統相接。
l 內裝CPU,與主機並行運作,所有的I/O都在磁牒陣列中完成,減輕主機的工作負載, 增加系統整體性能。
l 有卓越的總線主控(bus mastering)及DMA(Direct Memory Access)能力,加速資料的存取及傳輸性能。
l 與快取記憶體結合在一起,不但增加資料的存取及傳輸性能,更因減少對磁牒的存取而增加磁牒的壽命。
l 能充份利用硬體的特性,反應快速。

軟體磁牒陣列是一個程序,在主機執行,透過一塊SCSI卡與磁牒相接形成陣列,它最大的優點是便宜,因為沒有硬體成本(包括研發、生產、維護等),而SCSI卡很便宜(亦有的軟體磁牒陣列使用指定的很貴的SCSI卡);它最大的缺點是使主機多了很多工作(process),增加了主機的負擔,尤其是輸出入需求量大的系統。目前市面上的磁牒陣列
系統大部份是硬體磁牒陣列,軟體磁牒陣列較少。


4.磁牒陣列卡還是磁牒陣列控制器

磁牒陣列控制卡一般用於小系統,供單機使用。與主機共用電源,在關閉主機電源時存在丟失快取中的資料的的危險。磁牒陣列控制卡只有常用總線方式的接頭,其驅動程序與主機、主機所用的操作系統都有關係,有軟、硬體相容性問題並潛在地增加了系統的不安定因素。在更換磁牒陣列卡時要冒磁牒損壞,資料失落,隨時停機的風險。

獨立式磁牒陣列控制一般用於較大型系統,可分為兩種:
單通道磁牒陣列和多通道式磁牒陣列,單通道磁牒陣列只能接一台主機,有很大的擴充限制。多通道磁牒陣列可接多個系統同時使用,以群集(cluster)的方式共用磁牒陣列,這使內接式陣列控制及單接式磁牒陣列無用武之地。目前多數獨立形式的磁牒陣列子系統,其本身與主機系統的硬體及操作環境?
--


首先,IDE的性能不會比SCSI更高的。特別是在多任務的情況下。一般廣告給出的是
最大傳送速度,並不是工作速度。同一時期的IDE與SCSI盤相比,主要是產量比較大,
電路比較簡單,所以價格比SCSI低很多,但要比性能,則差遠了。

RAID並沒有限制使用多少個盤,應時盤越多越好。
對於SCSI結構的RAID來說,盤的最大數量與SCSI通道(SCSI總線)的數量有關一般是每個通道最多裝15個盤(SCSI/3)對於FC-AL(光纖)則是每個通道200個盤當然,要有這樣大的磁牒箱才行!






現在選擇IDE磁牒陣列卡(IDE RAID卡)來確保資料安全的人越來越多,如何正確使用IDE RAID卡也是個學問。下面我們就以採用HPT370A/372控制晶片的Rocket100 RAID卡為例來給大家做些講解常見故障與技巧。

  安裝需知

  先找一個空閒的PCI插槽將該卡插進去並將硬碟用硬碟線和該卡安裝連接好,安裝完適配卡後,在啟動電腦的過程中,你會看到該適配卡已成功安裝並被系統識別。而在系統開機時,其控制器的BIOS會顯示硬碟狀態的信息,按CTRL+H即可進入結構非常清楚的設置功能表,在這裡你可以設定磁牒陣列:兩個硬碟可以選擇條帶模式(RAID 0)和鏡像模式(RAID 1),有三塊硬碟的話只能選跨越擴充或條帶模式,而四塊就可以選跨越模式、條帶模式或條帶結合鏡像模式(RAID 0+1),而選用RAID 1的話硬碟必須進行同步化。

  常見安裝故障排除

  當Rocket100 RAID卡被識別後,板上BIOS開始檢測連接設備。請注意螢幕上出現的設備,如果所連接設備全部被正確掃瞄出,則說明設備已正確連接並被系統識別,再安裝好驅動之後你即可使用RAID功能了。而如果其中有的設備沒有被識別出,你可開啟機箱,將所連接設備的電源線是否插牢,必要時換一個電源插頭試一試;所連接設備的資料線是否正確連接並已插牢,必要時換一根資料線試一試;如果一根資料線上接有兩個設備,請確認這兩個設備的主從跳線是否設置衝突(一根資料線上的兩個設備必須為一主一從)。

  硬碟容量的選擇

  考慮到系統的操作性能及磁牒的利用率,我們建議你最好使同樣容量的硬碟。但你如果一定要用不同容量的磁牒,需要注意的是整個陣列的容量要由該陣列中最小容量的硬碟決定,例如在由3個磁牒組成的RAID 0陣列中,總容量等於最小磁牒的容量的3倍。在RAID 1陣列中,目標盤的容量不能小於源盤的容量。該陣列的總容量就等於最小磁牒的容量。但是JBOD是個例外,兩個或更多的不同容量的硬碟可以組合起來,形成一個邏輯單盤。

  BIOS設置須知

  IDE RAID卡是即插即用設備,所以,你不必改變系統CMOS。系統會自動指出中斷及端口的地址。而在CMOS設置中將所有設備處於none或unstalled狀態時,即可將IDE RAID卡設為啟動卡;或將SCSI設備調為啟動序列的第1位,也可將RAID卡設為啟動卡。

  RAID損壞了怎麼辦

  如果一個RAID級別被破壞了,可以按以下操作進行檢查:先電腦關機的電源,檢查硬碟電源的連接,以及資料線是否與硬碟和RAID控制卡連接正常再重新開機;如果以上操作仍不能解決問題,可能是硬碟的問題,對於RAID 1和RAID 0+1,可以用一個新的硬碟將已經被破壞的硬碟上的資料進行備份,所有的資料都不會丟失的。對於RAID 0和JBOD,必須先刪除原有的RAID級別,再進去行RAID新增,但要注意,此動作會使硬碟的所有資料丟失,所以,對RAID 0和JBOD,請務必經常對資料進行備份。
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
舊 2003-04-18, 02:02 AM   #2 (permalink)
w_dfbb
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

謝謝你,之前曾看過有網友討論過,但也都僅限於問題與效能的提問,如此深闢的介紹,倒是正合我意。
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
舊 2003-05-20, 10:20 AM   #3 (permalink)
a6566
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

好實用的文章
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
舊 2003-05-20, 08:59 PM   #4 (permalink)
jiajia
榮譽勳章

勳章總數
UID -
在線等級:
文章: n/a
精華:
預設

3q3q
 
送花文章: 0, 收花文章: 0 篇, 收花: 0 次
舊 2003-05-22, 04:14 PM   #5 (permalink)
註冊會員
榮譽勳章
UID - 70713
在線等級: 級別:9 | 在線時長:122小時 | 升級還需:18小時級別:9 | 在線時長:122小時 | 升級還需:18小時級別:9 | 在線時長:122小時 | 升級還需:18小時級別:9 | 在線時長:122小時 | 升級還需:18小時
註冊日期: 2003-05-21
VIP期限: 2011-04
文章: 192
精華: 0
現金: 91 金幣
資產: 114429 金幣
預設

感謝大大
waltertwtp 目前離線  
送花文章: 306, 收花文章: 3 篇, 收花: 3 次
舊 2004-08-22, 09:39 AM   #6 (permalink)
non 帥哥
長老會員
榮譽勳章
UID - 17047
在線等級: 級別:35 | 在線時長:1377小時 | 升級還需:63小時級別:35 | 在線時長:1377小時 | 升級還需:63小時級別:35 | 在線時長:1377小時 | 升級還需:63小時級別:35 | 在線時長:1377小時 | 升級還需:63小時級別:35 | 在線時長:1377小時 | 升級還需:63小時級別:35 | 在線時長:1377小時 | 升級還需:63小時級別:35 | 在線時長:1377小時 | 升級還需:63小時級別:35 | 在線時長:1377小時 | 升級還需:63小時級別:35 | 在線時長:1377小時 | 升級還需:63小時級別:35 | 在線時長:1377小時 | 升級還需:63小時
註冊日期: 2002-12-24
住址: 蘭亭序始
文章: 1086
現金: 3902 金幣
資產: 1577855 金幣
預設

相關網址,內有RAID o,1,2,3,4,5,6,7,10(RAID 0+10),30,50,53,1.5 的附圖說明,蠻清楚的
从RAID说起-RAID 1.5性能揭密!
__________________
大千海水尚可量 十方虛空猶可涉 諸眾生心尚可同 世尊功德不可盡
諸佛世尊有 百四十 不共佛法

以彼彼諸名 詮彼彼諸法 此中無有彼 是諸法法性
odysee | Buddha-img | 如何得觀音菩薩感應
non 目前離線  
送花文章: 1464, 收花文章: 571 篇, 收花: 1649 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 10:21 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1