RAID10與RAID5的異同比較
RAID10與RAID5的異同比較
從一個普通應用來講,要求儲存系統具有良好的IO效能同時也要求對資料安全做好保護工作,所以raid10和raid5應該成為我們重點關注的物件。
單純的談論不同raid級別的優缺是不切實際的,raid只有和磁碟結合才是完整的陣列。
下面從IO效能,資料重構及對系統效能的影響,資料安全保護等方面,結合磁碟現狀來分析兩種技術的差異。
IO的效能:
讀操作上raid10和raid5是相當的,
對於RAID-5 在一些很小資料的寫操作(如比每個條帶還小的小資料)需要2 個讀、2 個寫,還有2 個XOR 操作,對於單個使用者的寫操作,在新資料應用之前必須將老的資料從校驗盤中移除,整個的執行過程是這樣:讀出舊資料,舊資料與新資料做XOR,並建立一個即時的值,讀出舊資料的校驗資訊,將即時值與校驗資料進行XOR,最後寫下新的校驗資訊。為了減少對系統的影響,大多數的RAID5 都讀出並將整個條帶(包括校驗條帶)寫入快取,執行2 個XOR 操作,然後發出並行寫操作(通常對整個條帶),即便了進行了上述最佳化,系統仍然需要為這種寫操作進行額外的讀和XOR操作。小量寫操作困難使得RAID-5 技術很少應用於密集寫操作的場合,如回滾欄位及重做同志。當然,也可以將儲存系統的條帶大小定義為經常讀寫動作的資料大小,使之匹配,但這樣會限制系統的靈活性,也不適用於企業中其它的應用。
對於raid10,由於不存在資料校驗,每次寫操作只是單純的執行寫操作。應此在寫效能上raid10要好於raid5。
資料重構:
對於raid10,當一塊磁碟失效時,進行資料重構的操作只是複製一個新磁碟,如果假定磁碟的容量為250G,那麼複製的資料量為250G。
對於raid5的儲存陣列,則需要從每塊磁碟中讀取資料,經過重新計算得到一塊硬碟的資料量,如果raid5是以4+1的方式組建,每塊磁碟的容量也為250G,那麼,需要在剩餘的4個磁碟中讀出總共是1000G的資料量計算得出250G的資料。從這點來看,raid5在資料重構上的工作負荷和花費的時間應該遠大於raid10,負荷變大將影響重構期間的效能,時間長意味再次出現資料損壞的可能性變大。
資料安全保護:
raid10系統在已有一塊磁碟失效的情況下,只有出現該失效盤的對應映象盤也失效,才會導致資料丟失。其他的磁碟失效不會出現資料丟失情況。
Raid5系統在已有一塊磁碟失效的情況下,只要再出現任意的一塊磁碟失效,都將導致資料丟失。
從綜合來看,raid10和raid5系統在出現一塊磁碟失效後,進行資料重構時,raid5需耗費的時間要比raid10長,同時重構期間系統負荷上raid5要比raid10高,同時raid5出現資料丟失的可能性要比raid10高,因此,資料重構期間,raid5系統的可靠性遠比raid10來的低。
Raid5在磁碟空間率用率上比raid10高,raid5的空間利用率是(N-1)/ N (N為陣列的磁碟數目),而raid10的磁碟空間利用率僅為50%。
但是結合磁碟來考慮,今天的硬碟廠商所生產的ATA硬碟的質量已經可以承擔企業級的應用,並且,容量的增加幅度相當大,目前已經可以實現單個磁碟400G的儲存容量。SCSI硬碟由於要求高轉速而使用小直徑碟片,容量的增加相對緩慢。ATA磁碟相對SCSI磁碟擁有成本也要小很對,
應此,在一些IO要求非常高的應用中,raid5結合SCSI磁碟是比較好的選擇,其他應用中採用大容量的ATA硬碟結合raid10,既降低了raid10的為獲得一定的儲存空間必須採用雙倍磁碟空間的擁有成本,又避免了raid5相對raid10的各種缺點。
在企業應用中,raid10結合ATA磁碟意味著一個更好的選擇。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21256317/viewspace-776789/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於RAID10和RAID5的認識AI
- [zt]磁碟 RAID10 / RAID5 配置下的IOPS對比AI
- difftastic:支援各種語言原始碼異同比較的工具FFTAST原始碼
- RAID5和RAID10在磁碟讀寫選擇對比AI
- 轉載:RAID5和RAID10,哪種RAID更適合你AI
- 掃盲:Raid0、Raid1、Raid5及Raid10的區別AI
- oracle orion 壓測磁碟效能raid10 raid5 raid50 資料OracleAI
- 磁碟陣列關於Raid0,Raid1,Raid5,Raid10陣列AI
- Raid1 Raid2 Raid5 Raid6 Raid10如何選擇使用AI
- 比較兩個資料庫的差異資料庫
- awk比較檔案內容的差異
- 比較兩個的表結構差異
- 強制型別轉換時的異常處理_java與c++比較型別JavaC++
- 線上json差異比較工具--遞迴比較兩個json的節點和值的差異,並支援差異數預覽和逐個檢視差異JSON遞迴
- 用mdadm建立raid10AI
- raid1 raid2 raid5 raid6 raid10的優缺點和做各自raid需要幾塊硬碟AI硬碟
- raid概述與CentOS7.4中raid5的搭建與測試AICentOS
- PostgreSQL與MySQL的比較 - hackrMySql
- MVVM與MVC模式的比較MVVMMVC模式
- XTask與RxJava的使用比較RxJava
- JavaScript 與 Java、PHP 的比較JavaScriptPHP
- Hadoop與Spark的比較HadoopSpark
- CMM/CMMI 與敏捷的比較敏捷
- Hibernate與 MyBatis的比較MyBatis
- CoffeeScript與Ruby的比較
- session與cookie的異同SessionCookie
- grep -vFf 比較2個檔案差異
- Linux下檔案差異比較工具Linux
- Go與C#的比較 - RedditGoC#
- Flutter與React Native的比較FlutterReact Native
- Docker 與 Podman 容器管理的比較Docker
- OSI模型 與 DOD模型的比較模型
- Hibernate與 MyBatis的比較(轉)MyBatis
- ORACLE的count與空值比較Oracle
- sap與ORACLE的ERP比較Oracle
- C與I型別的比較型別
- Querydsl與JPA標準的比較
- 比較兩個資料庫的表結構差異(轉)資料庫