使用 LVM 管理磁盘分区

简介

LVM(逻辑卷管理器,Logical Volume Manager)是 Linux 系统中的一种存储管理技术。LVM 允许用户在不受物理磁盘布局限制的情况下创建、调整和管理磁盘分区。在使用 LVM 管理磁盘分区之前,需要了解以下概念:

  • 物理卷(PV,Physical Volume):物理卷是 LVM 管理的最底层单位,通常是一个完整的物理磁盘或一个磁盘分区。

  • 卷组(VG,Volume Group):卷组是由一个或多个物理卷组成的存储池。它将多个物理卷的存储空间聚合在一起,以便更灵活地分配给逻辑卷。

  • 逻辑卷(LV,Logical Volume):逻辑卷是在卷组的存储池中分配的虚拟分区。它类似于传统的磁盘分区,但可以动态调整大小而不影响数据。

  • 物理扩展(PE,Physical Extent):物理卷被划分为固定大小的块,称为物理扩展。逻辑卷是由这些物理扩展组成的。

开始使用 LVM

  1. 安装 LVM 工具:

    # Debian
    sudo apt install lvm2
    # RHEL
    sudo yum install lvm2
    
  2. 创建物理卷(PV):

    选择要用作物理卷的磁盘或分区,并将其初始化为 LVM 物理卷。

    sudo pvcreate /dev/sdb
    
  3. 创建卷组(VG):

    使用物理卷来创建一个卷组。卷组是逻辑卷的存储池。

    sudo vgcreate ssd-vg /dev/sdb  # 创建一个名为 ssd-vg 的卷组
    
  4. 创建逻辑卷(LV):

    在卷组中创建逻辑卷。你可以指定逻辑卷的大小。

    sudo lvcreate -L 10G -n data-lv ssd-vg       # 指定逻辑卷的绝对大小
    sudo lvcreate -l 100%FREE -n data-lv ssd-vg  # 或者将所有空间分配给逻辑卷
    

    这里,-n data-lv 指定逻辑卷的名称为 data-lvssd-vg 是卷组的名称。

  5. 创建文件系统:

    在逻辑卷上创建文件系统,以便能够挂载和使用它。

    sudo mkfs.ext4 /dev/ssd-vg/data-lv  # 创建 ext4 文件系统
    
  6. 挂载逻辑卷:

    创建挂载点并挂载逻辑卷。

    sudo mkdir /mnt/data-lv && sudo chown $USER:$USER /mnt/data-lv
    sudo mount /dev/ssd-vg/data-lv /mnt/data-lv
    

    可以编辑 /etc/fstab 文件,以便在系统启动时自动挂载逻辑卷。

    /dev/ssd-vg/data-lv /mnt/data-lv ext4 defaults 0 0
    

调整逻辑卷大小

  • 扩展逻辑卷:

    sudo lvextend -L +5G /dev/ssd-vg/data-lv    # 将逻辑卷扩展 5 GB
    sudo resize2fs /dev/ssd-vg/data-lv          # 调整文件系统的大小
    
  • 缩小逻辑卷(请先备份数据,确保安全):

    sudo umount /mnt/data-lv                     # 卸载文件系统
    sudo e2fsck -f /dev/ssd-vg/data-lv           # 检查文件系统的完整性
    sudo resize2fs /dev/ssd-vg/data-lv 8G        # 调整文件系统的大小为 8 GB
    sudo lvreduce -L 8G /dev/ssd-vg/data-lv      # 缩小逻辑卷的大小为 8 GB
    sudo mount /dev/ssd-vg/data-lv /mnt/data-lv  # 重新挂载文件系统
    

删除 LVM 组件

如果不再需要,可以按以下步骤删除 LVM 组件:

sudo umount /mnt/data-lv           # 卸载逻辑卷
sudo lvremove /dev/ssd-vg/data-lv  # 删除逻辑卷
sudo vgremove ssd-vg               # 删除卷组
sudo pvremove /dev/sdb             # 删除物理卷

新磁盘加入 LVM

关于扩展 LVM 的方法,我单独写了两篇文章:

从 LVM 移除旧磁盘

sudo pvmove /dev/sda           # 将物理卷的数据迁移到卷组中的其他物理卷
sudo vgreduce ssd-vg /dev/sda  # 从卷组中移除物理卷
sudo pvremove /dev/sda         # 删除物理卷

现在,你可以安全地从机器上取下旧硬盘。

posted @ 2024-12-04 15:11  Undefined443  阅读(142)  评论(0)    收藏  举报