一、LVM簡介
LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制。LVM將一個或多個磁盤分區(PV)虛擬爲一個卷組(VG),相當於一個大的硬盤,我們可以在上面劃分一些邏輯卷(LV)。當卷組的空間不夠使用時,可以將新的磁盤分區加入進來。我們還可以從卷組剩餘空間上劃分一些空間給空間不夠用的邏輯卷使用。
LVM模型如下圖:
二、LVM添加硬盤和擴容
測試環境:CentOS7 64位(KVM虛擬機)
LVM版本:lvm2-2.02.105-14.el7.x86_64
1、添加一塊硬盤(8GB)到系統中
使用 fdisk -l 查看到這塊新盤爲/dev/vdb:
shell# fdisk -l
2、對新盤分區
使用 fdisk 命令對新盤進行分區,這裏建立了一個主分區/dev/vdb1,大小8GB,最後使用 partprobe 命令重新讀取分區表:
shell# fdisk /dev/vdb shell# partprobe
在分區的過程中,注意設置格式爲8e,這是LVM的分區格式。
3、創建物理卷(PV)
使用 pvcreate 命令創建物理卷,pvdisplay 查看物理卷信息:
shell# pvcreate /dev/vdb1 shell# pvdisplay
4、將PV加入卷組(VG)
使用 vgdisplay 查看卷組信息,下圖顯示卷組名爲centos,空閒大小爲0:
shell# vgdisplay
使用 vgextend 命令把/dev/vdb1加入到centos:
shell# vgextend centos /dev/vdb1
我們重新查看一下卷組信息,發現空閒空間爲8GB,說明/dev/vdb1已經成功加入進來:
5、創建邏輯卷(LV)
使用 lvcreate 命令從卷組裏劃分一個新的邏輯卷,這裏創建了名稱爲newlv,大小4GB的邏輯卷分區;使用 lvdisplay 查看邏輯卷信息:
shell# lvcreate -L 4G -n newlv centos shell# lvdisplay
我們再查看一下卷組信息,卷組剩餘4GB空間了:
6、格式化邏輯卷並掛載
新邏輯卷經過格式化就可以掛載到系統裏存儲數據了。使用 mkfs.xfs 格式化爲CentOS7的xfs文件系統:
shell# mkfs.xfs /dev/centos/newlv
掛載到/mnt目錄下(你可以掛載到自己需要的目錄下),掛載後看到容量爲4GB:
shell# mount -t xfs /dev/centos/newlv /mnt/ shell# df -Th
設置開機自動掛載,編輯 /etc/fstab 文件,加入最後一行:
/dev/centos/newlv /mnt xfs defaults 1 2
7、邏輯卷擴容
使用 lvextend 命令進行邏輯卷擴容。我把所有剩餘空間都分配給了newlv,增大到了8GB,如下圖:
shell# lvextend -l +100%FREE /dev/centos/newlv
使用 xfs_growfs 命令在線調整xfs格式文件系統大小(CentOS6使用resize2fs):
shell# xfs_growfs /dev/centos/newlv
最後我們看到邏輯卷分區已經動態擴容到了8GB: