TShopping

 找回密碼
 註冊
搜索
查看: 1264|回復: 1

[WIN XP] SATA RAID完全攻略

[複製鏈接]
發表於 2008-7-30 10:29:04 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 
============================================================================================
RAID是什麼?

所謂的「RAID」,是「Redundant Array of Independent Disks 」的縮寫,也就是「獨立磁碟備援陣列」的意思。也有人將它說成「Redundant Array of Inexpensive Drives」﹙低價硬碟備援陣列﹚,當初RAID技術發表時用的是這個全名,不過現在則是前者的說法較多人採用。

其中「Redundant」是「過多、多餘」的意思,要組成一部磁碟機通常只需一顆硬碟,甚至一顆硬碟還能分割成許多磁碟區。但是在組RAID磁碟機時,要用上的硬碟比一顆還要「多」,也就是要用上2顆以上的硬碟。

因此RAID在實體上是多顆硬碟,在系統中被當作一顆硬碟使用,而在作業系統底下,也還是可以將它分割為單一或多個分割區。因此建立好的RAID,使用起來跟單一硬碟是完全相同的,只是依組成方式的不同,RAID可以提供更大的容量、更高的讀寫效能,或是額外的「安全性」。﹙這裡所說的「安全性」,是指硬碟損毀之後資料重建、回復的能力,與加密防駭等功能無關﹚

而且RAID的「容量、速度、安全性」加成之後的CP值,能夠遠遠高於相同效能表現的超高階硬碟,這才是許多玩家樂於採用的主因。RAID的組成方式很多,在進入我們的測試之前,先帶大家看看RAID的各種類別。

JBOD (Just Bunch of Disks)
這種組成方式嚴格來說不算RAID,因為它的功能就跟它的全名一樣,「只是將多顆磁碟湊在一起」, 當作一顆超大硬碟來用。假設是4顆250GB的大硬碟,在JBOD模式下就成了一顆1TB﹙=1000GB﹚的超高容量硬碟,但是除了容量提升之外,它的速度還是跟單一硬碟相同,也沒有額外的安全性。

RAID 0 (Striped)
這是最簡單也最猛的一種磁碟陣列,它的功能是在資料寫入時,將資料分割成幾個小區塊,分別存到各顆硬碟裡,因此可以提升寫入速度。當需要讀取時,再分別由所有硬碟裡將小區塊抓出來,所以也有較高的讀取速度。

但它的缺點是只要其中一顆硬碟壞掉,或只是小小的出點問題,都可能因為一小部分資料的不完整,就造成整個磁碟陣列無法正常讀取,全部的資料就這樣毀於一旦,完全沒有安全性可言。儘管如此,RAID 0存取效能隨著組成硬碟數目增加而提升的特性,對於「效能至上」的玩家們還是有不小的吸引力。

RAID 1 (Mirrored)
這種磁碟陣列是將單一磁碟作「鏡射」(Mirror)的動作,也就是資料寫入時將相同的資料同時丟進兩顆硬碟,確保所有的資料都隨時存在另一個備份。因為對單一硬碟寫入的資料量不變,所以寫入速度跟非RAID磁碟機沒有差別,不過在讀取時能同時由兩顆硬碟抓取資料,所以速度還是有所提升。

RAID 10 / 01 (Striped & Mirrored)
這是將RAID 0與RAID 1的架構作結合用的磁碟陣列,10與01的差別僅是先鏡射再分割資料,或是先分割再將資料鏡射到兩組硬碟,但功能是相同的,而且都需由4顆硬碟組成。這種組法同時具備效能提升與資料備份的優點,只要不是「同組鏡射」的兩顆硬碟同時毀損,資料都可以救得回來。

RAID 2.3.4
這幾種RAID一直都沒有成為主流,也很少有硬體支援這幾種組法。它們都是由RAID 0改良而來,RAID 2是以位元為單位將資料分割寫入,並加入位元檢查用的錯誤修正碼(ECC),並以「漢明碼」來作資料編碼,單一磁碟毀損時可以藉此將故障硬碟的所有資料還原回來。

RAID 3則是改用的方式作資料編碼,並獨立使用一顆硬碟來存放同位檢查用的資料。而RAID 4同樣是以「同位元檢查」編碼、獨立硬碟存放檢查碼,但是資料的分割改回用資料區塊為單位。這兩種方式都至少需要3顆硬碟。

RAID 5 (Parity RAID)
RAID 5是由RAID 2.3.4改良而來,終於成為比較普及的一種架構。 它先將原始資料與同位檢查位元作組合,再以位元為單位分散存放在所有硬碟中,因此不需多用一部硬碟來存放檢查碼。

但RAID 5實際上仍需一顆硬碟的容量來存放同位檢查碼,所以RAID整體的可用容量會等於總容量減去單顆硬碟容量,只是這個浪費的空間是分散在各顆硬碟中。

RAID 5因為是分散的存取架構,因此效能提升明顯,而且任何一顆硬碟毀損,都還可以救得回來。 雖有浪費一顆硬碟容量的缺點,但是跟RAID 10 / 01一半的容量浪費相比,RAID 5單顆容量換得的安全性可說是相當划算。
各種RAID架構比較表

RAID方案
硬碟數
可用容量
效能
安全性
主要應用
JBOD
大於2
全部
不變
幾乎等於0
容量至上
RAID 0
大於2
全部
最高
危險
追求效能的狂熱玩家
RAID 1
2
總容量的50%
稍有提升
最高
完全不能出錯的資料備份
RAID 0+1
4以上的偶數
總容量的50%
極高
同時需要備份和效能,且預算無上限
RAID 5
3以上
N-1顆
讀快寫慢
同RAID 0+1但預算限制


==========================================================================
出處:http://taiwan.cnet.com/cnetlife/digilife/0,2000079913,20102159-2,00.htm

最脆弱的RAID 0RAID 0不提供備援功能,因此即使它的效能表現突出,卻同時是最脆弱的一種RAID模式,任何一顆硬碟出狀況,整個系統就將毀於一旦。
由於RAID 0的架構是將資料分割成幾個小區塊,同時對所有硬碟作讀取、寫入的動作,因此讀寫效能都相當高。但只要其中任何一顆硬碟壞掉,馬上就會造成整個磁碟陣列無法正常讀取,也無法將資料重建回來了。

考慮同樣使用兩顆﹙或更多﹚硬碟的情境,在單碟模式運作下,兩顆硬碟其中之一出問題,完全不會影響存放在另一顆硬碟上的資料。而RAID 0就不是這樣了,如果將每顆硬碟的毀損機率視為相同,RAID 0出問題的機率將隨使用的硬碟數量而倍增。


備援功能測試

在這邊我們以兩顆硬碟組成的RAID 0作例子,正常狀態下開機切進RAID BIOS後,可以看到如下圖的顯示資訊(依RAID控制器不同畫面會有差異),透過這裡提供的資訊,能讓我們掌握RAID的設定與健康情形。

最主要的RAID資訊顯示在RAID Volumes﹙陣列卷冊﹚,Name是我們建立RAID時自行賦予的名稱,為了方便辨別,我們將「RAID 0模式、使用硬碟(Disk)2顆 」的陣列命名為「R0D2」。


在RAID BIOS中檢視陣列狀態
Level顯示的是RAID模式,Strip是資料區塊分割的大小,Size是陣列的可用容量,Status是陣列系統的狀態,用來顯示陣列的「健康情形」,最後的Bootable則標示這個陣列是否為「可開機硬碟」。下方的Physical Disks﹙實體磁碟﹚列出連接在該RAID控制器上的所有實體硬碟。
Status為「Normal」的狀態表示陣列系統健康良好,可供正常使用。進入主機板的BIOS後,在設定開機硬碟順序的選單中,也可以見到我們建立的RAID 0陣列--「Intel R0D2」。

在BIOS開機選單中被視為單顆SCSI硬碟
如果有在作業系統中安裝Intel的RAID控制程式--Matrix Storage Console,也能Windows下檢視RAID的狀態,相關資訊跟在RAID BIOS中差不多。

Intel的RAID控制程式
我們不可能真的把一顆硬碟「弄壞」來作示範,所以直接將其中一顆硬碟的SATA排線拔掉來模擬這樣的狀況。開機之後在RAID BIOS的載入畫面中,陣列的狀態亮起了紅燈,「Failed」表示這個陣列已經失去了作用,既無法開機也不能重建了。

只要缺少一部硬碟,陣列卷冊就「Failed」(失效)了

嘗試開機可能出現的錯誤訊息1


嘗試開機可能出現的錯誤訊息2

================================================================================
RAID 1的相互備援RAID 1的鏡射架構等於時時都在做硬碟備份,以確保所有的資料都隨時存在兩顆硬碟中。所以兩顆硬碟視互為備援的關係,任何一顆硬碟毀損時,剩下的單顆硬碟仍可以正常開機。

使用RAID 1陣列模式時,寫入速度跟非RAID磁碟機沒有差別(或稍弱一些)。然而讀取時RAID 1能同時由兩顆硬碟抓取資料,所以整體效能還是稍有提升。在上次的測試中,我們也證實了這樣的效果,但這樣的效果,必須用一整顆硬碟的容量浪費來換取。


