RAID功能介紹及其使用
獨立硬盤冗余陣列(RAID, Redundant Array of Independent Disks),舊稱廉價磁盤冗余陣列(Redundant Array of Inexpensive Disks),簡稱磁盤陣列。其基本思想就是把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使性能達到甚至超過一個價格昂貴、容量巨大的硬盤。根據選擇的版本不同,RAID比單顆硬盤有以下一個或多個方面的好處:增強數據集成度,增強容錯功能,增加處理量或容量。另外,磁盤陣列對于電腦來說,看起來就像一個單獨的硬盤或邏輯存儲單元。分為RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50,RAID-60。
簡單來說,RAID把多個硬盤組合成為一個邏輯扇區,因此,操作系統只會把它當作一個硬盤。RAID常被用在服務器電腦上,并且常使用完全相同的硬盤作為組合。由于硬盤價格的不斷下降與RAID功能更加有效地與主板集成,它也成為玩家的一個選擇,特別是需要大容量存儲空間的工作,如:視頻與音頻制作。
最初的RAID分成不同的檔次,每種檔次都有其理論上的優缺點,不同的檔次在兩個目標間獲取平衡,分別是增加數據可靠性以及增加存儲器(群)讀寫性能。這些年來,出現對于RAID觀念不同的應用。
RAID級別 |
讀寫性能 |
可用空間 |
容錯能力 |
最少磁盤數 |
安全性 |
RAID-0 |
讀寫性能有所提升 |
N*min(s1,s2,,,,, |
無容錯能力 |
2,2+ |
低 |
RAID-1 |
讀磁盤倍數,寫下降 |
1(無論多少塊磁盤,都只能單一塊磁盤用 |
有冗余能力 |
2,2+ |
高(備份了一份) |
RAID-5 |
讀性能提升,寫>RAID-1,小于RAID-0 |
(N-1)*min(s1,s2,,, |
有容錯能力 有冗余能力 |
3,3+ |
較高(有一塊硬盤做校驗,交叉使用的) |
RAID-6 |
讀性能提升,寫>RAID-1,小于RAID-0 |
(N-2)*min(s1,s2,,, |
有容錯能力 有冗余能力 |
4,4+ |
較高(有兩塊硬盤做校驗,交叉使用的) |
RAID-10 |
先做鏡像,在分區存儲,都提升 讀:N,寫:N/2 |
(N-2)*min(s1,s2,,,/2 |
有容錯能力 每組磁盤只能壞一塊 |
4,4+ |
折中方案 較高 |
RAID 5
RAID Level 5是一種儲存性能、數據安全和存儲成本兼顧的存儲解決方案。它使用的是Disk Striping(硬盤分區)技術。RAID 5至少需要三塊硬盤,RAID 5不是對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上。當RAID5的一個磁盤數據發生損壞后,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供數據安全保障,但保障程度要比鏡像低而磁盤空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的數據讀取速度,只是因為多了一個奇偶校驗信息,寫入數據的速度相對單獨寫入一塊硬盤的速度略慢,若使用“回寫緩存”可以讓性能改善不少。同時由于多個數據對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較便宜。
軟件磁盤陣列(Software RAID)
主要由電腦主板CPU處理數組存儲作業,缺點為耗損較多CPU資源運算RAID,優點則是價格偏低。分類有二種:
純軟件磁盤陣列(Pure Software RAID):只需要主板支持即可,不需要任何磁盤陣列卡。若主板損壞,可能難以購買同款主板重建RAID。
硬件輔助磁盤陣列(Hardware-Assisted RAID):需要一張RAID卡,以及廠商所提供的驅動程序。這款RAID較易遷移到其他電腦。
硬件磁盤陣列(Hardware RAID)
RAID卡上內置處理器,不需要服務器的CPU運算。優點是讀寫性能最快,不占用服務器資源,可用于任何操作系統,也能在系統斷電后,通過備份電池模塊(BBU, Backup Battery Unit)以及非易失性存儲器 (NVRAM)將硬盤讀寫日志檔(Journal)包含的剩余讀寫作業先紀錄在存儲器中,等待電力供應撤消后,再由NVRAM取回日志檔數據,接著再完成讀寫作業,將剩余讀寫作業安全完成以確保讀寫完整性。備份電池模塊通常會配合數組卡的Write-Back緩存模式,借由此存儲器緩存讀寫作業以得到更高的讀寫性能;但是沒有備份電池模塊的硬件磁盤陣列卡,切勿使用Write-Back緩存模式以免遭遇斷電情形導致讀寫數據流失。此外,因為硬件磁盤陣列卡搭載CPU處理器,所以可以與系統分離出來,對硬盤進行各種作業,還原作業的速度也比軟件磁盤陣列快。缺點是其售價很高,通常只用于RAID 5和RAID 6。
Mdadm:模塊化工具
命令語法:mdadm [mode] <raiddevice> [options] <component-devices]
模式:
創建:-C
裝配:-A
監控:-F
管理:-f, -r , -a
<raiddvice>:/dev/md#
<componen-devices>:任意塊設備
-C:創建模式
-n # :使用#個塊設備來創建此RAID
-l #: 指明創建的RAID的級別
-a {yes|no}:自動創建目標RAID設備的設備文件
-c CHUNK_SIZE:指明塊大小
-x #:指明空閑盤的個數
-D:顯示RAID的詳細信息
mdadm -D /dev/md#
管理模式:
-f:指定壞的磁盤
-a:指定加入磁盤
-r:指定 移除磁盤
實踐操作:
~]# fdisk /dev/sda; 創建多個分區,并調整系統ID為Linux Raid auto(fd)
~]#partx -a /dev/sda;內核加載分區表
~]#cat /proc/mdstat
~]#mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{4,5,6,7}
~]#mke2fs -t ext4 -b 2048 -L MYDATA /dev/dm0
~]#mkdir /mydata
~]#mount /dev/md0 /mydata
注意:最好是用標簽輸入在/etc/fstab
~]#mdadm -D /dev/md0
~]#mdadm /dev/md0 -f /dev/sda# ;要標記壞的盤
~]#cat /proc/mdstat ; 已經開始重新同步了
~]#watch -n1 ‘cat /proc/mdstat’ ;每一秒種刷新一次
~]#mdadm -D /dev/dm0
~]#mdadm /dev/md0 -r /dev/sda# ;要移除壞的磁盤
~]#mdadm /dev/md0 -a /dev/sda# ;要加入的磁盤
原創文章,作者:不忘初衷,如若轉載,請注明出處:http://www.www58058.com/65999
總結的很好,圖文并茂,加油?。?!