RAID與邏輯卷作為磁盤管理的方式,各有各的優勢。RAID是多個磁盤合成一個陣列,以便提供更好的性能;邏輯卷相對于分區來說,可以在線擴展空間,也可以縮減空間??梢岳密浖姆绞絹韺崿FRAID與邏輯卷。
一、利用軟件方式實現RAID
利用sdb sdc sdd sde四個硬盤創建RAID-5:
1.創建RAID要求磁盤空間大小相同,或劃分相同分區。
2. mdadm -C /dev/md5 -l 5 -n3 -x 1 /dev/sd{b,c,d,e}(創建RAID)
其中,/dev/md5表示RAID的設備名,-l 5 表示創建的RAID的級別為5,-n3表示有3塊硬盤合成RAID,-x 1表示空閑磁盤的個數為1(sde作為備用磁盤)。
3. mdadm -D /dev/md5 (查看是否創建成功)
4.mdadm -Ds /dev/md5>/etc/mdadm.conf (將生成的配置文件保存至/etc/mdadm.conf,用來恢復,激活RAID設備)
5.mkfs.ext4 /dev/md5 (創建文件系統)
6.mkdir /mnt/raid5
mount /dev/md5 /mnt/raid5 (掛載)
7.mdadm /dev/md5 -f /dev/sdb (模擬其中的sdb硬盤損壞)
8.mdadm /dev/md5 -a /dev/sdb(恢復)
另外,還可以停止設備或激活設備,但是停止設備前要取消掛載。
二、利用軟件方式實現邏輯卷
利用sda的一個分區與sdf兩個硬盤組成邏輯卷:
1.創建分區并同步分區
2.將硬盤變為物理卷:pvcreate /dev/sd{a6,f}
查看:pvs
3.創建卷組:vgcreate vg0 /dev/sd{a6,f}
查看:vgs
4.創建邏輯卷:lvcreate -n lv0 -L 5G vg0
5.創建文件系統:mkfs.xfs /dev/vg0/lv0
6.掛載:mkdir /mnt/lv0
mount /dev/vg0/lv0
邏輯卷相對于分區的優勢是可以擴展空間:
首先查看卷組的空間是否有剩余:vgdisplay
1. lvextend -l +100%FREE /dev/vg0/lv0 (增加所有卷組剩余的空間)
擴展完成后,lvs與df看到的lv0大小不一樣,因為新擴展的空間沒有文件系統。
2.xfs_growfs /mnt/lv0 (同步文件系統)
但是,xfs文件系統的邏輯卷只能擴展,不支持縮減,整個擴展過程都是掛載狀態,不影響用戶的使用。
三、邏輯卷的遷移
邏輯卷可以從一臺主機遷移到另一臺主機,并保留數據的完整性。
1.為防止名字發生沖突,需要先更改卷組和邏輯卷的名字:
vgrename vg0 newvg0 (更改卷組名為newvg0)
lvrename /dev/newvg0/lv0 newlv0 (更改邏輯卷名為newlv0)
2.取消掛載:umount /mnt/lv0
3.將卷組設為非活動狀態: vgchange -an newvg0
4.設為導出狀態: vgexport newvg0
5.最后拆掉硬盤,插入新主機,遷移完成。
總結:RAID與邏輯卷管理磁盤各有優勢,最終目的是更加合理的利用磁盤,方便人們存儲數據。
原創文章,作者:xiamu,如若轉載,請注明出處:http://www.www58058.com/84590