|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1729835
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2004/8/18 0:59 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15773
|
- [補充]別的網站看到的補充
- RAID
在電腦發展的初期,「大容量」硬碟的價格還相當高,解決資料儲存安全性問題的主要方法是使用磁帶機等設備進行備份,這種方法雖然可以保證資料的安全,但查閱和備份工作都相當繁瑣。1987年, Patterson、Gibson和Katz這三位元工程師在加州大學伯克利分校發表了題為《A Case of Redundant Array of Inexpensive Disks(廉價磁碟冗余陣列方案)》的論文,其基本思想就是將多只容量較小的、相對廉價的硬碟進行有機組合,使其效能超過一隻昂貴的大硬碟。這一設計思想很快被接受,從此RAID技術得到了廣泛應用,資料儲存進入了更快速、更安全、更廉價的新時代。
一、RAID技術規範簡介
RAID技術主要包含RAID 0~RAID 7等數個規範,它們的用途各不相同,常見的規範有如下幾種:
RAID 0:RAID 0連續以位元或位元組為單位分割資料,並行讀/寫於多個磁碟上,因此具有很高的資料傳輸率,但它沒有資料冗余,因此並 不能算是真正的RAID結構。RAID 0只是單純地提高效能,並沒有為資料的可靠性提供保證,而且其中的一個磁碟失效將影響到所有資料。因 此,RAID 0不能應用於資料安全性要求高的場合。
RAID 1:它是通過磁碟資料鏡像實現資料冗余,在成對的獨立磁碟上產生互為備份的資料。當原始資料繁忙時,可直接從鏡像拷貝中讀取 資料,因此RAID 1可以提高讀取效能。RAID 1是磁碟陣列中單位元成本最高的,但提供了很高的資料安全性和可用性。當一個磁碟失效時 ,系統可以自動切換到鏡像磁碟上讀寫,而不需要重組失效的資料。
RAID 0+1: 也被稱為RAID 10標準,實際是將RAID 0和RAID 1標準結合的產物,在連續地以位元或位元組為單位元分割資料並且並行讀/寫 多個磁碟的同時,為每一顆磁碟作磁碟鏡像進行冗余。它的優點是同時擁有RAID 0的超凡速度和RAID 1的資料高可靠性,但是CPU佔用率 同樣也更高,而且磁碟的利用率比較低。
RAID 2:將資料條顆化地分佈於不同的硬碟上,條顆單位元為位元或位元組,並使用稱為「加重平均糾錯碼」的編碼技術來提供錯誤檢查 及恢復。這種編碼技術需要多個磁碟存放檢查及恢復訊息,使得RAID 2技術實施更複雜,因此在商業環境中很少使用。
RAID 3:它同RAID 2非常類似,都是將資料條顆化分佈於不同的硬碟上,區別在於RAID 3使用簡單的奇偶校驗,並用單顆磁碟存放奇偶校 驗訊息。如果一顆磁碟失效,奇偶碟及其他資料碟可以重新產生資料;如果奇偶碟失效則不影響資料使用。RAID 3對於大量的連續資料可 提供很好的傳輸率,但對於隨機資料來說,奇偶碟會成為寫操作的瓶頸。
RAID 4:RAID 4同樣也將資料條顆化並分佈於不同的磁碟上,但條顆單位元為顆或記錄。RAID 4使用一顆磁碟作為奇偶校驗碟,每次寫操 作都需要訪問奇偶碟,這時奇偶校驗碟會成為寫操作的瓶頸,因此RAID 4在商業環境中也很少使用。
RAID 5:RAID 5不單獨指定的奇偶碟,而是在所有磁碟上交叉地存取資料及奇偶校驗訊息。在RAID 5上,讀/寫指針可同時對陣列設備進行 操作,提供了更高的資料流量。RAID 5更適合於小資料顆和隨機讀寫的資料。RAID 3與RAID 5相比,最主要的區別在於RAID 3每進行一次 資料傳輸就需涉及到所有的陣列碟;而對於RAID 5來說,大部分資料傳輸只對一顆磁碟操作,並可進行並行操作。在RAID 5中有「寫損失 」,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀舊的資料及奇偶訊息,兩次寫新的資料及奇偶訊息。
RAID 6:與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗訊息顆。兩個獨立的奇偶系統使用不同的算法,資料的可靠性非常高,即使 兩顆磁碟同時失效也不會影響資料的使用。但RAID 6需要分配給奇偶校驗訊息更大的磁碟空間,相對於RAID 5有更大的「寫損失」,因此 「寫效能」非常差。較差的效能和複雜的實施方式使得RAID 6很少得到實際應用。
RAID 7:這是一種新的RAID標準,其自身帶有智能化即時操作系統和用於儲存管理的軟體工具,可完全獨立於主機運行,不佔用主機CPU資 源。RAID 7可以看作是一種儲存電腦(Storage Computer),它與其他RAID標準有明顯區別。
除了以上的各種標準(如表1),我們可以如RAID 0+1那樣結合多種RAID規範來構築所需的RAID陣列,例如RAID 5+3(RAID 53)就是一種 應用較為廣泛的陣列形式。用戶一般可以通過靈活配置磁碟陣列來獲得更加符合其要求的磁碟儲存系統。
開始時RAID方案主要針對SCSI硬碟系統,系統成本比較昂貴。1993年,HighPoint公司推出了第一款IDE-RAID控制晶片,能夠利用相對廉價 的IDE硬碟來組建RAID系統,從而大大降低了RAID的「門檻」。從此,個人用戶也開始關注這項技術,因為硬碟是現代個人電腦中發展最為「緩慢」和最缺少安全性的設備,而用戶儲存在其中的資料卻常常遠超電腦的本身價格。在花費相對較少的情況下,RAID技術可以使個人用戶也享受到成倍的磁碟速度提升和更高的資料安全性,現在個人電腦市場上的IDE-RAID控制晶片主要出自HighPoint和Promise公司,此外還有一部分來自AMI公司。面向個人用戶的IDE-RAID晶片一般只提供了RAID 0、RAID 1和RAID 0+1(RAID 10)等RAID規範的支援,雖然它們在技術上無法與商用系統相提並論,但是對普通用戶來說其提供的速度提升和安全保證已經足夠了。隨著硬碟接口傳輸率的不斷提高,IDE-RAID晶片也不斷地改朝換代,晶片市場上的主流晶片已經全部支援ATA 100標準,而HighPoint公司新推出的HPT 372晶片和Promise最新的PDC20276晶片,甚至已經可以支援ATA133標準的IDE硬碟。
在主機板廠商競爭加劇、個人電腦用戶要求逐漸提高的今天,在主機板上內建RAID晶片的廠商已經不在少數,用戶完全可以不用購置RAID 卡,直接組建自己的磁碟陣列,感受磁碟狂飆的速度。
二、通過硬碟控制晶片實現IDE RAID的方法
在RAID家族裡,RAID 0和RAID 1在個人電腦上應用最廣泛,畢竟願意使用4顆甚至更多的硬碟來構築RAID 0+1或其他硬碟陣列的個人用戶少 之又少,因此我們在這裡僅就這兩種RAID方式進行講解。
做RAID自然少不了硬碟,RAID 0和RAID 1對磁碟的要求不一樣,RAID 1(Mirror)磁碟鏡像一般要求兩顆(或多顆)硬碟容量一致,而 RAID 0(Striping)磁碟一般沒有這個要求,當然,選用容量相似效能相近甚至完全一樣的硬碟比較理想。
三、用軟體體方法實現RAID
除了使用RAID卡或者主機板所內建的晶片實現磁碟陣列外,我們在一些操作系統中可以直接利用軟體方式實現RAID功能,例如Windows 2000/XP中就內置了RAID功能。
在瞭解Windows 2000/XP的軟體RAID功能之前,我們首先來看看Windows 2000中的一項功能——動態磁碟管理。
動態磁碟與基本磁碟相比,不再採用以前的分區方式,而是叫卷集,它的作用其實和分區相一致,但是具有以下區別:
1.可以任意更改磁碟容量
動態磁碟在不重新啟動電腦的情況下可更改磁碟容量大小,而且不會遺失資料,而基本磁碟如果要改變分區容量就會遺失全部資料(當然也有一些特殊的磁碟工具軟體可以改變分區而不會破壞資料,如PowerQuest PartitionMagic等)。
2.磁碟空間的限制
動態磁碟可被擴展到磁碟中不連續的磁碟空間,還可以創建跨磁碟的卷集,將幾個磁碟合為一個大卷集。而基本磁碟的分區必須是同一磁碟上的連續空間,分區的最大容量當然也就是磁碟的容量。
3.卷集或分區個數
動態磁碟在一個磁碟上可創建的卷集個數沒有限制,相對的基本磁碟在一個磁碟上最多只能分4個區,而且使用DOS或Windows 9X時只能分一個主分區和擴展分區。
*這裡一定要注意,動態磁碟只能在Windows NT/2000/XP系統中使用,其他的操作系統無法識別動態磁碟。
因為大部分用戶的磁碟都是基本磁碟類型,為了使用軟體RAID功能,我們必須將其轉換為動態磁碟:控制台→系統管理工具→電腦管理→磁碟管理。我們就可以透過右鍵選單將選擇磁碟轉換為動態磁碟。
在劃分動態卷時會可以看到這樣幾個類型的動態卷。
1.簡單卷:包含單一磁碟上的磁碟空間,和分區功能一樣。
(當系統中有兩個或兩個以上的動態磁碟並且兩個磁碟上都有未分配的空間時,我們能夠選擇如下的兩種分卷方式)
2.跨區卷:跨區卷將來自多個磁碟的未分配空間合併到一個邏輯卷中。
3.帶區卷:組合多個(2到32個)磁碟上的未分配空間到一個卷。
(如果如上所述系統中的兩個動態磁碟容量一致時,我們會看到另一個分區方式)
4.鏡像卷:單一卷兩份相同的拷貝,每一份在一個硬碟上。即我們常說的RAID 1。
當我們擁有三個或三個以上的動態磁碟時,我們就可以使用更加複雜的RAID方式——RAID 5,此時在分卷界面中會出現新的分卷形式。
5.RAID 5卷:相當於帶奇偶校驗的帶區卷,即RAID 5方式。
對於大部分的個人電腦用戶來說,架構RAID 0是最經濟實用的陣列形式,因此我們在這裡僅就軟體體RAID 0的架構進行講解:
要在Windows 2000/XP中使用軟體RAID 0,首先必須將準備納入陣列的磁碟轉換為上文所述的動態磁碟(這裡要注意的是,Windows2000/XP 的預設磁碟管理界面中不能轉換基本磁碟和動態磁碟),我們在這裡嘗試使用分區的條帶化,這也正是軟體RAID和使用RAID晶片架構磁碟陣列的區別。我們選取了一個29GB的分區進行劃分帶區卷,在劃分帶區卷區時,系統會要求一個對應的分區,也就是說這時其他的動態磁碟上必須要有同樣29GB或更大的未分配空間,帶區卷分配完成後,兩個同樣大小的分卷將被系統合併,此時我們的格式化等操作也 是同時在兩個磁碟上進行。
這裡應該說明的是,在Linux環境下,我們同樣可以利用Raidtools工具來實現軟體體RAID功能。這個工具可以製作軟體RAID 0、RAID 1、RAID 4、RAID 5等多種磁碟陣列。在使用Raidtools之前,首先要確定目前正在使用的Linux核心是否支援Md。如果你正在使用的核心是2.0.X,並且不是自己編譯過,大多數情況下支援軟體RAID。如果不能確定,則需要自己編譯核心。
雖然RAID功能可以給我們帶來更好的速度體驗和資料安全性,但是應該指出的是,現在市面上的大部分廉價IDE-RAID解決方案本質上仍然是「半軟體」的RAID,只是將RAID控制訊息集成在RAID晶片當中,因此其CPU佔用率比較大,而且效能並不是非常穩定。這也是在高端系統中軟體RAID 0的效能有時可以超過「硬體」RAID 0方案的原因。
對於用戶來說,高效能的IDE-RAID儲存系統,或者需要比較強勁的CPU運算能力,或者需要比較昂貴的RAID卡,因此,磁碟陣列仍然應該算是比較高端的應用。不過對於初級用戶來說,使用簡單而廉價的磁碟陣列來提高電腦資料的可用性或提升一下儲存速度也是相當不錯的選擇,當然其效能還遠不能和高端系統相比。
總之,我們看到越來越多的RAID架構出現在市場上,尤其是在中低端市場上,越來越普及的廉價IDE-RAID方案與硬碟價格的不斷下降互相照應,似乎也在預示著未來個人資料儲存的發展趨勢,讓我們拭目以待吧。
個人用戶在建立RAID即磁碟陣列的過程中,應該注意什麼問題呢?
1.問:我使用了RAID系統,但是並沒有感覺到速度有明顯的提升,這是為什麼?
答:對於RAID系統有數種標準,對於RAID 1、RAID 5等標準的磁碟陣列,主要追求資料的可靠性,所以儘管是並行儲存,但由於需要對資料進行校驗,所以它們的寫效能會受到一些影響,對於普通用戶來說,會感到速度提升並不明顯。當然,對於一些需要大量讀取的應用,它們的優勢還是比較大的。
2.問:我使用了RAID 0標準的磁碟陣列方式,我聽說這樣會導致資料非常不安全,我是不是應該使用RAID 0+1方式?
答:對於普通用戶而言,RAID 0的安全性還是可以承受的,但對於重要資料而言,RAID 0顯然是比較危險的方式,並且RAID 0陣列中的磁碟數量越多,出現問題的幾率越大。由於RAID 0使用分割資料的方式且沒有冗余,一旦某顆磁碟失效,將會對所有資料造成毀滅性的打擊,相對的,其他RAID方式均提供了冗余碟(或資料碟)用來備份或者恢複資料。因此我們建議用戶不要在RAID 0陣列中儲存重要資料或在其上安裝系統,因為進行大量臨時交換文件的儲存和交換才是RAID 0真正的優勢所在。
3.問:我有兩顆規格並不一致的硬碟,我能不能使用RAID?效果怎樣?
答:可以使用RAID 0方式,但是要注意的是,這樣架構的RAID 0,總容量將是較小的磁碟的容量 X 磁碟總數,因此可能會造成一些資源的浪費。當然電腦如果擁有比較強勁的運算能力並且使用Windows 2000/XP操作系統,使用軟體RAID就可以避免這種損失。
|
|
討論串
|