備援功能測試

標準的RAID 1是由兩顆硬碟組成,照我們的命名原則將「RAID 1模式、使用硬碟(Disk)2顆 」的陣列命名為「R1D2」,因為不需分割寫入資料,所以Strip項目顯示為N/A,而它的可用容量只有單顆硬碟的大小。

健康良好的RAID 1狀態

我們同樣將其中一條排線拔除,來模擬單顆硬碟毀損的狀況。重新開機後,在RAID BIOS載入畫面中,陣列的狀態亮起了黃燈,「Degraded」表示陣列中有成員硬碟損毀或遺失,因此「效能降低」而必須進行RAID重建的動作。

缺少一顆硬碟的RAID 1,狀態顯示為「效能降低」

如果不理會這樣的訊息,系統依然可以正常開機,進入Windows後也可以正常存取所有資料,絲毫不受單顆硬碟毀損的影響,這便是RAID備援功能的作用之一。

仍然可以正常開機

雖說少了一顆硬碟的RAID 1仍然可以正常運作,但如果兩顆硬碟是同廠牌、同型號、同批號,在完全相同的使用頻率下,其中一顆硬碟掛了,通常表示另一顆可能也是「大限將至」了。此時若沒有事先準備的「備援」硬碟可供更換,最好也要趕緊用其他設備將系統備份起來。

進入Windows後馬上出現警示文字

RAID系統的重建,在RAID BIOS或作業系統中都可以進行設定,但實際的重建動作都要在作業系統裡面進行。以RAID BIOS中的操作為例,當我們換上另一顆硬碟並重新開機後,系統就可以抓到新硬碟並建議進行重建。

選擇用來重建RAID的硬碟

注意此時RAID的狀態標示已經由「Degraded」變為「Rebuild」,表示RAID正處於「重建中」的狀態。整個重建過程其實也沒什麼必須設定的,開機後系統就會將資料鏡射到新硬碟中,重建工作是在背景中執行,並不會干擾正常的作業。

RAID狀態顯示為「重建中」

我們也可以事先安裝一顆「備援」專用硬碟,這顆硬碟平時是閒置的,但只要任何一顆硬碟出了毛病,系統就會自動將備援硬碟補上,並開始重建RAID系統。這樣的應用方式通常只在企業主機上看得到,對一般使用者來說,組RAID 1犧牲一顆硬碟容量已經夠浪費了,還要多準備一顆當備援,更是不太容易做到的事。

=======================================================================================
生命力超強的RAID 10RAID 10結合RAID 1與RAID 0的特色,同時採用分散與鏡射兩種架構來寫入資料,不僅可以提升存取效能,並允許「最多」兩顆硬碟毀損時,系統仍可正常運作。

在單顆硬碟毀損的情況下,系統100%不會有問題,一定可以維持運作。如果兩顆硬碟同時故障,那就不一定了,必須要是「非同組鏡射」的兩顆硬碟同時毀損,資料才救得回來。

假設原始資料是「AB」,RAID 10寫入時先將資料分為A跟B,再分別鏡射為A1、A2與B1、B2,英文字母相同的資料是完全相同的。所以在兩顆硬碟故障的狀況,只要不是含有A資料的A1、A2同時故障,或是含有B資料的B1、B2同時故障,都還可以將原始的「AB」讀回來。

像是A1+B1、A1+B2、A2+B1、A2+B2的故障組合,因為都不是「同組鏡射」的硬碟,RAID 10仍可「大難不死」,系統完全失效的機率比RAID 1更低。

然而RAID 10一項最大缺點,就是一次最少要用上4顆硬碟,而且也要浪費一半的總容量,也就是最少有2顆硬碟的容量無法使用到,是單位容量成本最高的一種RAID模式。


備援功能測試

RAID 10是由4顆以上的硬碟組成,且硬碟總數需為偶數。在使用4顆硬碟的情況下,馬上就有2顆硬碟的容量被浪費掉了。

RAID 10用去四顆硬碟,可用容量卻只有兩顆的大小


Intel RAID控制程式中的RAID 10組成狀態

我們將其中一顆硬碟的排線拔掉,RAID的狀態顯示「效能降低」,仍可正常開機運作。如果運氣不要太差,剛好拔到同組鏡射的兩顆硬碟,通常也會是「效能降低」的黃燈狀態,要完全把RAID 10搞掛掉並不容易。

缺少一顆硬碟的情形


缺少兩顆硬碟也沒關係

