LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。


654bd4ef9f8aee97e0f634b2a13593b0.png-wh_

创建物理分区,创建物理卷,创建卷组,创建逻辑卷。


# fdisk /dev/sdb

a757b1582be5203233fb5f9d90c3daec.png-wh_



51d88596754c4b95f8e39a7f2577e9a0.png-wh_


确定系统中是否安装了lvm工具:

# yum install -y lvm

# yum install -y lvm2

#yum provides "/*/pvcreate" 

# partprobe



LVM创建过程

  1. 物理磁盘被格式化为PV,空间被分为一个个PE。

  2. 不通的PV加入同一个VG,不同PV的PE全部进入VG的PE池内。

  3. LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同物理磁盘。

  4. LV现在就直接可以格式化后挂载使用了。

  5. LV的扩充缩减实际上就是增加或减少组成该LV的PE的数量。其过程不丢失原始数据。




创建LVM

#pvcreate /dev/sdb1      将物理磁盘设备初始化为物理卷

ade45ab03e57387ca6d8ca4edcf04735.png-wh_


#vgcreate vg1 /dev/sdb1 /dev/sdb2   创建卷组,并将PV加入卷组vg1中

a588a986b9256f054a4a3774d3aa031b.png-wh_


#lvcreate -L 100M -n lv1 vg1     基于卷组创建逻辑卷

5def68fc8a6314defd8daf4234da8343.png-wh_


#mkfs.ext4 /dev/vg1/lv1   为创建好的逻辑卷创建文件系统

cd445eac18f7678793510abd4bcf8538.png-wh_


# mount /dev/vg1/lv1 /mnt/          将格式化好的逻辑卷挂载使用

#echo "/dev/vg1/lv1 /mnt ext4 defaults 0 0 " >> /etc/fstab       将挂载信息写入/etc/fstab中重启依然生效



查看LVM

查看物理卷:pvs、pvdisplay(详细)

查看卷组   :vgs、vgdisplay(详细)

查看逻辑卷:lvs、 lvdisplay(详细)




删除LVM

删除LV:lvremove /dev/vg1/lv1

删除VG:vgremove vg1

删除PV:pvremove /dev/sdb





扩容逻辑卷

ca1e1f1eb7677741de9457cf6fe88c4c.png-wh_


给lv1扩充100M:

[root@localhost ~]# umount /mnt/

[root@localhost ~]# lvresize -L 200M /dev/vg1/lv1

[root@localhost ~]# e2fsck -f /dev/vg1/lv1

[root@localhost ~]# resize2fs /dev/vg1/lv1 100M

[root@localhost ~]# mount /mnt/


#df –h       查看更新后的文件系统



扩展卷组

c9092dd6a0243c387791fbcc4a96be8f.png-wh_



缩小逻辑卷

逻辑卷的缩小操作必须离线执行,要卸载逻辑卷

卸载已经挂载的逻辑卷

umount /dev/vg1/lv1

缩小文件系统(原lv1为3G)

e2fsck -f /dev/vg1/lv1

resize2fs /dev/vg1/lv1 2G