1. 程式人生 > >RAID廉價磁盤冗余陣列

RAID廉價磁盤冗余陣列

有一個 出現問題 陣列 查看 組合 自動創建 選擇 如果 處理

一.什麽是RAID
RAID(Redundant Array of Independent Disk 獨立冗余磁盤陣列)技術是加州大學伯克利分校1987年提出,最初是為了組合小的廉價磁盤來代替大的昂貴磁盤,同時希望磁盤失效時不會使對數據的訪問受損 失而開發出一定水平的數據保護技術。RAID就是一種由多塊廉價磁盤構成的冗余陣列,在操作系統下是作為一個獨立的大型存儲設備出現。RAID可以充分發 揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易於管理的優點,在硬盤出現問題的情況下都可以繼續工作,不會 受到損壞硬盤的影響。

二、RAID的實現方式

外接式磁盤陣列:通過擴展卡提供適配能力
內接式RAID:主板集成RAID控制器
安裝OS前在BIOS裏配置
軟件RAID:通過OS實現

三、RAID常用的幾種工作模式
1、RAID0
即Data Stripping數據分條技術。RAID 0可以把多塊硬盤連成一個容量更大的硬盤群,可以提高磁 盤的性能和吞吐量。RAID 0沒有冗余或錯誤修復能力,成本低,要求至少兩個磁盤,一般只是在那些對數 據安全性要求不高的情況下才被使用。空間利用率高。

RAID 0的工作方式:

技術分享

圖1

如圖1所示:系統向 三個磁盤組成的邏輯硬盤(RADI 0 磁盤組)發出的I/O數據請求被轉化為3項操作,其中的每一項操作都對應於一塊物理硬盤。我們從圖中可以清楚的看到通過建立RAID 0,原先順序的數據請求被分散到所有的三塊硬盤中同時執行。
從理論上講,三塊硬盤的並行操作使同一時間內磁盤讀寫速度提升了3倍。 但由於總線帶寬等多種因素的影響,實際的提升速率肯定會低於理論值,但是,大量數據並行傳輸與串行傳輸比較,提速效果顯著顯然毋庸置疑。
RAID 0的缺點

是不提供數據冗余,因此一旦用戶數據損壞,損壞的數據將無法得到恢復。
RAID 0具有的特點,使其特別適用於對性能要求較高,而對數據安全不太在乎的領域,如圖形工作站等。對於個人用戶,RAID 0也是提高硬盤存儲性能的絕佳選擇。

為什麽要用RAID 0
RAID 0至少需要兩塊硬盤才能夠實現,它的容量為組成這個系統的各個硬盤容量之和,這幾塊硬盤的容量要相同,在家用IDE RAID中一般級聯兩塊硬盤,一定要用同型號同容量的硬盤。RAID 0模式向硬盤寫入數據的時候把數據一分為二,分別寫入兩塊硬盤,讀取數據的時候則反之,這樣的話,每塊硬盤只要負擔一半的數據傳輸任務,得到的結果也就是 速度的增加

2、RAID 1 (又稱為Mirror或Mirroring--鏡像)
RAID 1稱為磁盤鏡像:把一個磁盤的數據鏡像到另一個磁盤上,在不影響性能情況下最大限度的保證系統的可靠性和可修復性上,具有很高的數據冗余能力,但磁盤利用 率為50%,故成本最高,多用在保存關鍵性的重要數據的場合。RAID 1的操作方式是把用戶寫入硬盤的數據百分之百地自動復制到另外一個硬盤上。

RAID 1有以下特點
(1)、RAID 1的每一個磁盤都具有一個對應的鏡像盤,任何時候數據都同步鏡像,系統可以從一組 鏡像盤中的任何一個磁盤讀取數據。
(2)、磁盤所能使用的空間只有磁盤容量總和的一半,系統成本高。
(3)、只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行。

RAID 1的工作方式:

技術分享

圖2

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

3、 RAID 5

RAID5 至少由3塊磁盤組成,一塊磁盤作為校驗盤。 在一個盤的數據丟失時,采用奇偶校驗的方式恢復數據。

有一個磁盤作為校驗盤。技術分享

圖3

RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 以四個硬盤組成的RAID 5為例,其數據存儲方式如圖4所示:圖中,Ap為A1,A2和A3的奇偶校驗信息,其它以此類推。由圖中可以看出,RAID 5不對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁盤 上。當RAID5的一個磁盤數據發生損壞後,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。

4、 RAID 10

技術分享

圖4

RAID10 是RAID1與RAID0 的組合陣列,可不是 RAID10(十)由RAID1與RAID0組成的陣列,擁有RAID1和RAID0的有點,有較好的容錯率(底層是RAID1陣列,只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行。),讀寫效率有提高,但損失的空間更多,造價高。

創建 raid

首先在虛擬機中新建若幹硬盤設備,硬盤大小可以設置為相同大小。因為在RAID陣列中,以同一陣列中空間最小的硬盤大小為磁盤空間大小。

技術分享

mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}

技術分享

技術分享

這是以sdb,sdc,sdd,sde,四塊硬盤組成的RAID5陣列,由圖可以看出,生成的RAID5陣列是可以看做一個新的硬盤。

可以對其進行分區處理

技術分享

將磁盤格式化,並掛載

技術分享

掛載後產看此時的磁盤信息

技術分享

使用

mdadm -D /dev/md0 命令查看RAID信息

技術分享

顯示了組成RAID的成員

技術分享

命令總結:
-C --create /dev/mdX 創建 名為mdX 的raid
-a yes 當沒有所有的/dev/mdX 設備時,自動創建該設備
-l --level n 所要創建的raid等級
-n n 該raid的數據盤有多少個成員
-x n 該raid的熱備盤有多少個 raid0 不支R持-x
-c 值 指定chunk大小,僅限raid0 raid5
/dev/sdx.... 指定raid的成員盤。

刪除raid

首先卸載
umount

技術分享

mdadm -D /dev/md2 先查一下,該raid由哪有成員組成

技術分享
mdadm -S /dev/md0 停止設備

技術分享

此時在啟用設備會出現錯誤提示,

技術分享

因為沒有將RAID陣列的成員信息存儲下來,導致系統找不到成員,設備啟動不起來,只能手動輸入成員,啟動設備。

技術分享

使用 mdadm -Ds /dev/md0 命令查看 成員信息

技術分享

將信息存儲到 /etc/mdadm.conf 文件中

技術分享

設備停止後可以直接啟動了

技術分享

使用
mdadm --zero-superblock /dev/sd*
mdadm --zero-superblock /dev/sd*刪除RAID成員信息
清空/etc/mdadm.conf當中,該raid的信息,就成功刪除該RAID

RAID廉價磁盤冗余陣列