[zt ]關於RAID的掃盲知識

charles6222發表於2007-09-15

[zt ]關於RAID的掃盲知識

RAID是英文Redundant Array of Independent Disks的縮寫,翻譯成中文意思是“獨立磁碟冗餘陣列”,有時也簡稱磁碟陣列(Disk Array)。

簡單的說,RAID是一種把多塊獨立的硬碟(物理硬碟)按不同的方式組合起來形成一個硬碟組(邏輯硬碟),從而提供比單個硬碟更高的儲存效能和提供資料備份技術。組成磁碟陣列的不同方式成為RAID級別(RAID Levels)。資料備份的功能是在使用者資料一旦發生損壞後,利用備份資訊可以使損壞資料得以恢復,從而保障了使用者資料的安全性。在使用者看起來,組成的磁碟組就像是一個硬碟,使用者可以對它進行分割槽,格式化等等。總之,對磁碟陣列的操作與單個硬碟一模一樣。不同的是,磁碟陣列的儲存速度要比單個硬碟高很多,而且可以提供自動資料備份。

  RAID技術的兩大特點:一是速度、二是安全,由於這兩項優點,RAID技術早期被應用於高階伺服器中的SCSI介面的硬碟系統中,隨著近年計算機技術的發展,PC機的CPU的速度已進入GHz 時代。IDE介面的硬碟也不甘落後,相繼推出了ATA66和ATA100硬碟。這就使得RAID技術被應用於中低檔甚至個人PC機上成為可能。RAID通常是由在硬碟陣列塔中的RAID控制器或電腦中的RAID卡來實現的。

RAID技術經過不斷的發展,現在已擁有了從 RAID 0 到 6 七種基本的RAID 級別。另外,還有一些基本RAID級別的組合形式,如RAID 10(RAID 0與RAID 1的組合),RAID 50(RAID 0與RAID 5的組合)等。不同RAID 級別代表著不同的儲存效能、資料安全性和儲存成本。但我們最為常用的是下面的幾種RAID形式。

(1) RAID 0
(2) RAID 1
(3) RAID 0+1
(4) RAID 3
(5) RAID 5
raid 0 是raid 中讀寫最快的一種,最大的缺點就是不能容錯,如果其中的一塊硬碟壞掉的話,那麼資料就會全部丟失,所以一般都是raid 0和 raid 1組合用。
如果是我使用的是raid0,那麼2塊硬碟中有一塊塊了,是不是所有的資料都將丟失,還是丟失部分
軟體RAID是級別0,它使多個硬碟看起來像一個磁碟,但是速度比任何單個磁碟快得多,因為驅動器被並行訪問。軟體RAID可以用IDE或SCSI控制器,也可以使用任何磁碟組合。在軟體RAID 中不能提供如下功能:硬碟熱拔插,硬碟熱備用,遠端陣列管理,可引導陣列支援,在硬碟上實現陣列配置, SMART硬碟支援等
  
  目前RAID技術大致分為兩種:基於硬體的RAID技術和基於軟體的RAID技術。這兩種技術都將在近期成為效能比較適中的產品,並聯使用者提供可行的資料保護措施。其中基於硬體的RAID解決方案比基於軟體RAID技術在使用效能和服務效能上稍勝一籌,具體表現在檢測和修復多位錯誤的能力、RAID保護的可引導陣列、錯誤磁碟自動檢測、剩餘空間取代和陣列重建、共有的或指定的剩餘空間和彩色編碼報警等許多方面優於後者。另外,還提供從單一控制實施的對多RAID安裝、多作業系統遠端檢測和管理的能力。從安裝過程來看,兩種RAID解決方案的安裝過程都比較容易,安裝耗時也相差無幾。從CPU佔有率來看,基於硬體的RAID顯然能夠減少CPU的中斷次數,同時降低主PCI匯流排的資料流量。從而是系統的效能產生一個提升。從I/O佔用角度考慮,兩種解決方案的差別並不算很大。基於硬體的RAID方案僅在下列兩方面有一定優勢;減少RAID5陣列在降級模式的執行時間;平行引導陣列的能力。另外,在硬體解決方案中,可以採用RAID0/1取代RAID1來提高效能。

