蚊章汇 - Tim Bosse
type: channel
link: https://linuxcn.bwsl.wang/author/1489/
description: Tim Bosse
items: 使用 LVM 为你的 Fedora 系统添加存储

使用 LVM 为你的 Fedora 系统添加存储
type: item
date: 2020-12-20T18:05:18+08:00
description: 有时需要在系统中添加另一块磁盘。这就是 逻辑卷管理 Logical Volume Management （LVM）的用武之地。LVM 的好处之处在于它相当灵活。有几种方法可以添加一块磁盘。这篇文章介绍了一种方法。注意！这篇文章并不包括将新的磁盘物理地安装到系统中的过程。请查阅你的系统和磁盘文档，了解如何正确地进行安装。重要： 一定要确保你已经备份重要数据。如果新磁盘已有数据，那么本文中描述的步骤将破坏数据。最好了解本文并没有深入介绍 LVM 的每一个功能，重点是添加磁盘。但基本上你要了解，LVM 有 卷组 volume group （VG），它由一个或多个分区和/或磁盘组成。你把这些分区或磁盘以 物理卷 physical volume （PV）的方式添加到卷组。一个卷组可以分成许多 逻辑卷 logical volume （LV）。逻辑卷可以作为文件系统、ramdisk 等其他存储使用。更多信息可以在这里)中找到。可以看作是，把物理卷形成一个存储池（一个卷组），然后从这个存储池中划分出逻辑卷，供你的系统直接使用。准备确保你能看到你要添加的磁盘。在添加磁盘之前使用 lsblk 查看哪些存储空间已经可用或正在使用。$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT zram0 251:0 0 989M 0 disk [SWAP] vda 252:0 0 20G 0 disk ├─vda1 252:1 0 1G 0 part /boot └─vda2 252:2 0 19G 0 part └─fedora_fedora-root 253:0 0 19G 0 lvm / 本文使用的是带有虚拟存储的虚拟机，因此设备名称以 vda 开头代表第一个磁盘，vdb 代表第二个磁盘，以此类推。你的设备名称可能不同。许多系统会将 sda 作为第一个物理磁盘，sdb 代表第二个磁盘，以此类推。当已连接新磁盘，并且你的系统已备份且正在运行，再次使用 lsblk 来查看新的块设备。$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT zram0 251:0 0 989M 0 disk [SWAP] vda 252:0 0 20G 0 disk ├─vda1 252:1 0 1G 0 part /boot └─vda2 252:2 0 19G 0 part └─fedora_fedora-root 253:0 0 19G 0 lvm / vdb 252:16 0 10G 0 disk 现在有一个名为 vdb 的新设备。该设备的位置是 /dev/vdb。$ ls -l /dev/vdb brw-rw----. 1 root disk 252, 16 Nov 24 12:56 /dev/vdb 我们可以看到磁盘，但我们还不能用 LVM 来使用它。如果你运行 blkid，你应该不会看到它被列出。对于这个和之后的命令，你需要确保你的系统已配置好，这样你可以使用 sudo：$ sudo blkid /dev/vda1: UUID="4847cb4d-6666-47e3-9e3b-12d83b2d2448" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="830679b8-01" /dev/vda2: UUID="k5eWpP-6MXw-foh5-Vbgg-JMZ1-VEf9-ARaGNd" TYPE="LVM2_member" PARTUUID="830679b8-02" /dev/mapper/fedora_fedora-root: UUID="f8ab802f-8c5f-4766-af33-90e78573f3cc" BLOCK_SIZE="4096" TYPE="ext4" /dev/zram0: UUID="fc6d7a48-2bd5-4066-9bcf-f062b61f6a60" TYPE="swap" 将磁盘添加到 LVM 中使用 pvcreate 初始化磁盘。你需要传递设备的完整路径。在这个例子中，它是 /dev/vdb。在你的系统中，它可能是 /dev/sdb 或其他设备名。$ sudo pvcreate /dev/vdb Physical volume "/dev/vdb" successfully created. 当你运行 blkid 时，你应该看到磁盘已经被初始化为一个 LVM2_member：$ sudo blkid /dev/vda1: UUID="4847cb4d-6666-47e3-9e3b-12d83b2d2448" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="830679b8-01…