一、LVM概念
1、LVM利用Linux内核的device-mapper功能来实现存储系统的虚拟化(系统分区独立于底层硬件)。 通过LVM,你可以实现存储空间的抽象化并在上面建立虚拟分区(virtual partitions),可以更简便地扩大和缩小分区,可以增删分区时无需担心某个硬盘上没有足够的连续空间,避免为正在使用的磁盘重新分区的麻烦、为调整分区而不得不移动其他分区的不便。
2、LVM的组成部分
物理卷 (PV)
一个可供存储LVM的块设备或者块设备上的一个分区. 例如: 一块硬盘, 一个MBR或GPT分区。
卷组 (VG)
物理卷的一个组,作为存放逻辑卷的容器,可以看做硬盘池。
逻辑卷 (LV)
"虚拟/逻辑卷"存放在一个卷组中并由物理块组成。是一个类似于物理设备的块设备,例如,你可以直接在它上面创建一个文件系统文件系统。
物理块 (PE)
一个卷组中最小的连续区域(默认为4 MiB),落盘的最小区块。
二、LVM的基本配置
1、查看磁盘信息,找到要配置的物理卷
fdisk -l #查看所有磁盘详细信息 lsblk #查看磁盘简要信息,比较直观
2、创建PV物理卷
pvcreate /dev/sdb #对磁盘配置为PV物理卷 pvcreate /dev/sdc #对磁盘配置为PV物理卷 pvdisplay #查看物理卷 pvscan #查看简要物理卷信息1 pvs #查看简要物理卷信息2
3、创建VG卷组
vgcreate 【卷组名称】 【物理卷名称】 vgcreate vg01 /dev/sdb /dev/sdc #创建卷组vg01,并将sdb与sdc加入卷组 vgdisplay #查看详细卷组信息 vgs #查看简要卷组信息
4、创建LV逻辑卷
lvcreate 【选项】 【-n 逻辑卷名】 卷组名 -L 容量:指定逻辑卷大小,单位MB、GB、TB -n 逻辑卷名:指定逻辑卷名称 lvcreate -L 40G -n lv01 vg01 #在卷组vg01上创建5G容量的逻辑卷lv01 lvdisplay #查看LV信息 lvscan #查看简要lv信息1 lvs #查看简要lv信息2
5、格式化LV逻辑卷
fdisk -l #查看逻辑卷设备文件 mkfs.xfs /dev/mapper/vg01-lv01 #格式化逻辑卷
6、挂载LV逻辑卷
mkdir /data #创建挂载路径 mount /dev/mapper/vg01-lv01 /data/ #挂载逻辑卷 df -hT #查看挂载点
三、LVM的配置之VG卷组扩容
vgextend 【卷组名】【物理卷】 vgextend vg01 /dev/sdd vgs
四、LVM的配置之LV逻辑卷扩容
LV(逻辑卷)的扩容 扩容必须是32的倍数。 lvextend -L +1G /dev/vg01/lv01 #在原有基础上增加1G lvextend -L 50G /dev/vg01/lv01 #将逻辑卷扩容到50G
五、LVM的配置之文件系统扩容
将LV扩容之后我们会发现磁盘容量变大了但是挂载点容量没有变化,需要对文件系统进行扩容配置。
xfs文件系统只能扩容,不能缩容,ext4文件系统可以扩缩容,但是也不建议对文件系统进行缩容。
ext4文件系统扩容:resize2fs /dev/mapper/vg01-lv01 xfs文件系统扩容:xfs_growfs /dev/mapper/vg01-lv01
六、ext4的文件系统缩容
#缩容之前需要先卸载文件系统 fsck -f /dev/vg01/lv01 #检查文件系统 resize2fs /dev/vg01/lv01 1G #缩容文件系统到1G
七、LVM的配置之LG卷组的缩减
umount文件系统 pvdisplay #查看当前PV详情 vgreduce vg01 /dev/sdg #删除vg01里的sdg vgs #可以看到容量已经减小
八、LVM的配置之PV物理卷的缩减
如果要删除LVM,则和创建步骤相反 umount 文件系统 lvremove /dev/vg01/lv01 #移除LV vgremove vg01 #移除VG pvremove /dev/sdb /dev/sdc /dev/sdd #移除PV