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