如何在 Linux 中使用 LVM 设置灵活的文件系统存储

您想在单个存储设备上创建多个虚拟存储卷以便更轻松、更灵活地管理吗? 下面介绍如何使用逻辑卷管理 (LVM) 设置灵活的文件系统存储。

什么是 LVM?

LVM 是一种存储管理技术,它提供了一种更简单的方法来动态管理磁盘空间。 当您的服务器上的磁盘空间不足时,它非常有用。 您只需要附加另一个硬盘并即时扩展逻辑卷分区。 如果您使用多个硬盘,LVM 允许您扩展到多个磁盘。

与使用固定大小存储创建文件系统的标准分区系统不同,LVM 创建具有灵活逻辑卷的文件系统。 因此,您可以根据需要增加和减少分区大小。

LVM的优势

以下是 LVM 相对于标准分区的一些优点:

  • 它非常灵活,因此您只需一个命令即可减少和扩展文件系统存储。
  • 它提供快照功能,通过拍摄快照来备份您的逻辑卷。
  • 它允许您在不影响真实数据的情况下更换故障硬盘。
  • 您可以通过添加更多磁盘并将它们添加到卷组来增加存储容量。
  • 提供一些高级功能,包括条带化和镜像。

LVM 由三个组件组成。 每个的简要说明如下所示:

  • 物理量(PV): 这可能是单个硬盘或磁盘的分区。
  • 卷组 (VG): 一组物理卷。 它将所有物理卷组合到单个存储池中。
  • 逻辑卷 (LV): 这是卷组的一部分或空间,您可以在其中创建文件系统。 一个卷组可以分为多个逻辑卷。 分配给每个逻辑卷的空间可以根据您的需要增加和减少。

如何创建 LVM

在开始之前,请确保具备以下条件:

  • 安装在您机器上的 Linux 操作系统。
  • root 用户帐户或具有 Sudo 权限的用户。

您还需要在系统中添加三个额外的硬盘。 出于演示目的,请使用以下 50GB 的硬盘:

  • /dev/sdb
  • /dev/sdc
  • /dev/sdd

运行以下命令以查看所有附加的硬盘:

fdisk -l

您应该在下图中看到所有其他磁盘:

安装 LVM

默认情况下,并非所有操作系统都预装了 LVM。 您将需要根据您的操作系统运行适当的命令来安装 LVM。

在 RHEL、CentOS 或 Fedora,运行以下命令:

dnf install lvm2 -y

要在 Ubuntu、Debian 和 Linux Mint 上安装 LVM,请运行以下命令:

apt-get install lvm2 -y

安装 LVM 后,您可以继续下一步。

创建分区

首先,您需要在每个硬盘上使用 磁盘 效用。

打开终端并运行以下命令在第一个硬盘(/dev/sdb)上创建一个分区

fdisk /dev/sdb

按照以下步骤创建分区:

  1. 类型 n 创建一个新分区。
  2. 类型 p 创建主分区。
  3. 键入要创建的分区号。
  4. 刚打 Enter 两次以使用完整的磁盘空间。
  5. 类型 更改分区类型。
  6. 采用 e 创建 LVM 分区。
  7. 类型 p 确认分区。
  8. w 并击中 Enter 编写更改。

您需要对剩余的两个磁盘 /dev/sdc 和 /dev/sdd 重复上述步骤。

接下来,运行以下命令来验证所有分区。

fdisk -l

您应该会看到新创建的分区:

创建物理卷

接下来,您将需要使用所有三个硬盘创建物理卷。 您可以使用 pvcreate 命令做同样的事情。

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1

您应该看到以下输出:

  Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc1" successfully created.
Physical volume "/dev/sdd1" successfully created.

您现在可以使用以下命令验证有关所有物理卷的信息:

pvs

您应该在以下屏幕上看到有关所有物理卷的信息:

创建卷组

接下来,您将需要使用所有三个物理卷创建一个卷组。 您可以使用 虚拟创建 用于创建名为的卷组的命令 vg01 在物理卷上。

vgcreate vg01 /dev/sdb1 /dev/sdc1 /dev/sdd1

您应该看到以下输出:

Volume group "vg01" successfully created

接下来,验证卷组。

vgs

输出:

  VG   #PV #LV #SN Attr   VSize    VFree   
vg01 3 0 0 wz--n-

运行此命令以查看有关卷组的更多信息。

vgdisplay vg01

您应该在以下屏幕上看到卷组的详细信息。

创建逻辑卷

此时,您有一个名为 vg01 大小为 150GB。 接下来,在卷组 vg01 上创建三个名为 lv01、lv02 和 lv03 的逻辑卷。

首先,运行以下命令创建一个名为 lv01 大小为 5000MB.

lvcreate -L 5000 -n lv01 vg01

接下来,创建一个名为 lv02 大小为 5000MB.

lvcreate -L 5000 -n lv02 vg01

接下来,创建一个名为 lv03 大小为 5000MB.

lvcreate -L 5000 -n lv03 vg01

接下来,运行 lvs 命令查看所有逻辑卷的信息。

lvs

创建文件系统并挂载逻辑卷

此时,所有逻辑卷都已创建。 现在,您需要在其上创建一个文件系统才能使用它。

要在所有逻辑卷上创建文件系统,请运行以下命令:

mkfs.ext4 -m 0 /dev/vg01/lv01
mkfs.ext4 -m 0 /dev/vg01/lv02
mkfs.ext4 -m 0 /dev/vg01/lv03

接下来,您需要将所有逻辑卷安装到适当的位置。

首先,为每个逻辑卷创建一个挂载点。

mkdir /mount1
mkdir /mount2
mkdir /mount3

接下来,使用以下命令挂载每个逻辑卷:

mount /dev/vg01/lv01 /mount1
mount /dev/vg01/lv02 /mount2
mount /dev/vg01/lv03 /mount3

接下来,运行以下命令来确认挂载点:

df -h

接下来,您需要将挂载点条目添加到 /etc/fstab 文件以永久挂载所有逻辑卷。

编辑 /etc/fstab 使用 nano 命令文件:

nano /etc/fstab

添加以下行:

/dev/vg01/lv01 /mount1 ext4    defaults 0 0
/dev/vg01/lv02 /mount2 ext4 defaults 0 0
/dev/vg01/lv03 /mount3 ext4 defaults 0 0

Save 和 close 该文件然后运行以下命令以应用更改。

mount -av

您应该得到以下输出:

/                        : ignored
/mount1 : successfully mounted
/mount2 : successfully mounted
/mount3 : successfully mounted

LVM 已准备就绪

在这里,您学习了如何使用逻辑卷管理 (LVM) 设置灵活的文件系统存储。 您现在可以使用 LVM 扩展和减少逻辑卷、卷组、添加额外的逻辑卷、创建逻辑卷的快照和其他有用的东西。