RAID詳解[RAID0/RAID1/RAID5]
RAID(Redundant Array of Independent Disk 獨立冗余磁盤陣列)技術是加州大學伯克利分校1987年提出,最初是為了組合小的廉價磁盤來代替大的昂貴磁盤,同時希望磁盤失效時不會使對數據的訪問受損 失而開發出一定水平的數據保護技術。RAID就是一種由多塊廉價磁盤構成的冗余陣列,在操作系統下是作為一個獨立的大型存儲設備出現。RAID可以充分發 揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易於管理的優點,在任何一塊硬盤出現問題的情況下都可以繼續工作,不會 受到損壞硬盤的影響。
二、 RAID的幾種工作模式(僅討論 RAID0,RAID1,RAID5,RAID10這四種,這四種比較典型)
1、RAID0 (又稱為Stripe或Striping--分條)
即Data Stripping數據分條技術。RAID 0可以把多塊硬盤連成一個容量更大的硬盤群,可以提高磁 盤的性能和吞吐量。RAID 0沒有冗余或錯誤修復能力,成本低,要求至少兩個磁盤,一般只是在那些對數 據安全性要求不高的情況下才被使用。
特點:
容錯性: | 沒有 | 冗余類型: | 沒有 |
熱備盤選項: | 沒有 | 讀性能: | 高 |
隨機寫性能: | 高 | 連續寫性能: | 高 |
需要的磁盤數: | 只需2個或2*N個(這裏應該是多於兩個硬盤都可以) | 可用容量: | 總的磁盤的容量 |
典型應用: | 無故障的迅速讀寫,要求安全性不高,如圖形工作站等。 |
RAID 0的工作方式:
如圖所示:系統向 三個磁盤組成的邏輯硬盤(RADI 0 磁盤組)發出的I/O數據請求被轉化為3項操作,其中的每一項操作都對應於一塊物理硬盤。我們從圖中可以清楚的看到通過建立RAID 0,原先順序的數據請求被分散到所有的三塊硬盤中同時執行。
從理論上講,三塊硬盤的並行操作使同一時間內磁盤讀寫速度提升了3倍。 但由於總線帶寬等多種因素的影響,實際的提升速率肯定會低於理論值,但是,大量數據並行傳輸與串行傳輸比較,提速效果顯著顯然毋庸置疑。
RAID 0的缺點是不提供數據冗余,因此一旦用戶數據損壞,損壞的數據將無法得到恢復。
RAID 0具有的特點,使其特別適用於對性能要求較高,而對數據安全不太在乎的領域,如圖形工作站等。對於個人用戶,RAID 0也是提高硬盤存儲性能的絕佳選擇。
計算機技術發展迅速,但硬盤傳輸率也成了性能的瓶頸。怎麽辦?IDE RAID技術的成熟讓我們輕松打造自己的超高速硬盤。在實際應用中,RAID 0硬盤陣列能比普通IDE 7200轉ATA 133硬盤快得多,時至今日,在大多數的高端或者玩家主板上我們都能找到一顆PROMISE或者HighPoint的RAID芯片,同時發現它們提供的額 外幾個IDE接口。沒錯,RAID已經近在眼前,難道你甘心放棄RAID為我們帶來的性能提升嗎?答案當然是否定的!
實用 的IDE RAID
RAID可以通過軟件或硬件實現。像Windows 2000就能夠提供軟件的RAID功能,但是這樣需要消耗不小的CPU資源,降低整機性能。而硬件實現則是一般由RAID卡實現的,高檔的SCSI RAID卡有著自己專用的緩存和I/O處理器,但是對於家庭用戶來說這樣的開銷顯然是承受不了的,畢竟為了實現RAID買兩個或者更多的HDD已經相當不 容易了。我們還有一種折中的辦法——IDE RAID。或許這才是普通人最容易接受的方法。雖然IDE RAID在功能和性能上都有所折中,但相對於低廉的價格,普通用戶看來並不在意。
為什麽要用RAID 0
RAID 0至少需要兩塊硬盤才能夠實現,它的容量為組成這個系統的各個硬盤容量之和,這幾塊硬盤的容量要相同,在家用IDE RAID中一般級聯兩塊硬盤,一定要用同型號同容量的硬盤。RAID 0模式向硬盤寫入數據的時候把數據一分為二,分別寫入兩塊硬盤,讀取數據的時候則反之,這樣的話,每塊硬盤只要負擔一半的數據傳輸任務,得到的結果也就是 速度的增加。
實現方式:
(1)、RAID 0最簡單方式(我覺得這個方式不是它本意所提倡的)
就是把x塊同樣的硬盤用硬件的形式通過智能磁盤控制器或用操作系統中的磁盤驅動程序以軟件的方式串聯在一起,形成一個獨立的邏輯驅動器,容量是單獨硬盤的 x倍,在電腦數據寫時被依次寫入到各磁盤 中,當一塊磁盤的空間用盡時,數據就會被自動寫入到下一塊磁盤中,它的好處是可以增加磁盤的容量。
速度與其中任何一塊磁盤的速度相同,如果其中的任何一塊磁盤出現故障,整個系統將會受到破壞,可靠
性是單獨使用一塊硬盤的1/n。
(2)、RAID 0的另一方式(常指的RAID 0就是指的這個)
是用n塊硬盤選擇合理的帶區大小創建帶區集,最好是為每一塊硬盤都配備一個專門的磁盤控制器,在 電腦數據讀寫時同時向n塊磁盤讀寫數據,速度提升n倍。提高系統的性能。
2、RAID 1 (又稱為Mirror或Mirroring--鏡像)
RAID 1稱為磁盤鏡像:把一個磁盤的數據鏡像到另一個磁盤上,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,具有很高的數據冗余能力,但磁盤利用 率為50%,故成本最高,多用在保存關鍵性的重要數據的場合。RAID 1的操作方式是把用戶寫入硬盤的數據百分之百地自動復制到另外一個硬盤上。
RAID 1有以下特點:
(1)、RAID 1的每一個磁盤都具有一個對應的鏡像盤,任何時候數據都同步鏡像,系統可以從一組 鏡像盤中的任何一個磁盤讀取數據。
(2)、磁盤所能使用的空間只有磁盤容量總和的一半,系統成本高。
(3)、只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行。
(4)、出現硬盤故障的RAID系統不再可靠,應當及時的更換損壞的硬盤,否則剩余的鏡像盤也出現問題,那麽整個系統就會崩潰。
(5)、更換新盤後原有數據會需要很長時間同步鏡像,外界對數據的訪問不會受到影響,只是這時整個系統的性能有所下降。
(6)、RAID 1磁盤控制器的負載相當大,用多個磁盤控制器可以提高數據的安全性和可用性。
RAID 1的工作方式:
如圖所 示:當讀取數據時,系統先從RAID1的源盤讀取數據,如果讀取數據成功,則系統不去管備份盤上的數據;如果讀取源盤數據失敗,則系統自動轉而讀取備份盤 上的數據,不會造成用戶工作任務的中斷。當然,我們應當及時地更換損壞的硬盤並利用備份數據重新建立Mirror,避免備份盤在發生損壞時,造成不可挽回 的數據損失。
raid 1的優缺點
由於對存儲的數據進行百分之百的備份,在所有RAID級別中,RAID 1提供最高的數據安全保障。同樣,由於數據的百分之百備份,備份數據占了總存儲空間的一半,因而Mirror(鏡像)的磁盤空間利用率低,存儲成本高。 Mirror雖不能提高存儲性能,但由於其具有的高數據安全性,使其尤其適用於存放重要數據,如服務器和數據庫存儲等領域。
3、 RAID 5 (可以理解為是RAID 0和RAID 1的折衷方案,但沒有完全使用RAID 1鏡像理念,而是使用了“奇偶校驗信息”來作為數據恢復的方式,與下面的RAID10不同。)
容錯性: | 有 | 冗余類型: | 奇偶校驗 |
熱備盤選項: | 有 | 讀性能: | 高 |
隨機寫性能: | 低 | 連續寫性能: | 低 |
需要的磁盤數: | 三個或更多 | ||
可用容量: | (n-1)/n的總磁盤容量(n為磁盤數) | ||
典型應用: | 隨機數據傳輸要求安全性高,如金融、數據庫、存儲等。 |
RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 以四個硬盤組成的RAID 5為例,其數據存儲方式如圖4所示:圖中,Ap為A1,A2和A3的奇偶校驗信息,其它以此類推。由圖中可以看出,RAID 5不對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁盤 上。當RAID5的一個磁盤數據發生損壞後,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供數據安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的數據讀取速度,只是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由於多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低。
4、 RAID 10 (可以理解為是RAID 0和RAID 1的折衷方案,但沒有完全使用RAID 1鏡像理念,而是使用了“奇偶校驗信息”來作為數據恢復的方式)
RAID10也被稱為鏡象陣列條帶。象RAID0一樣,數據跨磁盤抽取;象RAID1一樣,每個磁盤都有一個鏡象磁盤, 所以RAID 10的另一種會說法是 RAID 0+1。RAID10提供100%的數據冗余,支持更大的卷尺寸,但價格也相對較高。對大多數只要求具有冗余度而不必考慮價格的應用來說,RAID10提 供最好的性能。使用RAID10,可以獲得更好的可靠性,因為即使兩個物理驅動器發生故障(每個陣列中一個),數據仍然可以得到保護。RAID10需要4 + 2*N 個磁盤驅動器(N >=0), 而且只能使用其中一半(或更小, 如果磁盤大小不一)的磁盤用量, 例如 4 個 250G 的硬盤使用RAID10 陣列, 實際容量是 500G。
RAID總結:
類型 | 讀寫性能 | 安全性 | 磁盤利用率 | 成本 | 應用方面 |
RAID0 | 最好(因並行性而提高) | 最差(完全無安全保障) | 最高(100%) | 最低 | 個人用戶 |
RAID1 | 讀和單個磁盤無分別,寫則要寫兩邊 | 最高(提供數據的百分之百備份) | 差(50%) | 最高 | 適用於存放重要數據,如服務器和數據庫存儲等領域。 |
RAID5 | 讀:RAID 5=RAID 0(相近似的數據讀取速度)
寫:RAID 5<對單個磁盤進行寫入操作(多了一個奇偶校驗信息寫入) |
RAID 5 | RAID 5>RAID 1 | RAID 5 | 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 |
RAID10 | 讀:RAID10=RAID0
寫:RAID10=RAID1 |
RAID10=RAID1 | RAID10=RAID1(50%) | RAID10=RAID1 | 集合了RAID0,RAID1的優點,但是空間上由於使用鏡像,而不是類似RAID5的“奇偶校驗信息”,磁盤利用率一樣是50% |
RAID詳解[RAID0/RAID1/RAID5]