天天看點

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

LVM技術是通過将底層實體硬碟抽象封裝起來,以邏輯卷的形式表現給上層系統,邏輯卷的大小可以動态調整,而且不會丢失現有資料。新加入的硬碟也不會改變現有上層的邏輯卷。作為一種動态磁盤管理機制,邏輯卷技術大大提高了磁盤管理的靈活性。而RAID技術通過把多個硬碟裝置組合成一個容量更大、安全性更好的磁盤陣列,并把資料切割成多個區段後分别存放在各個不同的實體硬碟裝置上,然後利用分散讀寫技術來提升磁盤陣列整體的性能,同時把多個重要資料的副本同步到不同的實體硬碟裝置上,進而起到了非常好的資料備援備份效果,本次測試我們将兩者結合起來使用

一.添加硬碟

建立raid磁盤陣列的時候,最好使用一樣的硬碟,是以我們添加了5塊大小都是2G的硬碟,分别為sdc,sdd,sde,sdf,sdg(raid5最少需要3塊盤,添加5塊是由于測試需要)

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結
Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

二.建立磁盤陣列

輸入mdadm -Cv /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sd{ c,d,e,f } 指令來建立raid5磁盤陣列

-n:指定裝置數

-x:指定空閑裝置數,即熱備盤

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

使用mdadm -D /dev/md0來檢視磁盤陣列的詳細資訊

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

三.建立LVM

輸入pvcreate /dev/md0 來建立實體卷/dev/md0

輸入 vgcreate myvg /dev/md0 來建立卷組myvg

輸入 lvcreate -n /dev/myvg/vo -L 300M myvg 來建立邏輯卷vo

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

對邏輯卷vo進行格式化,此時要注意在格式化邏輯卷時,使用ext檔案系統,邏輯卷的大小可增可減,而用xfs檔案系統的話,隻能增不能減,是以這裡我們選用ext4檔案系統進行格式化

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

然後挂載在/lvm目錄下,并輸入echo "/dev/myvg/vo /lvm ext4 defaults 0 0 >> /etc/fstab"設定自動挂載

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

四.測試

1.首先我想看我的raid5磁盤陣列能否進行最基本的IO操作

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

OK,一切正常

2.模拟損壞一塊硬碟後進行測試

首先我們輸入cat /proc/mdstat 來檢視目前陣列的狀态

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

然後使用 mdadm /dev/md0 -f /dev/sde來模拟一塊硬碟損壞

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

可以看到,因為我們最開始添加了一塊熱備盤,是以當正在工作的三塊盤有一塊發生故障時,空閑的熱備盤會立馬補上去,進而起到了較好的資料保護作用。當熱備盤補上去後,spare Device後面的數字會變為0,表示現在沒有熱備盤了。

既然硬碟sde已經損壞,我們就要把它從陣列中移除

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

移除掉sde後,因為raid磁盤陣列并沒有受到影響,是以再對磁盤中的檔案進行各種操作都是可以的,先前的資料也并沒有因為一塊硬碟損壞而丢失

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

3.沒有熱備盤的情況下,要是再有一塊盤損壞了,會不會造成資料丢失呢?

我們在沒有熱備盤的情況下,再模拟一塊硬碟損壞

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

在raid5陣列中隻有一塊磁盤損壞的情況下,還是可以正常使用的,但是就沒有資料備援的能力了,此時我們輸入cat /proc/mdstat檢視陣列資訊

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

當一個裝置出現故障或被标記故障時,相應裝置的方括号後将被标以(F),如sdf[3](F),其中“[3/2]”的第一位數表示陣列所包含的裝置數,第二位數表示活動的裝置數,因為目前有一個故障裝置,是以第二位數為2;這時的陣列以降級模式運作,雖然該陣列仍然可用,但是不具有資料備援;而“[UU_]”表示目前陣列可以正常使用的裝置是/dev/sdc和/dev/sdd,如果是裝置“/dev/sdc”出現故障時,則将變成[_UU]

4.上面的測試中,一塊硬碟損壞後,因為有熱備盤,是以損壞後,熱備盤會直接頂上去,陣列也不會受影響。現在沒有熱備盤了,當陣列中一塊硬碟損壞時,資料的安全級别就會大幅降低,倘若再壞一塊硬碟,那麼勢必會造成資料丢失,是以我們需要及時添加硬碟

添加硬碟sdg

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

添加完成當我們檢視目前磁盤陣列資訊的時候會發現活躍的硬碟有兩個,空閑的有一個,然後下面有個Rebulid Status:79%這表明陣列正在重建,稍等一下再次檢視

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

這時候我們發現活躍的硬碟變成了三個,空閑的變成了0,這表明陣列已經重建完成

5.raid5最多隻能支援一塊盤損壞的情況下正常工作,那要是損壞了兩塊呢?

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

我們同時損壞兩塊盤後,再對硬碟進行操作

Linux中RAID5和LVM的組合使用一.添加硬碟二.建立磁盤陣列三.建立LVM四.測試五.總結

這時就會發現,當同時有兩塊盤損壞時,整個raid陣列就會損壞,這時就會變成隻讀模式。

五.總結

1.RAID和LVM的組合使用與單獨建立raid5和lvm的步驟是有差別的

2.當一塊硬碟損壞後要及時添加新的進來

3.測試完成删除邏輯卷和raid時,記得要把自動挂載取消了,否則下次開機時可能會有錯誤