Linux-LVM邏輯卷
LVM邏輯卷管理通過將底層物理硬盤抽象封裝起來,以邏輯卷的形式表現給上層系統,邏輯卷的大小可以動態調整,而且不會丟失數據。新加入的硬盤也不會改變現有上層的邏輯卷。
PE:物理擴展
PV:物理卷
VG:卷組
LV:邏輯卷
- 物理磁盤被格式化為PV(物理卷),空間被分為一個個PE
- 不同PV加入同一個VG(卷組),不同PV(物理卷)的PE全部進入VG(卷組)的PE池內
- LV(邏輯卷)基於PE創建,大小為PE的整數倍,組成LV(邏輯卷)的PE可能來自不同的物理磁盤
- LV(邏輯卷)現在就可格式化後掛載直接使用
- LV(邏輯卷)的擴充縮減實際上就是增加或減少組成該LV(邏輯卷)的PE的數量,其過程不丟失數據
創建LVM
1. 將物理磁盤設備初始化為PV(物理卷)
pvcreate /dev/sdb /dev/sdc
2. 創建VG(卷組),並將PV(物理卷)加入卷組中
vgcreate vgname /dev/sdb /dev/sdc
3. 基於VG(卷組)創建LV(邏輯卷)
lvcreate -n lvname -L 10G vgname
4. 為創建好的LV(邏輯卷)創建文件系統
mkfs.xfs /dev/vgname/lvname
5. 將格式化好的LV(邏輯卷)掛載使用
mount /dev/vgname/lvname /mnt
查看PV(物理卷)信息
pvdisplay(詳細信息)
pvs
查看VG(卷組)信息
vgdisplay(詳細信息)
vgs
查看LV(邏輯卷)信息
lvdisplay(詳細信息)
lvs
1. 刪除LV(邏輯卷)
lvremove /dev/vgname/lvname
2. 刪除VG(卷組)
vgremove vgname
3. 刪除PV(物理卷)
pvremove /dev/sdb /dev/sdc
VG(卷組)擴容
1. 將要添加到VG(卷組)的硬盤格式化為PV(物理卷)
pvcreate /dev/sdd
2. 將新的PV(物理卷)添加到指定卷組中
vgextend vgname /dev/sdd
3. 查看擴容後VG(卷組)大小
vgs
LV(邏輯卷)擴容
1. 查看VG(卷組)中是否有足夠空間
vgs
2. 擴大LV(邏輯卷)
lvextend -L +10G /dev/vgname/lvname
3. 查看擴充後LV(邏輯卷大小)
lvs
4. 更新文件系統
xfs_growfs /dev/vgname/lvname #xfs文件系統
resize2fs /dev/vgname/lvname #ext4文件系統
5. 查看更新後文件系統
df -h
ext4邏輯卷縮小(xfs文件系統不支持縮小)
1. 邏輯卷縮小必須離線執行,需要卸載
umount /dev/vgname/lvname
2. 檢查文件系統
e2fsck -f /dev/vgname/lvname
3. 縮小文件系統到19G
resize2fs /dev/vgname/lvname 19G
4. 縮小LV(邏輯卷)
註意:LV(邏輯卷)縮小空間一定要小於縮小文件系統後的剩余空間,否則可能會造成數據損壞
lvreduce -L -20G /dev/vgname/lvname
5. 查看縮小後的LV(邏輯卷)
lvs
6. 掛載
mount /dev/vgname/lvname /home
ll /home #查看文件是否損壞
ext4VG(卷組)縮小
umount /dev/vgname/lvname
將一個PV從指定卷組中移除
vgreduce vgname /dev/sdc
當pvs中顯示sdc不屬於任何VG(卷組)是方可移除
pvs
pvremove /dev/sdc
mount /dev/vgname/lvname /home/
Linux-LVM邏輯卷