RAID級別的選擇有三個主要因素:可用性(資料冗餘)、效能和成本。如果不要求可用性,選擇RAID0以獲得最佳效能。如果可用性和效能是重要的而成本不是一個主要因素,則根據硬碟數量選擇RAID 1。如果可用性、成本和效能都同樣重要,則根據一般的資料傳輸和硬碟的數量選擇 RAID3、RAID5。
購買RAID卡或是使用軟RAID,如WIN2000/NT,XP下實現!
RAID 0最簡單的實現方式就是把幾塊硬碟串聯在一起建立一個大的卷集。磁碟之間的連線既可以使用硬體的形式透過智慧磁碟控制器實現,也可以使用作業系統中的磁碟驅動程式以軟體的方式實現,我們把4塊磁碟組合在一起形成一個獨立的邏輯驅動器,容量相當於任何任何一塊單獨硬碟的4倍。資料被依次寫入到各磁碟中。當一塊磁碟的空間用盡時,資料就會被自動寫入到下一塊磁碟中。  
RAID 0是所有RAID模式中最簡單的一種。要實現RAID 0必須要有兩個以上的硬碟,RAID 0 實現了帶區組,資料並不是儲存在一個硬碟上,而是分成資料塊儲存在不同驅動器上。如果RAID 0模式當中有兩個硬碟,使用者自定義的切割檔案大小為 64KB,此時RAID控制器接收到一個指令來儲存一個大小為128KB的檔案,這時檔案就會被分割成兩個64KB大小的檔案,然後這兩個檔案被同時分別儲存在硬碟1和硬碟2當中,儲存過程到此完成。在RAID 0模式下讀取一個檔案的操作也是如此。所以,在這個RAID 0模式當中讀取128KB大小的檔案所需要的時間和在普通硬碟上讀取64KB大小的檔案所需要的時間相同。
使用ride0是,假使有2塊硬碟,在寫一個資料時,怎麼寫呀?寫在哪裡面?
  如果資料流,又怎麼寫呀?按什麼樣的順序分配?
RAID 1又稱為Mirror或Mirroring(映象),它的宗旨是最大限度的保證使用者資料的可用性和可修復性。 RAID 1的操作方式是把使用者寫入硬碟的資料百分之百地自動複製到另外一個硬碟上。

當讀取資料時,系統先從RAID 0的源盤讀取資料,如果讀取資料成功,則系統不去管備份盤上的資料;如果讀取源盤資料失敗,則系統自動轉而讀取備份盤上的資料,不會造成使用者工作任務的中斷。當然,我們應當及時地更換損壞的硬碟並利用備份資料重新建立Mirror,避免備份盤在發生損壞時,造成不可挽回的資料損失。

由於對儲存的資料進行百分之百的備份,在所有RAID級別中,RAID 1提供最高的資料安全保障。同樣,由於資料的百分之百備份,備份資料佔了總儲存空間的一半,因而Mirror(映象)的磁碟空間利用率低,儲存成本高。Mirror雖不能提高儲存效能,但由於其具有的高資料安全性,使其尤其適用於存放重要資料,如伺服器和資料庫儲存等領域.
正如其名字一樣RAID 0+1是RAID 0和RAID 1的組合形式,也稱為RAID 10。
以四個磁碟組成的RAID 0+1為例,其資料儲存方式如圖所示:RAID 0+1是儲存效能和資料安全兼顧的方案。它在提供與RAID 1一樣的資料安全保障的同時,也提供了與RAID 0近似的儲存效能。
由於RAID 0+1也透過資料的100%備份功能提供資料安全保障,因此RAID 0+1的磁碟空間利用率與RAID 1相同,儲存成本高。
RAID 0+1的特點使其特別適用於既有大量資料需要存取,同時又對資料安全性要求嚴格的領域,如銀行、金融、商業超市、倉儲庫房、各種檔案管理等。

在不同情況下,RAID 3讀寫操作的複雜程度不同。最簡單的情況就是從一個完好的RAID 3系統中讀取資料。這時,只需要在資料儲存盤中找到相應的資料塊進行讀取操作即可,不會增加任何額外的系統開銷。  
  
    當向RAID 3寫入資料時,情況會變得複雜一些。即使我們只是向一個磁碟寫入一個資料塊,也必須計算與該資料塊同處一個帶區的所有資料塊的校驗值,並將新值重新寫入到校驗塊中。例如,當我們向上圖中的綠色資料塊寫入資料時,必須重新計算所有3個綠色資料塊的校驗值,然後重寫位於第四塊硬碟的綠色校驗塊。由此我們可以看出,一個寫入操作事實上包含了資料讀取(讀取帶區中的關聯資料塊),校驗值計算,資料塊寫入和校驗塊寫入四個過程。系統開銷大大增加。  
  
    我們可以透過適當設定帶區的大小使RAID系統得到簡化。如果某個寫入操作的長度恰好等於一個完整帶區的大小(全帶區寫入),那麼我們就不必再讀取帶區中的關聯資料塊計算校驗值。我們只需要計算整個帶區的校驗值,然後直接把資料和校驗資訊寫入資料盤和校驗盤即可。  
  
    到目前為止,我們所探討的都是正常執行狀況下的資料讀寫。下面,我們再來看一下當硬碟出現故障時,RAID系統在降級模式下的執行情況。  
  
    RAID 3雖然具有容錯能力,但是系統會受到影響。當一塊磁碟失效時,該磁碟上的所有資料塊必須使用校驗資訊重新建立。如果我們是從好盤中讀取資料塊,不會有任何變化。但是如果我們所要讀取的資料塊正好位於已經損壞的磁碟,則必須同時讀取同一帶區中的所有其它資料塊,並根據校驗值重建丟失的資料。  
  
    當我們更換了損壞的磁碟之後,系統必須一個資料塊一個資料塊的重建壞盤中的資料。整個過程包括讀取帶區,計算丟失的資料塊和向新盤寫入新的資料塊,都是在後臺自動進行。重建活動最好是在RAID系統空閒的時候進行,否則整個系統的效能會受到嚴重的影響。  
  
    RAID 3的效能問題  
  
    除了我們在上文討論過的有關資料寫入和降級模式的問題之外,在使用RAID 3的過程中還有其他一些效能上的問題需要引起我們的注意。RAID 3所存在的最大一個不足同時也是導致RAID 3很少被人們採用的原因就是校驗盤很容易成為整個系統的瓶頸。  
  
    我們已經知道RAID 3會把資料的寫入操作分散到多個磁碟上進行,然而不管是向哪一個資料盤寫入資料,都需要同時重寫校驗盤中的相關資訊。因此,對於那些經常需要執行大量寫入操作的應用來說,校驗盤的負載將會很大,無法滿足程式的執行速度,從而導致整個RAID系統效能的下降。鑑於這種原因, RAID 3更加適合應用於那些寫入操作較少,讀取操作較多的應用環境,例如資料庫和WEB伺服器等。
RAID 5 是一種儲存效能、資料安全和儲存成本兼顧的儲存解決方案。 以四個硬碟組成的RAID 5為例,其資料儲存方式如圖4所示:圖中,P0為D0,D1和D2的奇偶校驗資訊,其它以此類推。由圖中可以看出,RAID 5不對儲存的資料進行備份,而是把資料和相對應的奇偶校驗資訊儲存到組成RAID5的各個磁碟上,並且奇偶校驗資訊和相對應的資料分別儲存於不同的磁碟上。當RAID5的一個磁碟資料發生損壞後,利用剩下的資料和相應的奇偶校驗資訊去恢復被損壞的資料。


RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供資料安全保障,但保障程度要比Mirror低而磁碟空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的資料讀取速度,只是多了一個奇偶校驗資訊,寫入資料的速度比對單個磁碟進行寫入操作稍慢。同時由於多個資料對應一個奇偶校驗資訊,RAID 5的磁碟空間利用率要比RAID 1高,儲存成本相對較低。
評論:感覺RAID 5 好象比0 和1 好些  至少一個硬碟出問題的話 其他的 可以對 該硬碟恢復哦
要是你係統崩潰的話,什麼Raid也是白搭。比RAID0 和1好.可惜的是很的RAID卡不支援,只有伺服器才支援這種功能.家用電腦就用不著了。

小問答:

