RAID 知識 入門

RAID 0:無差錯控制的帶區組

  要實現RAID0必須要有兩個以上硬盤驅動器,RAID0實現了帶區組,數據並不是保存在一個硬盤上,而是分成數據塊保存在不同驅動器上。因爲將數據分佈在不同驅動器上,所以數據吞吐率大大提高,驅動器的負載也比較平衡。如果剛好所需要的數據在不同的驅動器上效率最好。它不需要計算校驗碼,實現容易。它的缺點是它沒有數據差錯控制,如果一個驅動器中的數據發生錯誤,即使其它盤上的數據正確也無濟於事了。不應該將它用於對數據穩定性要求高的場合。如果用戶進行圖象(包括動畫)編輯和其它要求傳輸比較大的場合使用RAID0比較合適。同時,RAID可以提高數據傳輸速率,比如所需讀取的文件分佈在兩個硬盤上,這兩個硬盤可以同時讀取。那麼原來讀取同樣文件的時間被縮短爲1/2。在所有的級別中,RAID 0的速度是最快的。但是RAID 0沒有冗餘功能的,如果一個磁盤(物理)損壞,則所有的數據都無法使用。


     RAID 0模式是將連續數據分散到多個磁盤上存取,以並行執行數據請求的方式實現了性能的大幅度提升。當然,受總線帶寬等多種因素的影響,性能提升幅度並不是說1+1=2。我們使用了Anvil's Storage Utilities和Crystal Disk Mark兩款軟件對RAID 0捲進行了性能測試。其中Anvil's 的連續讀寫性能分別爲2117.89MB/s和2432.3MB/s,每秒讀寫速度已經突破2GB/s大關。對比單塊OCZ Vertex 4128 GB的測試成績,連續寫入性能從420MB/s提升到了2400MB/s,8盤RAID0的提升幅度大約是單盤的5.7倍。而在4K隨機讀寫測試方面,無論是隨機讀寫,還是QD16隊列讀寫,8盤RAID 0和單盤的差別不大。原因是RAID 0的原理是將大文件分割成小文件分別放置到不同的硬盤中,同時並行讀寫以提升成績的。而這個分割文件的大小在4K~128KB之間,數據只有大到一定程度,才能均勻分散到各個磁盤中,提升性能。在RAID 0中,4KB小文件仍舊存儲在一個物理磁盤中,所以4KB的測試成績單盤和8盤RAID 0相差不大。


  上述測試成績反映了電腦內部的最大讀寫性能,但是在實際服務器應用中,受限於網絡接口帶寬,實際數據傳輸性能會大打折扣。如果採用雙千兆網絡出口,能夠提供的最大數據傳輸速度也僅只有250MB/s。在數據中心應用中,萬兆網絡纔是解決數據出口帶寬的最好解決辦法。所以,接下來筆者用更能反映服務器性能的IOMETER進行IOPS測試。我們測試了File Server和Web Server兩個腳本,這兩個腳本分別使用了各種不同大小、不同比例的數據,模擬了文件服務器和網頁服務器在日常使用中的操作響應情況,測試從1到64不同隊列深度的IOPS每秒操作數。從測試成績來看,8盤RAID 0系統的IOPS從4000級一直快速上升,在64隊列深度下最高達到74492.14。這在民用級服務器中是一個非常誇張的水平,已經達到甚至遠遠超過了很多使用機械硬盤的專業級存儲服務器性能。

RAID5:分佈式奇偶校驗的獨立磁盤結構

從它的示意圖上可以看到,它的奇偶校驗碼存在於所有磁盤上,其中的p0代表第0帶區的奇偶校驗值,其它的意思也相同。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯。因爲奇偶校驗碼在不同的磁盤上,所以提高了可靠性,允許單個磁盤出錯。RAID 5也是以數據的校驗位來保證數據的安全,但它不是以單獨硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放於各個硬盤上。這樣,任何一個硬盤損壞,都可以根據其它硬盤上的校驗位來重建損壞的數據。硬盤的利用率爲n-1。 但是它對數據傳輸的並行性解決不好,而且控制器的設計也相當困難。RAID 3 與RAID 5相比,重要的區別在於RAID 3每進行一次數據傳輸,需涉及到所有的陣列盤。而對於RAID 5來說,大部分數據傳輸只對一塊磁盤操作,可進行並行操作。在RAID 5中有“寫損失”,即每一次寫操作,將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。 RAID-5的話,優點是提供了冗餘性(支持一塊盤掉線後仍然正常運行),磁盤空間利用率較高(N-1/N),讀寫速度較快(N-1倍)。RAID5最大的好處是在一塊盤掉線的情況下,RAID照常工作,相對於RAID0必須每一塊盤都正常纔可以正常工作的狀況容錯性能好多了。因此RAID5是RAID級別中最常見的一個類型。RAID5校驗位即P位是通過其它條帶數據做異或(xor)求得的。計算公式爲P=D0xorD1xorD2…xorDn,其中p代表校驗塊,Dn代表相應的數據塊,xor是數學運算符號異或。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章