close

RAID全攻略

計算機製造商們全面打起了提速戰。作為計算機最重要的外部存儲設備,硬盤當然也不甘落後,相繼推出速度更快的硬盤。即便如此,硬盤存儲仍然擺脫不了系統性能瓶頸的角色。不僅如此,硬盤存儲在數據安全上也是問題多多。現在人們的工作已無法擺脫計算機,這一方面使得人們的工作效率大大提高,但潛在的危險也是明擺著的:一旦硬盤的數據損壞,人們長時間的工作就可能毀於一旦。
那麼,有沒有基於現在的硬盤提升存儲性能和數據安全的技術呢?有,它就是RAID技術。
RAID是由美國加州大學伯克利分校的D.A. Patterson教授在1988年提出的。RAID是Redundent Array of Inexpensive Disks的縮寫,直譯為“廉價冗余磁盤陣列”,也簡稱為“磁盤陣列”。後來RAID中的字母I被改作了Independent,RAID就成了“獨立冗余磁盤陣列”,但這只是名稱的變化,實質性的內容並沒有改變。簡單地講,RAID技術就是利用多個硬盤的組合提供高效率及冗余的功能。
RAID 的優點
傳輸速率高。在RAID中,可以讓很多磁盤驅動器同時傳輸數據,而這些磁盤驅動器在邏輯上又是一個磁盤驅動器,所以使用RAID可以達到單個磁盤驅動器幾倍、幾十倍甚至上百倍的速率。這也是RAID最初想要解決的問題。因為當時CPU的速度增長很快,而磁盤驅動器的數據傳輸速率無法大幅提高,所以需要有一種方案解決二者之間的矛盾。RAID最後成功了。
可以提供容錯功能。這是使用RAID的第二個原因,因為普通磁盤驅動器無法提供容錯功能,如果不包括寫在磁盤上的CRC(循環冗余校驗)碼的話。RAID容錯是建立在每個磁盤驅動器的硬件容錯功能之上的,所以它提供更高的安全性。
RAID比起傳統的大直徑磁盤驅動器來,在同樣的容量下,價格要低很多。
RAID 的級別
具體實現起來,RAID的級別很多,各級別有著各自的優缺點,用戶可以根據不同的需求來選擇合適的級別。
RAID 0
RAID 0需要至少兩個硬盤,是沒有任何保護的,它只是將兩個或多個相同型號及容量的硬盤組合起來,而當系統提取數據時,它可以同時由所有硬盤(同一個陣列裡)讀出數據,速度會比一個硬盤快得多。而亦因為它沒有任何的數據保護,只要其中一隻硬盤出事,所有數據便會被破壞。所以RAID 0通常應用在一些非重要資料上,如影像擷取。磁盤陣列的總容量為各個硬盤容量之和。
RAID 1
這個級別由兩個(只有兩個)硬盤組成,亦可稱為鏡像(Mirroring)。每一個資料均會相同的寫在兩個硬盤上,鏡像就是因為兩個硬盤的內容將會一模一樣,但對於系統來說都只會見到一個硬盤。當然,資料寫入的時間可以會長一點,但讀則沒有影響,因為兩個硬盤是可以同時讀取資料的。磁盤陣列的總容量為其中一塊硬盤的容量。
RAID 2
RAID 2又叫糾錯海明碼磁盤陣列。磁盤陣列中的第一個、第二個、第四個……第2n個硬盤是專門的校驗盤,用於校驗和糾錯,例如七個硬盤的RAID 2,第一、二、四個硬盤是校驗盤,其餘的用於存放數據。使用的硬盤越多,校驗盤在其中占的百分比越少。RAID 2對大數據量的輸入輸出有很高的性能,但少量數據的輸入輸出時性能不好。RAID 2很少實際使用。
RAID 3
這個級別需要至少三個硬盤。數據會被分割成相同大小的基帶條(stripe)並存放於不同的硬盤上。其中的一個硬盤將會被指定為用來儲存校驗值,這個校驗值是RAID卡根據前面硬盤中存放的數據而運算出來,這樣當其中一個硬盤有問題時,用戶可以更換硬盤,RAID卡便會根據其他數據重構並存放在新硬盤裡。RAID 3可以提供高速數據讀取,但只針對單用戶模式;如果多人同時讀取資料,RAID 3不是理想選擇。它更適用於I/O傳輸,而不是大文件傳輸。 因為提供奇偶校驗的磁盤常成為瓶頸,所以在沒有相應技術的情況下,如回寫高速緩存技術,不常使用。如果組成磁盤陣列的硬盤相同,磁盤陣列的總容量為各個硬盤容量之和減去一塊硬盤的容量。
RAID 5
這個級別也是需要至少三個硬盤。數據會分割跟RAID 3一樣,但並不會有一個特定的硬盤將來儲存校驗值,所有數據及校驗值都會分布在所有硬盤上。RAID 5消除了RAID 3在寫數據上的瓶頸,可以提供高速數據讀取並針對多用戶模式,RAID 5所提供的功能及表現是有RAID級別之中最好的。RAID 5常使用緩衝技術來降低性能的不對稱性。與RAID 3一樣,如果組成磁盤陣列的硬盤相同,磁盤陣列的總容量也為各個硬盤容量之和減去一塊硬盤的容量。RAID 5級以合理的價位提供了最佳的性能和數據安全性,因此目前它很受歡迎。
多層級別 RAID
除了以上的RAID級別外,也可以將多個RAID 級別結合成一個多層級別的RAID。在設定一個雙層級別(dual-level)的RAID時,卡的軟件(firmware)會負責將兩個或多個單層RAID組合成一個多層級別的RAID或數組。比較常見的多層級別RAID是RAID 0+1或稱 RAID 0/1 及 RAID 0+5 或稱 RAID 0/5。
RAID 的種類及應用
IDE和SCSI是計算機的兩種不同的接口,前者普遍用於PC機,後者一般用於服務器。基於這兩種接口,RAID分為兩種類型:基於IDE接口的RAID應用,稱為IDE RAID;而基於SCSI接口的RAID應用則相應稱為SCSI RAID。
以前,一提起RAID往往會聯想到SCSI硬盤,因為它的傳統接口一直使用的是SCSI,而具有SCSI接口的硬盤要比傳統的IDE硬盤昂貴得多,因此RAID技術自產生以來似乎就被定義在了高端“貴族家庭”。在較大的陣列系統中,隨著硬盤的數量增多,SCSI RAID系統的整體造價就明顯地提高。與此相反,可以看到被視為低端產品的IDE硬盤卻具有明顯的價格優勢,近年來隨著IDE接口標準的升級, IDE的傳輸速度有了明顯的提高,串行ATA又可加大IDE硬盤連接數量,於是RAID產品逐步開始滲透到了所謂低端的IDE硬盤領域。
與此同時,基於不同的架構,RAID 又可以分為:
● 軟件RAID (軟件 RAID)
● 硬件RAID (硬件 RAID)
● 外置RAID (External RAID)
軟件RAID很多情況下已經包含在系統之中,並成為其中一個功能,如 Windows、Netware及Linux。軟件RAID中的所有操作皆由中央處理器負責,所以系統資源的利用率會很高,從而使系統性能降低。軟件RAID是不需要另外添加任何硬件設備,因為它是靠你的系統—主要是中央處理器的功能—提供所有現成的資源。
硬件RAID通常是一張PCI卡,你會看到在這卡上會有處理器及內存。因為這卡上的處理器已經可以提供一切RAID所需要的資源,所以不會占用系統資源,從而令系統的表現可以大大提升。硬件RAID可以連接內置硬盤、熱插拔背板或外置存儲設備。無論連接何種硬盤,控制權都是在RAID卡上,亦即是由系統所操控。
在系統裡,硬件RAID PCI卡通常都需要安驅動程序,否則系統會拒絕支持。 磁盤陣列可以在安裝系統之前或之後產生,系統會視之為一個(大型)硬盤,而它具有容錯及冗余的功能。磁盤陣列不單只可以加入一個現成的系統,它更可以支持容量擴展,方法也很簡單,只需要加入一個新的硬盤並執行一些簡單的指令,系統便可以實時利用這新加的容量。
外置式RAID也是屬於硬件RAID的一種,區別在於RAID卡不會安裝在系統裡,而是安裝在外置的存儲設備內。而這個外置的儲存設備則會連接到系統的SCSI卡上。系統沒有任何的RAID功能,因為它只有一張SCSI卡;所有的RAID功能將會移到這個外置存儲裡。好處是外置的存儲往往可以連接更多的硬盤,不會受系統機箱的大小所影響。而一些高級的技術,如雙機容錯,是需要多個服務器外連到一個外置儲存上,以提供容錯能力。
外置式RAID可以安裝任何的操作系統,因此是與操作系統無關的。為什麼呢?因為在系統裡只存在一張SCSI卡,並不是RAID卡。而對於這個系統及這張SCSI卡來說,這個外置式的RAID只是一個大型硬盤,並不是什麼特別的設備,所以這個外置式的RAID可以安裝任何的操作系統。唯一的要求就是你用的這張SCSI卡在這個操作系統要安裝驅動程序。

參考資料 http://www.chinaunix.net/jh/34/253932.html

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 tsowen 的頭像
    tsowen

    兆治的部落格

    tsowen 發表在 痞客邦 留言(0) 人氣()