超详细 Centos7 LVM 逻辑卷管理教程

艺帆风顺 发布于 2025-03-31 29 次阅读


LVM(Logical Volume Manager)逻辑卷管理

一、什么是 LVM?

传统的磁盘分区方式,一旦分区确定,后续调整空间大小就很麻烦。而 LVM 不一样,它允许我们在不重新分区的情况下,动态地调整磁盘分区的大小,还能方便地创建、删除和管理逻辑卷。比如说,你原本给某个分区分配了 100GB 空间,后来发现不够用了,用 LVM 就能轻松给它扩容,是不是超棒!

二、LVM 的基本组件

物理卷(Physical Volume,PV)这是 LVM 的基础,它可以是整个硬盘、硬盘分区或者其他存储设备。简单理解,就是实实在在的物理存储单元。卷组(Volume Group,VG)卷组是由一个或多个物理卷组成的集合,它相当于一个大的存储池,把多个物理卷的空间整合到一起,方便统一管理。逻辑卷(Logical Volume,LV)从卷组这个存储池中划分出来的空间就是逻辑卷,我们日常使用的文件系统(如 ext4 等)就建立在逻辑卷上,它才是真正给用户使用的存储空间。

三、Centos7 中 LVM 的操作步骤

(一)准备工作

假设我们有一块新添加的硬盘 /dev/sdb,准备用来创建 LVM。首先,我们要确保系统识别了这块新硬盘,可以通过fdisk -l命令查看。

(二)创建物理卷

使用pvcreate命令将物理硬盘 /dev/sdb 创建为物理卷。

pvcreate /dev/sdb

执行完这个命令,这块硬盘就被纳入 LVM 的管理范畴啦。

(三)创建卷组

接下来,我们要把刚刚创建的物理卷加入到卷组中。这里我们创建一个名为myvg的卷组。

vgcreate myvg /dev/sdb

现在,myvg这个卷组就拥有了 /dev/sdb 的全部空间,可以用来创建逻辑卷了。

(四)创建逻辑卷

我们从myvg卷组中划分出一个大小为 50GB 的逻辑卷,命名为mylv。

lvcreate -L 50G -n mylv myvg

这里-L参数指定逻辑卷的大小,-n参数指定逻辑卷的名称。

(五)格式化逻辑卷

创建好逻辑卷后,还不能直接使用,需要格式化。这里我们格式化为 ext4 文件系统。

mkfs.ext4 /dev/myvg/mylv

注意,这里的路径是/dev/卷组名/逻辑卷名。

(六)挂载逻辑卷

最后一步,把格式化好的逻辑卷挂载到系统的某个目录下,比如/data目录。

    mkdir /datamount /dev/myvg/mylv /data

    到这里,一个完整的 LVM 逻辑卷就创建并挂载成功啦,你可以在/data目录下尽情使用这个 50GB 的存储空间了。

    四、LVM 的扩容与缩容

    (一)扩容逻辑卷

    当你发现之前创建的 50GB 空间不够用时,该怎么办呢?别慌,LVM 轻松搞定。

    先检查卷组剩余空间,使用vgdisplay命令查看myvg卷组的剩余空间。假设卷组还有足够空间,我们给mylv逻辑卷扩容 10GB。

    lvextend -L +10G /dev/myvg/mylv

    这里+10G表示增加 10GB 空间。

    扩容后,还需要调整文件系统大小,让系统识别新增加的空间。对于 ext4 文件系统,使用resize2fs命令。

    resize2fs /dev/myvg/mylv

    这样,mylv逻辑卷就成功扩容到 60GB 了。

    (二)缩容逻辑卷

    如果逻辑卷空间用不完,想要缩小,也可以操作。不过要注意,缩容有一定风险,操作前一定要备份重要数据!

    首先卸载逻辑卷。

    umount /dev/myvg/mylv


    检查文件系统完整性,使用e2fsck -f /dev/myvg/mylv命令。缩小文件系统,假设我们要把mylv逻辑卷缩小到 40GB。

    resize2fs /dev/myvg/mylv 40G


    缩小逻辑卷大小。

    lvreduce -L 40G /dev/myvg/mylv


    最后重新挂载逻辑卷。

    mount /dev/myvg/mylv /data

    这样,逻辑卷就成功缩容到 40GB 了。

    通过今天的教程,大家对 Centos7 系统下的 LVM 应该有了全面的了解。在实际的服务器运维中,合理运用 LVM 能让我们的工作更加高效、灵活。