問:RAID卡在什麼時間進行資料備份呢會不會影響開關機的速度呀.是不是實時的備份呀.
答:目前都是實時線上自動備份,不會影響開關機速度! 目前各大伺服器廠商都已經把RAID1,0,當作標準配置了,沒有什麼神秘性了。
問:我有兩個73G和兩個146G的硬碟,要做一個RAID 0和RAID 1,怎麼分配硬碟?是把兩個73G的做RAID 0還是把兩個146G的做RAID 0,這有什麼區別沒有?
答:無論那2塊硬碟做RAID,同等容量即可,73或146都可以!沒有特別的差別。
問: 到底是怎麼組合的啊?
答:這種RAID就像是由RAID 0和RAID 1組合而成。方法就是映象一個序列集和或將映象做序列格式化。這樣的效果是相同的。因為使用了序列結構,所以讀寫效能極佳,只要沒有損壞的硬碟需要重新映象。系統也十分可靠,因為資料在另外一部硬碟上還是有一份完整的備份。不過必須比RAID 0多用一倍的硬碟數來達到相同的容量。
問:請教一下,RAID10的總的儲存空間是多大啊,假如說DISK1和DISK2做成RAID0,DISK3和DISK4做成RAID1,那RAID0和RAID1之間的關係又是怎樣的啊?他們的儲存空間是不是120(假如每個是40)?
問: 容量目前沒有具體限制,如果是4塊硬碟,2塊是儲存用,2塊備份用,成本要提高一倍,儲存資料只是2塊硬碟!先DISK1和DISK2做RAID0, DISK3和DISK4做RAID0。在做這兩個虛擬盤的RAID1。容量是DISK1+DISK2,DISK3和DISK4作為備份。這是RAID1+ 0,不是RAID0+1,這是有先映象還是先分條帶順序的.
被稱為RAID10的當然是RAID1+0,即是先映象後分條帶.從原理上自己也可以算的出來的.RAID5相對RAID10節省空間,讀取速度和RAID10差不多,但是寫入速度比RAID10差.因為多了校驗.想提醒的是,RAID5 是不備份,只是校驗位,同時壞掉2個硬碟就不行了,所以,可靠性,比RAID10差的多。按照你說的每塊是40G,那麼做完raid1+0後儲存容量是 80G。RAID 3是把資料分成多個“塊”,按照一定的容錯演算法,存放在N+1個硬碟上,實際資料佔用的有效空間為N個硬碟的空間總和,而第N+1個硬碟上儲存的資料是校驗容錯資訊,當這N+1個硬碟中的其中一個硬碟出現故障時,從其它N個硬碟中的資料也可以恢復原始資料,這樣,僅使用這N個硬碟也可以帶傷繼續工作(如採集和回放素材),當更換一個新硬碟後,系統可以重新恢復完整的校驗容錯資訊。由於在一個硬碟陣列中,多於一個硬碟同時出現故障率的機率很小,所以一般情況下,使用RAID3,安全性是可以得到保障的。與RAID0相比,RAID3在讀寫速度方面相對較慢。使用的容錯演算法和分塊大小決定 RAID使用的應用場合,在通常情況下,RAID3比較適合大檔案型別且安全性要求較高的應用,如影片編輯、硬碟播出機、大型資料庫等.
補充: RAID 3採用的是一種較為簡單的校驗實現方式,使用一個專門的磁碟存放所有的校驗資料,而在剩餘的磁碟中建立帶區集分散資料的讀寫操作。例如,在一個由4塊硬碟構成的RAID 3系統中,3塊硬碟將被用來儲存資料,第四塊硬碟則專門用於校驗。這種配置方式可以用3+1的形式表示。第四塊硬碟中的每一個校驗塊所包含的都是其它3塊硬碟中對應資料塊的校驗資訊。RAID 3的成功之處就在於不僅可以象RAID 1那樣提供容錯功能,而且整體開銷從RAID  1的50%下降為25%(RAID 3+1)。隨著所使用磁碟數量的增多,成本開銷會越來越小。舉例來說,如果我們使用7塊硬碟,那麼總開銷就會將到 12.5%(1/7)。  
問:請問Raid5中的一個磁碟資料損壞了,該怎麼補救呀
答:RAID5恢復資料步驟: 
  1、將損壞的硬碟拆下,換上一塊新的硬碟。  
  2、從"磁碟管理"中,為新硬碟選中一塊大於或等於條帶區的區域(注:該區域必須是事先做了刪除,而且是空閒的)。 
  3、 選定原先做好的帶奇偶校驗的分條集的一部分,按住Ctrl鍵點中新的硬碟的空閒區域,選擇"容錯"選單,單擊"重建"。 
  4、 下拉"分割槽"選單,單擊"立即更改"命令。  
  5、 退出磁碟管理器。  
  6、 執行RDISK.EXE,進行更新修復資訊。然後重啟計算機。系統會根據奇偶校驗資訊和其他資訊自動恢復丟失的資料。
問:RAID3和RAID4都有一個額外的校驗磁碟,如果損壞的是校驗磁碟,那麼也必能恢復資料了??需要從新計算校驗資訊儲存作為備份盤???!!!
議論:RADI 5 依然有資料丟失的風險,同一個陣列上兩塊及以上壞盤時,整個陣列上的資料就會丟失!硬碟級資料保護最基礎的保證,其實還看單塊盤的可靠!
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/173007/viewspace-969563/,如需轉載,請註明出處,否則將追究法律責任。

相關文章