雖說RAID 10的生命力超強,但跟RAID 1的道理一樣,所有硬碟的使用頻率相同,只要其中一顆硬碟掛了,通常表示其他成員硬碟可能也活不久了,必須儘早做RAID重建或備分。

補上硬碟就能將RAID重建回來

只剩下兩顆硬碟還能運作的RAID 10,其實就像被打回無備援功能的RAID 0架構 ,只要任一硬碟再故障,所有資料還是無法救回來的。

只剩一顆硬碟的RAID 10,變成了失效的狀態


===============================================================================
最具效益的RAID 5備援RAID 5使用一顆硬碟的容量來存放同位檢查碼,以提供陣列重建的功能,所以無論用幾顆硬碟組成,它都能在單顆硬碟損毀時,利用其他硬碟上存放的同位資料來重建系統。

在多顆硬碟的RAID應用中,RAID 5所提升的成本效益會更加明顯,跟RAID 10 / 01一半的容量浪費相比,RAID 5只花單顆容量就能換得同樣的備援性能。


備援功能測試

RAID 5最少要用3顆以上的硬碟組成,且沒有偶數硬碟的限制,無論使用幾顆硬碟,都只會缺少單顆容量。

完整的RAID 5狀態

跟其他有備援功能的RAID模式相同,如果只是黃燈的「Degraded」的效能降低狀態,系統仍可正常開機運作,完全不必擔心因硬碟故障而造成作業中斷。

RAID 5缺少單顆硬碟仍可運作


缺少一顆硬碟的情形

如果要重建RAID 5,同樣可以在RAID BIOS或作業系統裡操作。以作業系統中的RAID控制程式為例,我們將一顆狀態良好,而且容量大於或等於故障硬碟的新硬碟裝上,並將這顆新硬碟標示為「備援」,系統就會自動將它用來恢復原本的磁碟陣列。

將替換的硬碟標示為「備援」


清除新硬碟資料的提示訊息

在Intel RAID控制程式中,可以查看RAID的重建狀態與進度,RAID 5的重建速度會比RAID 1、RAID 10慢一些,但同樣都是在背景執行,也都不會干擾到正常作業的繼續進行。

RAID 5陣列會在背景作業中慢慢重建回來


==========================================================================================
結論具「備援功能」磁碟陣列的挑選重點,在於您準備花多少成本、買多少顆硬碟來組成RAID,在硬碟數固定的情況下,各種選擇方案就變得單純許多了。


具「備援功能」磁碟陣列的選擇方案:

「2顆硬碟」-- 沒什麼好挑的,只有RAID 1一種可用。﹙另類選擇,不怕麻煩的話,可以只使用單顆主硬碟,另一顆用來每天備份主硬碟﹚

「3顆硬碟」-- 同樣沒得挑,只有RAID 5可以選用。 ﹙另類選擇,不在乎犧牲容量的話,可以用兩顆組RAID 1,另一顆設定為備援使用﹚

「4顆硬碟」--有RAID 5與RAID 10可以選擇,重視效能與容量請選RAID 5,重視資料安全就選「RAID 10」。﹙另類選擇,用三顆組RAID 5,另一顆設定為備援使用﹚


磁碟陣列的「備援功能」特點:

1. 硬碟裡的資料不會只因單顆硬碟故障,就隨之完全消失殆盡。

2. 系統運作中,若單顆硬碟發生毀損,剩下的硬碟仍可維持系統運作。

3. 配合SATA的「熱拔插」功能,不需關機就可更換損壞的硬碟。

4. 事先安裝的備援硬碟,可以在成員硬碟故障時自動補上,並立刻進行重建。

5. 即使不立即換上新硬碟系統仍可正常運作,但整組RAID失效的風險已提高不少。

6. RAID重建的動作在背景執行,不會影響到其他程式的使用。

7. 備援功能無法防止中毒或誤刪資料,將硬碟資料另外作備份仍有其必要性。


RAID超級比一比(2~4顆硬碟):
 
成本
%
效能
%
容量
%
效能/成本
%
效能/成本(增加)
%
容量/成本
%
可允許故障
硬碟數
單顆
100
100
100
100
n/a
100
0
RAID 0 (x2)
200
188
200
94
88
100
0
RAID 1 (x2)
200
102
100
51
2
50
1
RAID 0 (x3)
300
266
300
89
83
100
0
RAID 5 (x3)
300
150
200
50
25
67
1
RAID 0 (x4)
400
348
400
87
83
100
0
RAID 10 (x4)
400
179
200
45
26
50
1 or 2
RAID 5 (x4)
400
228
300
57
43
75
1

 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2016-12-6 12:50 , Processed in 0.058001 second(s), 18 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表