Raid分為軟件Raid和硬件Raid,因為硬件Raid價格昂貴,所以也有人選擇使用軟件Raid,Raid使用方便且花費較低,下面小編就給大家介紹下Linux如何操作軟件Raid。
一、什麼是Raid
Raid早期叫作:Redundant Arrays of Inexpensive Disks 容錯式廉價磁盤陣列,現在叫作:Redundent Array of Independent Disks,容錯式獨立磁盤陣列。這是一種使用某種機制把多塊硬盤組合在一起使用,並且帶有容錯功能的存儲模塊。可以簡單的理解為,這是一種將幾塊小的硬盤組合成一塊帶有容錯功能的大硬盤。Raid通常分好幾個等級,例如常見的有:Raid0、Raid1、Raid4、Raid5、Raid6、Raid10、Raid01。Raid的等級並不是通常意義上的等級,這個等級代表的是幾種內在存儲結構模式完全不一樣的磁盤組合。Raid通常用於對數據的存儲存在風險且對數據的讀寫能力要求較高的項目中。
Raid又分硬件Raid和軟件Raid,兩種Raid結構相同,實現機制類似。不同的是,硬件Raid有專門獨立的一塊芯片負責處理數據,功能強大,性能突出;而軟件Raid對數據的讀寫卻只能依靠CPU處理,因此性能較弱,對於應急處理時可以拿來使用,其它情況下不太贊同使用軟件Raid。
二、Linux中對軟件Raid的操作
在Linux中通常使用 mdadm 工具對磁盤分區作軟Raid操作,mdadm一般是調用系統的md模塊工作。md作軟raid時,可以把任何塊設備做成raid,如系統分區。當給系統磁盤做raid0時不建議使用同一塊硬盤上的兩個分區,因為raid0本身就是為了讓數據分散,但是這種情況還是把數據存儲在了一個硬盤上,所以這種情況沒有任何意義。此處因為實驗原因,在虛擬機上操作,故對Raid0操作不考慮此因素。
mdadm為模式化工具,有以下幾種模式
-A: 裝配模式
-C: 創建模式
-F: 監控模式
-C: 創建模式 常用參數:
-n #: 用於創建RAID設備的設備個數
-x #: 熱備磁盤的個數
-l 級別: 自定義raid級別,raid0,0兩種寫法都行
-a yes: 自動為創建的raid設備創建設備文件;
-c Chunk_Size: 指定分塊大小,默認為512,單位為KB
mdadm其它獨參數:
-f:模擬設備為損壞
-r:模擬拔出壞磁盤
-a:把新設備插上
-S: 把RAID停了,此操作需要卸載設備
-D(--detail): 顯示陣列的詳細信息
下面,我們來新建一個12G的Raid0
1、首先用系統fdisk工具對硬盤分區,分兩個大小為6G格式為 Linux raid autodetect的磁盤。
此處我的兩個磁盤分別為/dev/sdb1和/dev/sdb2
2、使用kpart和partx命令刷新系統分區表記錄
kpartx -af /dev/sdb
partx -a /dev/sdb
然後再使用cat命令查看分區表記錄,當列表中出現你新分的分區時你就可以創建raid了
cat /proc/partitions
3、使用命令mdadm -C創建Raid0
mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}
-C /dev/md0 設備名為/dev/md0
-a yes 出現問題自動回答為yes
-l 0 等級為raid0
-n 2 設備數為2
/dev/sdb{1,2} 設備為/dev/sdb1和/dev/sdb2
此處有時會提示分區被占用,但仍然能創建成功,操作的時候可以不間斷的查看raid情況
4、查看Raid情況
cat /proc/mdstat
查看Raid詳細情況
mdadm -D /dev/md0
5、此時Raid創建成功了,接下來就可以正常使用設備了
mke2fs -t ext4 /dev/md0
mount /dev/md0 /web
給設備格式化,掛載,然後就可以像正常分區般的使用了。
6、Raid的其它操作
由於電腦原因,創建Raid5時,Raid要對磁盤作結構同步的操作,分20M的分區這個過程都無比的漫長
於是不針對本文作Raid熱備和設備上架配圖,只貼代碼。
-f 模擬設備損壞
#模擬設備/dev/sdb1為損壞狀態,此時如果有熱備磁盤
#熱備磁盤會自動上位替補該磁盤
mdadm /dev/md0 -f /dev/sdb1
-r 拔出壞磁盤
mdadm /dev/md0 -r /dev/sdb1
-a 新磁盤換上
mdadm /dev/md0 -a /dev/sdb2
7、當Raid不想使用時,可以使用-S把Raid停了,此操作需卸載分區
mdadm -S /dev/md0
上面就是Linux操作軟件Raid的方法介紹了,在操作軟件Raid時,需對其常用參數有一定的了解,通過本文的介紹可以了解軟件Raid的一些基本操作。