解析RAID技術基礎知識及應用
作者:IT168
RAID已經是一種在服務器上廣泛應用的磁盤技術,磁盤陣列(Redundant Arrays of Inexpensive Disks,RAID)有“價格便宜且多余的磁盤陣列”之意,原理是利用數(shù)組方式來作磁盤組,配合數(shù)據分散排列的設計,提升數(shù)據的安全性。
RAID已經是一種在服務器上廣泛應用的磁盤技術,磁盤陣列(Redundant Arrays of Inexpensive Disks,RAID)有“價格便宜且多余的磁盤陣列”之意,原理是利用數(shù)組方式來作磁盤組,配合數(shù)據分散排列的設計,提升數(shù)據的安全性。
磁盤陣列是由很多便宜、容量較小、穩(wěn)定性較高、速度較慢磁盤,組合成一個大型的磁盤組,利用個別磁盤提供數(shù)據所產生加成效果提升整個磁盤系統(tǒng)效能。同時利用這項技術,將數(shù)據切割成許多區(qū)段,分別存放在各個硬盤上。磁盤陣列還能利用同位檢查(Parity Check)的觀念,在數(shù)組中任一顆硬盤故障時,仍可讀出數(shù)據,在數(shù)據重構時,將數(shù)據經計算后重新置入新硬盤中。RAID技術具體有怎樣的特點?有哪些級別?又常應用于哪些設備?CUer好好先生在ChinaUnix社區(qū)中發(fā)布了一篇“RAID技術基礎知識”帖子,以下引用了該帖子內容:
RAID技術基礎知識
RAID為Redundant Arrays of Independent Disks的簡稱,中文為廉價冗余磁盤陣列。在1987年由美國柏克萊大學提出RAID(Redundant Arrayof Inexpensive Disks)理論,作為高性能的存儲系統(tǒng),巳經得到了越來越廣泛的應用。RAID的級別從RAID概念的提出到現(xiàn)在,巳經發(fā)展了多個級別,有明確標準級別分別是0、1、2、3、4、5等。但是最常用的是0、1、3、5四個級別。其他還有6、7、10、30、50等。RAID為使用者降低了成本、增加了執(zhí)行效率,并提供了系統(tǒng)運行的穩(wěn)定性。
標準的RAID寫操作,包括如:RAID4或RAID5中所必需的校驗計算,需包括以下幾個步驟:
(1)以校驗盤中讀取數(shù)據
(2)以目標數(shù)據盤中讀取數(shù)據
(3)以舊校驗數(shù)據,新數(shù)據及已存在數(shù)據,生成新的校驗數(shù)據
(4)將新校驗數(shù)據寫入校驗盤
(5)將新數(shù)據寫入目標數(shù)據盤
當主機將一個待寫入陣列RAID組中的數(shù)據發(fā)送到陣列時,陣列控制器將該數(shù)據保存在緩存中并立即報告主機該數(shù)據的寫入工作已完成。該數(shù)據寫入到陣列硬盤的工作由陣列控制器完成,該數(shù)據可繼續(xù)存放在Cache中直到Cache滿,而且要為新數(shù)據騰出空間而必須刷新時或陣列需停機時,控制器會及時將該數(shù)據從Cache寫入陣列硬盤中。
這種緩存回寫技術使得主機不必等待RAID校驗計算過程的完成,即可處理下一個讀寫任務,這樣,主機的讀寫效率大為增加。當主機命令將一個數(shù)據寫入硬盤,則陣列控制器將該數(shù)據寫入緩存最上面的位置,只有新數(shù)據才會被控制器按Write-Back Cache的方式最后寫入硬盤。
RAID級別
NRAID:
硬盤連續(xù)使用。NRAID意思是不使用RAID功能。它使用硬盤的總容量組成邏輯碟(不使用條塊讀寫)。換句話說,它生成的邏輯碟容量就是物理碟容量的總和。此外,NRAID不提供資料的備余。
JBOD:
JBOD的含意是控制器將機器上每顆硬盤都當作單獨的硬盤處理,因此每顆硬盤都被當作單顆獨立的邏輯碟使用。此外,JBOD并不提供資料備余的功能。
RAID0:RAID 0 - Disk Stripping without parity (常用)
又稱數(shù)據分塊,即把數(shù)據分成若干相等大小的小塊,并把它們寫到陣列上不同的硬盤上,這種技術又稱“Stripping”(即將數(shù)據條帶化),這種把數(shù)據分布在多個盤上,在讀寫時是以并行的方式對各硬盤同時進行操作。從理論上講,其容量和數(shù)據傳輸率是單個硬盤的N倍。N為構成RAID0的硬盤總數(shù)。當然,若陣列控制器有多個硬盤通道時,對多個通道上的硬盤進行RAID0操作,I/O性能會更高。因此常用于圖象,視頻等領域,RAID0 I/O傳輸率較高,但平均故障時間MTTF只有單盤的N分之一,因此RAID0可靠性最差。
RAID1:RAID 1 - Disk Mirroring(較常用)
又稱鏡像。即每個工作盤都有一個鏡像盤,每次寫數(shù)據時必須同時寫入鏡像盤,讀數(shù)據時只從工作盤讀出,一旦工作盤發(fā)生故障立即轉入鏡像盤,從鏡像盤中讀出數(shù)據。當更換故障盤后,數(shù)據可以重構,恢復工作盤正確數(shù)據,這種陣列可靠性很高,但其有效容量減小到總容量一半以下,因此RAID1常用于對容錯要求極嚴的應用場合,如財政、金融等領域。
RAID (0+1):
結合了RAID 0 和 RAID 1—條塊化讀寫的同時使用鏡像操作。RAID(0+1)允許多個硬盤損壞,因為它完全使用硬盤來實現(xiàn)資料備余。如果有超過兩個硬盤做RAID 1,系統(tǒng)會自動實現(xiàn)RAID (0+1)。
RAID2:
又稱位交叉,它采用漢明碼作盤錯校驗,采用按位交叉存取,運用于大數(shù)據的讀寫,但冗余信息開銷太大(校驗盤為多個),已被淘汰。
RAID3:RAID 3 - Parallel Disk Array
為單盤容錯并行傳輸。即采用Stripping技術將數(shù)據分塊,對這些塊進行異或校驗,校驗數(shù)據寫到最后一個硬盤上。它的特點是有一個盤為校驗盤,數(shù)據以位或字節(jié)的方式存于各盤(分散記錄在組內相同扇區(qū)的各個硬盤上)。當一個硬盤發(fā)生故障,除故障盤外,寫操作將繼續(xù)對數(shù)據盤和校驗盤進行操作。而讀操作是通過對剩余數(shù)據盤和校驗盤的異或計算重構故障盤上應有的數(shù)據來進行的。RAID3的優(yōu)點是并行I/O傳輸和單盤容錯,具有很高可靠性。缺點:每次讀寫要牽動整個組,每次只能完成一次I/O。
RAID4:
與RAID3相似,區(qū)別是:RAID3是按位或字節(jié)交叉存取,而RAID4是按塊(扇區(qū))存取,可以單獨地對某個盤進行操作,無須像RAID3那樣,哪怕每一次小I/O操作也要涉及全組,只需涉及組中兩塊硬盤(一塊數(shù)據盤,一塊校驗盤)即可,從而提高了小量數(shù)據I/O速度。缺點:對于隨機分散的小數(shù)據量I/O,固定的校驗盤又成為I/O瓶頸,例如:事務處理。作兩個很小的寫操作,一個寫在drive2的stripe1 上,一個寫在drive3的stripe2上,它們都要往校驗盤上寫,所以發(fā)生爭用校驗盤的問題。
RAID5:RAID 5 - Striping with floating parity drive(最常用)
是一種旋轉奇偶校驗獨立存取的陣列方式,它與RAID3,RAID4不同的是沒有固定的校驗盤,而是按某種規(guī)則把奇偶校驗信息均勻地分布在陣列所屬的硬盤上,所以在每塊硬盤上,既有數(shù)據信息也有校驗信息。這一改變解決了爭用校驗盤的問題,使得在同一組內并發(fā)進行多個寫操作。所以RAID5即適用于大數(shù)據量的操作,也適用于各種事務處理,它是一種快速、大容量和容錯分布合理的磁盤陣列。當有N塊陣列盤時,用戶空間為N-1塊盤容量。
RAID3、RAID5中,在一塊硬盤發(fā)生故障后,RAID組從ONLINE變?yōu)镈EGRADED方式,但I/O讀寫不受影響,直到故障盤恢復。但如果DEGRADED狀態(tài)下,又有第二塊盤故障,整個RAID組的數(shù)據將丟失。
RAID技術的應用
DAS--direct access storage device直接訪問存儲設備
DAS是磁盤存儲設備的術語,以前被用在大、中型機上。使用在PC機上還包括硬盤設備DAS的最新形式是RAID。“直接訪問”指訪問所有數(shù)據的時間是相同的。
NAS--Network Attached Storage網絡附加存儲設備
一種特殊目的的服務器,它具有嵌入式的軟件系統(tǒng),可以通過網絡對個種的系統(tǒng)平臺提供文件共享服務。
SAN--Storage Area Networks存儲區(qū)域網
一種高速的專用網絡,用于建立服務器、磁盤陣列和磁帶庫之間的一種直接聯(lián)接。它如同擴展的存儲器總線,將專用的集線器、交換器以及網關或橋路互相連接在一起。SAN常使用光纖通道。一個SAN可以是本地的或者是遠程的,也可以是共享的或者是專用的。SAN打破了存儲器與服務器之間的束縛,允許你獨立地選擇最佳的存儲器或者是最佳的服務器,從而提高可擴性和靈活性。
【編輯推薦】
責任編輯:趙寧寧