LVM邏輯卷詳解及建立
我們先來看一下這張圖片:
PV: 底層的一個硬碟裝置,可以是一個分割槽,也可能是一個RAID。我們可以把這個塊裝置建立成一個物理卷格式,即一個PV。
VG: 將一個或多個PV提供的儲存空間在一個更低的單位上劃分成一個個獨立的儲存單元,並且把這些儲存單元合成一個較為高層的元件叫做卷組vg;
其中vg可以包含多個物理卷。我們這裡可以看到vg有點類似於擴充套件分割槽,這種格式的分割槽是沒有辦法建立檔案系統的,必須要它劃分成邏輯分割槽。
LV: 在vg的基礎上再次建立LV的元件,LV才是真正意義上的邏輯卷。每一個LV邏輯卷都是一個獨立的檔案系統,可以被格式化掛載使用,LV的大小可以是vg內的任意大小空間;
lv可以支援動態擴充套件的,當儲存空間不夠時,可以再新增pe,當空間足夠時,可以刪除的多餘的pe,並且這個過程是不損害lv當中原有的資料的,lv的大小可以動態擴充套件跟收縮。
PE: vg會在一個邏輯層次上將每一個pv所提供的物理空間劃分成固定大小的PE.(物理盤區),然後在vg上面建立lv,所為建立lv的過程就是指定一定數量的pe來組成邏輯儲存單元的過程。
pv管理工具:
pvs:簡要顯示pv的資訊
pvdisplay:顯示pv的詳細資訊
pvcreate /dev/DEVICE:建立PV
vg管理工具:
vgs:簡要顯示vg的資訊
vgdisplay:顯示vg的詳細資訊
vgcreate 卷組名 /dev/DEVICE:建立vg
vgextend VolumeGroupNam PhysicalDevicePath: 擴充套件vg
vgreduce VolumeGroupNam PhysicalDevicePath: 縮減vg
備註:這裡我們要注意在縮減前先做pvmove進行物理層次的縮減即PV的縮減
lv管理工具:
lvs:簡要顯示lv的資訊
lvdisplay:顯示lv的詳細資訊,路徑為/dev/卷組名稱/卷組
lvcreate -L [大小MGT] -n NAME VolumeGroup(vg名稱)
lvcreate -L 128M -n mylv myvg
lvremove /dev/VG_NAME/LV_NAME:刪除邏輯卷
擴充套件邏輯卷:
lvextend -L [+]MGT /dev/VG_NAME/VL_NAME
resize2fs /dev/VG_NAME/LV_NAME 只適用於ext檔案系統
縮減邏輯卷:(縮減後的空間一定要能容納現有所有的資料)
umount /dev/VG_NAME/LV_NAME
e2fsck -f /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME [MGT] 縮減檔案系統
lvreduce -L [-]MGT /dev/VG_NAME/LV_NAME 縮減邏輯卷
mount /dev/VG_NAME/LV_NAME 掛載
接下來我們用一個示例來講解一下邏輯卷的建立與管理
首先我們新新增一塊磁碟/dev/sdb
然後建立三個5G的分割槽,磁碟格式設定為LVM格式,併為其建立ext4檔案系統
partprobe /dev/sdb:通知核心重新讀取磁碟
接下來我們建立一個PV
pvcreate /dev/sdb1
這裡我們可以使用pvdisplay檢視一下
接下我們建立一個vg
vgcreate myvg /dev/sdb1
如果不制定大小的話,預設創建出來的vg卷中的PE大小為4M,想要為PE指定大小可以使用-s選項
vgcreate -s 10 myvg /dev/sdb1
這樣創建出來的PE大小為10M
注意:如果我們想要刪除次卷組可以使用命令vgremove
例如刪除剛剛建立的myvg卷組
vgremove myvg
我們現在可以將第一個邏輯分割槽新增到剛剛建立好的myvg中
pvcreate /dev/sdb5
vgextend myvg /dev/sdb5
如果我們想要縮減vg卷組,首先我們要將卷組中想要移除pv中的資料移到卷組中其它的pv上面,然後在縮減
pvmove /dev/sdb5
vgreduce myvg /dev/sdb5
現在我們來建立一個名稱為mylv的邏輯卷
lvcreate -L 2G -n mylv myvg
對邏輯捲進行格式化並掛載到/mnt/test目錄上
mke2fs -t ext4 /dev/myvg/mylv
mount /dev/myvg/mylv /mnt/test
這時候這個邏輯卷分割槽就可以正常使用了,我們複製一個檔案做一下測試
cp /etc/fstab /mnt/test
擴充套件邏輯卷
lvextencet -L 5G /dev/myvg/mylv
並重新出建立檔案系統
resize2fs /dev/myvg/mylv
備註:resize2fs命令只適用於ext檔案系統型別,如果是xfs,btrfs檔案系統則需要使用別的命令
設定開機自動掛載
在/etc/fstab檔案中新增
/dev/myvg/mylv /mnt/test ext4 defaults 0 0
縮減邏輯卷
先縮減檔案系統到指定大小
第一步:先解除安裝檔案系統
umount /dev/myvg/mylv
第二步:e2fsck -f /dev/myvg/mylv做檔案系統的強制檢測檔案系統修復
e2fsck -f /dev/myvg/mylv
第三步:resize2fs /dev/myvg/mylv #[mg]
resize2fs /dev/myvg/mylv 3G
lvreduce -L 3G /dev/myvg/mylv
這樣我們就完成了對邏輯卷的縮減
上述所有內容就是對邏輯卷管理的一些概述與操作。