一、RAID簡介傳統磁碟的劣勢:IO性能極弱、穩定性極差。影響電腦性能的組件一般包括:CPU、主板匯流排IO、記憶體IO、硬碟IO、網卡IO。現代的電腦匯流排、記憶體速度可以達到5G每秒,甚至更高,但是硬碟IO往往較低,硬碟是絕大多數電腦的性能瓶頸。RAID(Redundant Array of .....
一、RAID簡介
傳統磁碟的劣勢:IO性能極弱、穩定性極差。
影響電腦性能的組件一般包括:CPU、主板匯流排IO、記憶體IO、硬碟IO、網卡IO。現代的電腦匯流排、記憶體速度可以達到5G每秒,甚至更高,但是硬碟IO往往較低,硬碟是絕大多數電腦的性能瓶頸。
RAID(Redundant Array of Independent Disks)獨立冗餘磁碟陣列技術是通過多磁碟並行運行來提高電腦的存儲IO性能。防止硬碟物理損壞以及增加存儲設備的吞吐量。
二、RAID分類
磁碟陣列有三種:外接式磁碟陣列櫃、內接式磁碟陣列卡、利用軟體來模擬。
三、RAID原理
磁碟陣列作為獨立系統在主機外直接或通過網路與主機相連。磁碟陣列有多個埠可以被不同主機或不通埠連接。一個主機鏈接陣列的不通埠可以提升傳輸速度。
和當時PC用單磁碟內部集成緩存一樣,在磁碟陣列內部為加快與主機交互速度,都帶有一定量的緩衝存儲器。主機與磁碟陣列的緩存交互,緩存與具體的磁碟交互數據。
在應用中,有部分常用的數據是需要經常讀取的,磁碟陣列根據內部的演算法,查找出這些經常讀取的數據,存儲在緩存中,加快主機讀取這些數據的速度,而對於其他緩存中沒有的數據,主機要讀取,則由陣列從磁碟上直接讀取傳輸給主機。對於主機寫入的數據,只寫在緩存中,主機可以立即完成寫操作。然後由緩存再慢慢寫入磁碟。
四、RAID級別
RAID0:使用最少2塊硬碟,在讀寫時,將數據分開讀寫到多塊硬碟的方式來提高讀寫性能。有效的提高硬碟的性能和吞吐量,但沒有數據的冗餘和錯誤修複能力。
空間利用率:所有硬碟空間之和
性能:所有硬碟速度之和
冗餘能力:無
RAID1:使用最少2塊硬碟,在寫數據時,將數據複製寫到多塊硬碟。在讀數據時,以提供冗餘性。同時從多塊硬碟讀取數據,以提高讀性能。有效的提高數據資料的安全性和可修複性。
空間利用率:所有硬碟中最小的那塊
性能:讀性能為所有硬碟速度之和,寫性能會有所減弱
冗餘能力:只要有一塊硬碟正常,數據就正常
RAID5:最少使用3塊硬碟,RAID5與RAID0類似,讀寫數據的時候會將數據分散式的讀寫在所有磁碟上,但是在寫數據的時候會對數據進行奇偶校驗運算,將校驗信息同時保存在硬碟上,校驗信息可以進行數據恢復使用。
如上圖所示”parity”塊中保存的是其他硬碟數據的奇偶校驗信息(並非其他硬碟的數據),以數據的奇偶校驗信息來保證數據的安全,RAID5不以單獨的硬碟來存放數據的奇偶校驗信息,而是保存在各個磁碟上。這樣當任何一個硬碟損壞都可以根據其他硬碟上的奇偶校驗信息來嘗試重建損壞的數據,性能也很高,兼顧了存儲性能、數據安全和存儲成本,可以看作是RAID0與RAID1的折中方案。
空間利用率:1-1/n
性能:讀性能接近RAID0,寫性能較RAID0弱一些
冗餘能力:可接受1塊硬碟損壞
RAID10:需要至少4塊硬碟,兼具讀寫性能和安全性。繼承了RAID0讀寫性能和RAID1的安全性。RAID1提供冗餘備份,而RAID0則提供讀寫性能。
空間利用率:1/2
性能:所有硬碟速度之和
冗餘能力:允許每組RAID1損壞一個硬碟
五、RAID實現
軟體RAID
通過系統功能或RAID軟體實現RAID,沒有獨立硬體和介面,需要占用一定的系統資源(CPU,硬碟介面速度),並且受操作系統穩定性影響。
硬體RAID
通過獨立的RAID硬體卡實現,有些主板集成RAID硬體,有些需要購買獨立的RAID硬體卡,硬體RAID實現不需要占用其他硬體資源,穩定性和速度都比軟體RAID要強。