LVM全稱為Logical Volume Manager 邏輯卷管理器,LVM是Linux環境中對磁盤分區進行管理的一種機制,是建立在硬盤和分區之上、文件系統之下的一個邏輯層,可提高磁盤分區管理的靈活性。其中
-
PV:Physical Volume 物理卷
-
VG:volume Group 卷組
-
LV:Logincal Volume 邏輯卷
一、LVM邏輯卷的創建
我們要創建邏輯卷,首先要創建物理卷PV,之后創建卷組VG,最后才創建邏輯卷LV,下面是邏輯卷創建的詳細過程:
1、首先通過fdisk –l 查看系統上所有硬盤和分區的使用情況,或者可用lsblk命令來查看
如果沒有查找到我們新加的磁盤,那么需要重新掃描磁盤把新加的磁盤加載進來
-
查看主機總線號: ls /sys/class/scsi_host/
-
重新掃描SCSI總線添加設備
-
echo "- - -" > /sys/class/scsi_host/host0/scan
-
echo "- - -" > /sys/class/scsi_host/host1/scan
-
echo "- - -" > /sys/class/scsi_host/host2/scan
-
-
注意:有幾個總線就掃描幾個
-
-
發現新添加的磁盤出現,即為磁盤添加成功
-
2、創建LVM分區,運行fdisk /dev/sdd,然后輸入字母‘l’
可以看到LVM分區格式為8e
3、繼續輸入命令:n -> p -> 1 -> 回車 -> +200G -> p ->t ->8e -> p
4、按以上命令操作完成以后,按wq保存退出
5、創建邏輯卷組以及邏輯卷等
-
創建物理卷:pvcreate /dev/sdd1
-
創建邏輯卷組:vgcreate ms /dev/sdb1 (組名ms可以自定義)
-
激活邏輯卷組:vgchange -ay ms
-
查看邏輯卷組所有PE:vgdisplay ms | grep "Total PE"
-
創建邏輯卷,卷名可以自定義:lvcreate -l 5119 -n mslg1 ms (mslg1卷名可以自定義,5119對應PE)
格式化邏輯卷
-
mkfs.ext4 /dev/ms/mslg1 (ms為邏輯卷組,mslg1為邏輯卷名)
設置自動掛載,並查看分區
-
echo '/dev/ms/mslg1 /www ext4 defaults 0 0' >> /etc/fstab
-
手動掛載 mount /dev/ms/mslg1 /wwwroot
-
查看分區情況:df -lh
二、LVM邏輯卷的擴容
LVM邏輯卷組的擴容
1.首先將新的磁盤按照創建邏輯卷的1,2,3,4步驟創建LVM分區
2.創建物理卷,重新規定/dev/ms/mslg1的大小
-
創建物理卷,並加入卷組:pvcreate /dev/sdb1
-
將新硬盤加入卷組:vgextend ms /dev/sdb1
-
查看PE:vgdisplay ms | grep "Total PE"
-
重新規定大小:lvresize -l 34975 /dev/ms/mslg1 (34795為PE值)
-
重新規定大小:resize2fs /dev/ms/mslg1
-
查看磁盤使用情況:df -h
邏輯卷的擴容:
首先要確定擴展多大,並確定當前邏輯卷所在卷組有足夠的空間可用,擴展時要先擴展物理邊界,再擴展邏輯邊界
-
lvextend -L 8G /dev/ms/mslg1
-
lvs查看一下
-
重新規定大小:resize2fs /dev/ms/mslg1
三、縮減邏輯卷
確定要縮減為多大?至少能容納原有的所有數據,邏輯卷縮減有風險,所以要卸載並強行檢測文件系統 縮減邏輯卷空間的步驟如下: 1.先卸載邏輯卷/dev/ms/mslg1 2.然后通過e2fsck命令檢測邏輯卷上空余的空間 3.使用resize2fs將文件系統減少到3G 4.再使用lvreduce命令將邏輯卷減少到3G 注意,文件系統大小和邏輯卷大小一定要保持一致才行,如果邏輯卷大於文件系統,由於部分區域未格式化成文件系統會造成空間的浪費,如果邏輯卷小於文件系統,那數據就出問題了
四、縮減邏輯卷組
首先要確定移除的邏輯卷,將此物理卷上的數據轉移至其他的物理卷,然后從卷組中將此物理卷移除;
-
pvmove /dev/ms/mslg1
-
vgreduce ms /dev/ms
-
vgs命令查看一下
五、刪除邏輯卷以及卷組和物理卷
-
卸載:umount /wwwroot
-
刪除邏輯卷:lvremove /dev/ms/mslg1
-
移除邏輯組:vgremove ms
-
lvs:查看一下
-
vgs:查看一下
-
pvs:查看一下
-
移除物理卷:pvremove /dev/sdd1
-
pvs:查看一下
-