LVM逻辑卷管理概述---操作步骤流程

    技术2026-03-30  17

    一、LVM的概念

    LVM可以实现对磁盘的动态管理,在磁盘不用重新分区的情况下动态调整文件系统的大小,利用LVM管理的文件系统可以跨越磁盘。“/boot”分区用于存放系统引导文件,不能应用LVM机制。 物理卷PV,经过处理后的磁盘分区。

    卷组VG,由一个或多个物理卷组成,类似于非LVM系统中的物理磁盘。

    逻辑卷LV,在逻辑卷之上可以创建文件系统,类似于非LVM系统中的磁盘分区。

    物理块PE,物理卷的组成部分,PE的大小默认为4MB,大小可调,一个卷组中最多能包括65534个PE。

    二、LVM的管理命令:

    三、准备实验环境

    在虚拟机中额外添加2块硬盘(整个虚拟机共有3块硬盘)

    为虚拟机创建快照 1、创建磁盘分区

    创建物理分区: /dev/sdb1 和 /dev/sdb5,并修改分区标记为8e。

    2、创建物理卷PV

    然后创建物理卷PV,用到的命令是pvcreate (相当于图形操作中的初始化磁盘)

    pvcreate /dev/sdb1 /dev/sdb5

    3、创建卷组VG

    接下来创建卷组VG ,用到的命令是vgcreate

    使用物理卷/dev/sdb1 和 /dev/sdb5 创建名为wgroup的卷组

    vgcreate wgroup /dev/sdb1 /dev/sdb5

    创建完后可以用vgdisplay命令查看卷组的信息

    4、创建逻辑卷

    从卷中创建逻辑卷,用到的命令是lvcreate

    格式如下:

    lvcreate -L 容量大小 -n 逻辑卷名 卷组名

    例:从wgroup卷组中创建名为ftp的容量为19G的逻辑卷

    lvcreate -L 19G -n ftp wgroup

    5、创建并挂载文件系统

    逻辑卷相当于一个磁盘分区,要使用它首先要将其格式化

    mkfs -t ext4 /dev/wgroup/ftp

    然后创建挂载目录点,将逻辑卷挂载

    mkdir /mnt/ftp

    挂载: mount /dev/wgroup/ftp /mnt/ftp

    修改/etc/fstab文件,实现永久挂载

    vim /etc/fstab

    6、扩展逻辑空间

    最后将第三块硬盘/dev/sdc加入到逻辑卷中。

    先将硬盘分成一个分区/dev/sdc1,并将分区标记修改为8e

    然后将分区转换为物理卷:pvcreate /dev/sdc1

    将物理卷/dev/sdc1添加到卷组wgroup中:vgextend wgroup /dev/sdc1

    扩展逻辑卷的空间: lvextend -L +10G /dev/wgroup/ftp

    执行resize2fs命令重设文件系统的大小: resize2fs /dev/wgroup/ftp

    再次查看文件系统/var/ftp的空间大小,可以看到已经变成了29GB: df -HT

    lvreduce -L -3G /dev/wgroup/ftp

    lvextend -L +3G /dev/wgroup/web

    案例分析:

    向虚拟机添加两块的硬盘

    [root@localhost home]# fdisk -l |grep sd*

    [root@localhost~]# fdisk /dev/sdb 修改成8e

    [root@localhost~]# fdisk /dev/sdc 修改成8e

    2、使用命令将sdb1与sdb5转化为物理卷

    [root@localhost~]# pvcreate /dev/sdb1 /dev/sdb5

    Physical volume “/dev/sdb1” successfully created.

    Physical volume “/dev/sdb5” successfully created.

    [root@localhost~]# pvscan

    PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free]

    PV /dev/sdb5 lvm2 [❤️.00 GiB]

    PV /dev/sdb1 lvm2 [3.00 GiB]

    Total: 3 [24.99 GiB] / in use: 1 [<19.00GiB] / in no VG: 2 [<6.00 GiB]

    3、使用命令新建卷组wgroup,并将sdb1与sdb5加入到卷组wgroup

    [root@localhost~]# vgcreate wgroup /dev/sdb1 /dev/sdb5

    Volume group “wgroup” successfully created

    [root@localhost~]# vgdisplay

    4、使用命令在卷组wgroup上新两个逻辑卷,分别为FTP(10G)和WEB(10G)

    [root@localhost~]# lvcreate -L 3G -n FTP wgroup

    Logical volume “FTP” created.

    [root@localhost~]# vgdisplay

    [root@localhost~]# lvcreate -L 2.99G -n WEB wgroup

    Rounding up size to full physical extent 2.99GiB

    Logical volume “WEB” created.

    [root@localhost~]# lvdisplay

    5、 将FTP和WEB逻辑卷进行格式化,格式为ext4,并分别挂载到/mnt/FTP和/mnt/WEB目录供用户使用。

    [root@localhost ~]# mkfs -t ext4 /dev/wgroup/FTP

    [root@localhost ~]# mkdir /mnt/FTP

    [root@localhost mnt]# mount /dev/wgroup/FTP /mnt/FTP

    [root@localhost mnt]# mkfs -t ext4 /dev/wgroup/WEB

    [root@localhost mnt]# mkdir /mnt/WEB

    [root@localhost mnt]# mount /dev/wgroup/WEB /mnt/WEB

    [root@localhost mnt]# mount |grep wgroup

    /dev/mapper/wgroup-FTP on /mnt/FTP type ext4 (rw,relatime,seclabel,data=ordered)

    /dev/mapper/wgroup-WEB on /mnt/WEB type ext4 (rw,relatime,seclabel,data=ordered)

    6、 随着公司业务量的增加,发现FTP卷空间已经不能满足业务需求,要求将sdc1,sdc2、sdc5、sdc6加入到wgroup卷组,并将FTP卷扩容至25G,WEB卷扩容至15G。

    将硬盘分成一个分区/dev/sdc,并将分区标记修改为8e

    将分区转换为物理卷

    [root@localhost mnt]#pvcreate /dev/sdc1 /dev/sdc5 /dev/sdc6 /dev/sdc7

    Physical volume “/dev/sdc1” successfully created.

    Physical volume “/dev/sdc5” successfully created.

    Physical volume “/dev/sdc6” successfully created.

    Physical volume “/dev/sdc7” successfully created.

    将物理卷/dev/sdc添加到卷组wgroup中

    [root@localhost mnt]# vgextend wgroup /dev/sdc1 /dev/sdc5 /dev/sdc6 /dev/sdc7

    Volume group "wgroup" successfully extended

    扩展逻辑卷的空间

    [root@localhost mnt]#lvextend -L +3G /dev/wgroup/FTP

    Size of logical volume wgroup/FTP change from 3.00 GiB (768 extents) to 6.00 GiB (1536 extents).

    Logical volume wgroup/FTP successfully resized.

    [root@localhost mnt]#vgdisplay

    [root@localhost mnt]#lvextend -L +2.97G /dev/wgroup/WEB

    Rounding size to boundary between physical extents: 2.97 GiB.

    Size of logical volume wgroup/WEB changed from 2.99 GiB (766 extents) to 5.96 GiB (1527 extents).

    Logical volume wgroup/WEB successfully resized.

    [root@localhost mnt]#lvdisplay

    执行resize2fs命令重设文件系统的大小

    [root@localhost mnt]# resize2fs /dev/wgroup/FTP

    [root@localhost mnt]# resize2fs /dev/wgroup/WEB

    7、经过一段时间运行,发现WEB卷空间不够用,但FTP卷的空间剩余较多,要求将FTP卷的容量缩减至20G,将WEB卷的容量扩展至20G,以暂时满足公司的需求。

    [root@localhost mnt]# lvreduce -L -2.98G /dev/wgroup/FTP

    Rounding size to boundary between physical extents: <2.98 GiB.

    WARNING: Reducing active and open logical volume to 6.00 GiB.

    THIS MAY DESTROY YOUR DATA (filesystem etc.)

    Do you really want to reduce wgroup/FTP? [y/n]: y

    Size of logical volume wgroup/FTP changed from 8.98 GiB (2299 extents) to 6.00 GiB (1537 extents).

    Logical volume wgroup/FTP successfully resized.

    [root@localhost mnt]# vgdisplay (查看可用空间)

    [root@localhost mnt]# lvextend -L +2.97G /dev/wgroup/WEB

    Rounding size to boundary between physical extents: 2.97 GiB.

    Size of logical volume wgroup/WEB changed from 2.99 GiB (766 extents) to 5.96 GiB (1527 extents).

    Logical volume wgroup/WEB successfully resized.

    [root@localhost mnt]# lvdisplay (验证内存大小是否对头)

    Processed: 0.009, SQL: 9