蚊章汇 - LVM
type: channel
link: https://linuxcn.bwsl.wang/tag/LVM/
items: 在 Linux 中创建 LVM 分区的分步指南
items: 使用 LVM 添加存储
items: 在 LVM 上安装 Linux Mint
items: Btrfs 和 LVM-ext4 该如何选择？
items: 使用 LVM 为你的 Fedora 系统添加存储
items: 使用 LVM 扩展卷空间
items: 如何从 LVM 的卷组中删除物理卷？
items: 如何在 Linux 中减少/缩小 LVM 大小（逻辑卷调整）
items: 如何在 Linux 中扩展/增加 LVM 大小（逻辑卷调整）
items: 如何在 Linux 中创建/配置 LVM（逻辑卷管理）

在 Linux 中创建 LVM 分区的分步指南
type: item
date: 2022-10-18T19:36:17+08:00
description: 在本指南中，我们将逐步介绍如何在 Linux 中创建 LVM 分区。LVM 代表 “ 逻辑卷管理 Logical Volume Management ”，它是专门为服务器管理 Linux 系统上的磁盘或存储的推荐方式。 LVM 分区的主要优点之一是我们可以实时扩展其大小而无需停机。 LVM 分区也可以缩小，但不推荐。为了演示，我在我的 Ubuntu 22.04 系统上连接了 15GB 磁盘，我们将从命令行在该磁盘上创建 LVM 分区。准备连接到 Linux 系统的原始磁盘具有 sudo 权限的本地用户预装 lvm2 包事不宜迟，让我们深入了解这些步骤。步骤 1、识别新连接的原始磁盘登录到你的系统，打开终端并运行以下 dmesg 命令：$ sudo dmesg | grep -i sd 在输出中，查找大小为 15GB 的新磁盘。识别新连接的原始磁盘的另一种方法是通过 fdisk 命令：$ sudo fdisk -l | grep -i /dev/sd 输出：从上面的输出，可以确认新连接的磁盘是 /dev/sdb。步骤 2、创建 PV（物理卷）在开始在磁盘 /dev/sdb 上创建 物理卷 Physical Volume （PV）之前，请确保已安装 lvm2 包。如果未安装，请运行以下命令：$ sudo apt install lvm2 // On Ubuntu / Debian $ sudo dnf install lvm2 // on RHEL / CentOS 运行以下 pvcreate 命令在磁盘 /dev/sdb 上创建 PV：$ sudo pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created. $ 要验证 PV 状态，运行：$ sudo pvs /dev/sdb 或者 $ sudo pvdisplay /dev/sdb 步骤 3、创建 VG（卷组）要创建 卷组 Volume Group （VG），我们将使用 vgcreate 命令。创建 VG 意味着将 PV 添加到其中。语法：$ sudo vgcreare <vg_name> <pv> 在我们的例子中，命令是：$ sudo vgcreate volgrp01 /dev/sdb Volume group "volgrp01" successfully created $ 运行以下命令以验证 VG（volgrp01）的状态：$ sudo vgs volgrp01 或者 $ sudo vgdisplay volgrp01 上述命令的输出：以上输出确认大小为 15 GiB 的卷组 volgrp01 已成功创建，一个 物理扩展Physical Extend（PE）的大小为 4 MB。创建 VG 时可以更改 PE 大小。步骤 4、创建 LV（逻辑卷）lvcreate 命令用于从 VG 中创建 逻辑卷 Logical Volume LV。 lvcreate 命令的语法如下所示：$ sudo lvcreate -L <Size-of-LV> -n <LV-Name> <VG-Name> 在我们的例子中，以下命令将用于创建大小为 14 GB 的 LV：$ sudo lvcreate -L 14G -n lv01 volgrp01 Logical volume "lv01" created. $ 验证 LV 的状态，运行：$ sudo lvs /dev/volgrp01/lv01 或者 $ sudo lvdisplay /dev/volgrp01/lv01 输出：上面的输出显示 LV（lv01）已成功创建，大小为 14 GiB。步骤 5、格式化 LVM 分区使用 mkfs 命令格式化 LVM 分区。在我们的例子中，LVM 分区是 /dev/volgrp01/lv01。注意：我们可以将分区格式化为 ext4 或 xfs，因此请根据你的设置和要求选择文件系统类型。运行以下命令将 LVM 分区格式化为 ext4 文件系统。$ sudo mkfs.ext4 /dev/volgrp01/lv01 执行下面的命令，用 xfs 文件系统格式化 LVM 分区：$ sudo mkfs.xfs /dev/volgrp01/lv01 要使用上述格式化分区，我们必须将其挂载到某个文件夹中。所以，让我们创建一个文件夹 /mnt/data：$ sudo mkdir /mnt/data 现在运行 mount 命令将其挂载到 /mnt/data 文件夹：$ sudo mount /dev/volgrp01/lv01 /mnt/data/ $ df -Th /mnt/data/ Filesystem Type Size Used Avail U…

使用 LVM 添加存储
type: item
date: 2021-12-14T07:51:31+08:00
description: LVM 为你配置存储的方式提供了极大的灵活性。 逻辑卷管理器 Logical Volume Manager （LVM）允许在操作系统和硬件之间建立一个抽象层。通常，你的操作系统会查找磁盘（/dev/sda、/dev/sdb 等）和这些磁盘中的分区（/dev/sda1、/dev/sdb1 等）。LVM 在操作系统和磁盘之间创建了一个虚拟层。LVM 不是一个驱动器持有一定数量的分区，而是创建一个统一的存储池（称为 卷组 Volume Group ），跨越任意数量的物理驱动器（称为 物理卷 Physical Volume ）。使用卷组中可用的存储，LVM 可以为你的操作系统提供类似磁盘和分区的功能。操作系统完全没有意识到它被“欺骗”了。由于 LVM 虚拟地创建卷组和逻辑卷，因此即使在系统运行时，也可以轻松调整它们的大小或移动它们，或者创建新卷。此外，LVM 提供了其它情况下不存在的特性，比如创建逻辑卷的活动快照时无需首先卸载磁盘。LVM 中的卷组是一个命名的虚拟容器，将底层物理磁盘组合在一起。它充当一个池，可以从中创建不同大小的 逻辑卷 Logical Volume 。逻辑卷包含实际的文件系统并且可以跨越多个磁盘，并且不需要物理上连续。特性分区名称通常具有系统名称，例如 /dev/sda1。LVM 具有便于人们理解的名称，例如 home 或者 media。分区的总大小受底层物理磁盘大小的限制。在 LVM 中，卷可以跨越多个磁盘，并且仅受 LVM 中所有物理磁盘总大小的限制。分区通常只有在磁盘未使用且已卸载时才能调整大小、移动或删除。LVM 卷可以在系统运行时进行操作。只能通过分配与分区相邻的可用空间来扩展分区。LVM 卷可以从任何地方占用可用空间。扩展分区涉及移动数据以腾出可用空间，这非常耗时，并且可能会在断电期间导致数据丢失。LVM 卷可以从卷组中的任何地方占用可用空间，甚至可以在另一块磁盘上。因为在 LVM 中创建卷非常容易，所以它鼓励创建不同的卷，例如创建单独的卷来测试功能或尝试不同的操作系统。对于分区，此过程将非常耗时并且容易出错。快照只能在 LVM 中创建。它允许你创建当前逻辑卷的时间点镜像，即使在系统运行时也可以。这非常适合备份。测试设置作为演示，假设你的系统具有以下驱动器配置：NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk `-xvda1 202:1 0 8G 0 part / xvdb 202:16 0 1G 0 disk xvdc 202:32 0 1G 0 disk xvdd 202:48 0 2G 0 disk xvde 202:64 0 5G 0 disk xvdf 202:80 0 8G 0 disk 步骤 1. 初始化磁盘以用于 LVM运行 pvcreate /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf。输出应如下：Physical volume "/dev/xvdb" successfully created Physical volume "/dev/xvdc" successfully created Physical volume "/dev/xvdd" successfully created Physical volume "/dev/xvde" successfully created Physical volume "/dev/xvdf" successfully created 使用 pvs 或者 pvdisplay 查看结果："/dev/xvde" is a new physical volume of "5.00 GiB" --- NEW Physical volume --- PV Name /dev/xvde VG Name PV Size 5.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 728JtI-ffZD-h2dZ-JKnV-8IOf-YKdS-8srJtn "/dev/xvdb" is a new physical volume of "1.00 GiB" --- NEW Physical volume --- PV Name /dev/xvdb VG Name PV Size 1.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID zk1phS-7uXc-PjBP-5Pv9-dtAV-zKe6-8OCRkZ "/dev/xvdd" is…

在 LVM 上安装 Linux Mint
type: item
date: 2021-08-21T18:44:24+08:00
description: 一个关于让 Linux Mint 20.2 与逻辑卷管理器（LVM）一起工作的教程。几周前，Linux Mint 的人员发布了他们的开源操作系统的 20.2 版本。Live ISO 中内置的安装程序非常好，只需要点击几下就可以安装操作系统。如果你想定制你的分区，你甚至有一个内置的分区软件。安装程序重点关注在简单的安装上：定义你的分区并安装到这些分区。对于那些想要更灵活的设置的人来说， 逻辑卷管理器 logical volume manager （LVM）是个不错的选择，你可以通过设置卷组（VG）并在其中定义你的逻辑卷（LV）。LVM 是一个硬盘管理系统，允许你在多个物理驱动器上创建存储空间。换句话说，你可以把几个小驱动器“拴”在一起，这样你的操作系统就会把它们当作一个驱动器。除此之外，它还有实时调整大小、文件系统快照和更多的优点。这篇文章并不是关于 LVM 的教程（网上已经有很多 这方面不错的信息了）。相反，我的目标是贴合这篇文章的主题，只关注让 Linux Mint 20.2 与 LVM 一起工作。作为一个桌面操作系统，其安装程序致力于简单化，在 LVM 上安装 Linux Mint 20.2 会略微复杂一些，但不会太复杂。如果你在安装程序中选择了 LVM，你会得到一个由 Linux Mint 开发者定义的设置，而且你在安装时无法控制各个卷。然而，有一个解决方案：在临场 ISO 中，该方案只需要在终端中使用几个命令来设置 LVM，然后你可以继续使用常规安装程序来完成工作。我安装了 Linux Mint 20.2 和 XFCE 桌面，但其他 Linux Mint 桌面的过程也类似。分区驱动器在 Linux Mint 临场 ISO 中，你可以通过终端和 GUI 工具访问 Linux 命令行工具。如果你需要做任何分区工作，你可以使用命令行 fdisk 或 parted 命令，或者 GUI 应用 gparted。我想让这些操作简单到任何人都能遵循，所以我会在可能的情况下使用 GUI 工具，在必要时使用命令行工具。首先，为安装创建几个分区。使用 gparted（从菜单中启动），完成以下工作：首先，创建一个 512MB 的分区，类型为 FAT32（这是用来确保系统可启动）。512MB 对大多数人来说是富余的，你可以用 256MB 甚至更少，但在今天的大容量磁盘中，即使分配 512MB 也不是什么大问题。接下来，在磁盘的其余部分创建一个 lvm2 pv 类型（LVM 2 物理卷）的分区（这是你的 LVM 的位置）。现在打开一个终端窗口，并将你的权限提升到 root：$ sudo -s # whoami root 接下来，你必须找到你之前创建的 LVM 成员（那个大分区）。使用下列命令之一：lsblk -f 或 pvs 或 pvscan。# pvs PV VG Fmt [...] /dev/sda2 lvm2 [...] 在我的例子中，该分区位于 /dev/sda2，但你应该用你的输出中得到的内容来替换它。现在你知道了你的分区有哪些设备，你可以在那里创建一个 LVM 卷组（VG）：# vgcreate vg /dev/sda2 你可以使用 vgs 或 vgscan 看到你创建的卷组的细节。创建你想在安装时使用的逻辑卷（LV）。为了简单，我分别创建了 root 根分区（/）和 swap 交换分区，但是你可以根据需要创建更多的分区（例如，为 /home 创建一个单独的分区）。# lvcreate -L 80G -n root vg # lvcreate -L 16G -n swap vg 我的例子中的分区大小是任意的，是基于我可用的空间。使用对你的硬盘有意义的分区大小。你可以用 lvs 或 lvdisplay 查看逻辑卷。终端操作到这就结束了。安装 Linux现在从桌面上的图标启动安装程序：进入 “Installation type”，选择 “Something else”。编辑 512Mb 的分区并将其改为 EFI。编辑根逻辑卷，将其改为 ext4（或一个你选择的文件系统）。选择将其挂载为根目录（/），并选择将其格式化。编辑 swap 分区并将其设置为交换分区。继续正常的安装过程。Linux Mint 安装程序会将文件放在正确的位置并为你创建挂载点。完成了。在你的 Linux Mint 安装中享受 LVM 的强大。如果你需要调整分区大小或在系统上做任何高级工作，你会感谢选择 LVM。via: https://opensource.com/article/21/8/install-linux-mint-lvm作者：Kenneth Aaron 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣…

Btrfs 和 LVM-ext4 该如何选择？
type: item
date: 2021-01-23T21:31:51+08:00
description: Fedora 33 在其各类桌面版本中引入了新的默认文件系统 Btrfs。多年以来，Fedora 一直在 逻辑卷管理 Logical Volume Manager （LVM） 卷之上使用 ext4，引入 Brtfs 对 Fedora 来说是一个很大的转变。更改默认文件系统需要 令人信服的原因。虽然 Btrfs 是令人兴奋的下一代文件系统，但 LVM 上的 ext4 是成熟而稳定的。本指南旨在探索各自的高级特性，使得更容易在 Btrfs 和 LVM-ext4 之间进行选择。先说结论最简单的建议是坚持使用默认值。全新安装的 Fedora 33 环境默认为 Btrfs，升级之前的 Fedora 版本将继续使用最初安装的设置，通常是 LVM-ext4。对于现有的 Fedora 用户来说，获取 Btrfs 的最简单方式是全新安装。然而，全新安装比简单升级更具破坏性。除非有特殊需要，否则这种干扰可能是不必要的。Fedora 开发团队仔细考虑了这两个默认值，因此对任何一个选择都要有信心。那么其他文件系统呢？现在有很多 Linux 系统的文件系统。在加上卷管理器、加密方法和存储机制的组合后，这一数字呈爆炸式增长。那么，为什么要关注 btrfs 和 LVM-ext4 呢？对于 Fedora 的用户来说，这两种设置可能是最常见的。在 Fedora 11 中，LVM 之上的 ext4 成为了默认磁盘布局，在此之前则使用的是 ext3。既然 Btrfs 是 Fedora 33 的默认设置，那么绝大多数现有用户会考虑是应该原地踏步还是向前跳跃。面对全新安装的 Fedora 33 环境，有经验的 Linux 用户可能会想知道是使用这个新的文件系统，还是退回到他们熟悉的文件系统。因此，在众多可能的存储选项中，许多 Fedora 用户会想知道如何在 Btrfs 和 LVM-ext4 之间进行选择。两者的共性尽管两个文件系统之间存在核心差异，但 Btrfs 和 LVM-ext4 实际上有很多共同之处。两者都是成熟且经过充分测试的存储技术。从 Fedora Core 的早期开始，就一直在使用 LVM，而 ext4 在 2009 年成为 Fedora 11 的默认设置。Btrfs 在 2009 年并入 Linux 主线内核，并且 Facebook 广泛使用了该文件系统。SUSE Linux Enterprise 12 在 2014 年使其成为默认文件系统。因此，它在生产环境中也有着长久的运行时间。这两个系统都能很好地防止因意外停电而导致的文件系统损坏，尽管它们的实现方式不同。它们支持的配置包括使用单盘设置和跨越多个设备，并且这两种配置都能够创建近乎即时的快照。有各种工具可以帮助管理这两种系统，包括命令行和图形界面。这两种解决方案在家用台式机和高端服务器上都同样有效。LVM-ext4 的优势ext4 文件系统 专注于高性能和可伸缩性，没有太多额外的花哨之处。它能有效地防止长时间后的碎片化，并当碎片化出现后提供了 很好的工具。ext4 之所以坚如磐石，是因为它构建在前代的 ext3 文件系统之上，带来了多年的系统内测试和错误修复。LVM-ext4 环境中的大多数高级功能都来自 LVM 本身。LVM 位于文件系统的“下方”，这意味着它支持任何文件系统。 逻辑卷 Logical volume （LV）是通用的块设备，因此 虚拟机可以直接使用它们。这种灵活性使得每个逻辑卷都可以使用合适的文件系统，用合适的选项应对各种情况。这种分层方法还遵循了“小工具协同工作”的 Unix 哲学。从硬件抽象出来的 卷组 volume group （VG）允许 LVM 创建灵活的逻辑卷。每个逻辑卷都提取自同一个存储池，但具有自己的设置。调整卷的大小比调整物理分区的大小容易得多，因为没有数据有序放置的限制。LVM 物理卷 physical volume （PV）可以是任意数量的分区，甚至可以在系统运行时在设备之间移动。LVM 支持只读和读写的 快照，这使得从活动系统创建一致的备份变得很容易。每个快照都有一个定义的大小，更改源卷或快照卷将占用其中的空间。又或者，逻辑卷也可以是 稀疏配置池 thinly provisioned pool 的一部分。这允许快照自动使用池中的数据，而不是使用在创建卷时定义的固定大小的块。有多个磁盘驱动器的 LVM当有多个设备时，LVM 才真正大放异彩。它原生支持大多数 RAID 级别，每个逻辑卷可以具有不同的 RAID 级别。LVM 将自动为 RAID 配置选择适当的物理设备，或者用户可以直接指定它。基本的 RAID 支持包括用于性能的数据条带化（RAID0）和用于冗余的镜像（RAID1）。逻辑卷也可以使用 RAID5、RAID6 和 RAID10 等高级设置。LVM …

使用 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…

使用 LVM 扩展卷空间
type: item
date: 2020-11-28T03:38:52+08:00
description: LVM 是一个逻辑卷管理工具，包括分配磁盘、条带化、镜像和调整逻辑卷的大小。它在 Fedora 安装中被普遍使用（在 BTRFS 作为默认文件系统之前是 LVM + Ext4）。但是你是否曾经遇到过启动系统时，GNOME 提示 home 卷几乎没有空间了！幸运的是，很有可能有一些空间在另一个卷中，而未被使用，可以用于重新分配。下面就来看看如何用 LVM 回收硬盘空间。在卷之间轻松重新分配空间的关键是逻辑卷管理器（LVM）。Fedora 32 及以前的系统默认使用 LVM 来划分磁盘空间。这种技术类似于标准的硬盘分区，但 LVM 更加灵活。LVM 不仅可以实现灵活的卷大小管理，还可以实现一些高级功能，比如读写快照、在多个硬盘上进行数据条带化或镜像、将高速硬盘作为慢速硬盘的缓存等等。所有这些高级选项可能会让人有点不知所措，但调整卷的大小很简单的。LVM 基础卷组（VG）作为 LVM 系统中的主要容器。默认情况下，Fedora 只定义了一个卷组，但你可以根据需要定义多个卷组。实际的硬盘和硬盘分区被添加到卷组中作为物理卷（PV）。物理卷会将可用的空间添加到卷组中。一个典型的 Fedora 安装有一个格式化的启动分区，其余的硬盘是一个配置为 LVM 物理卷的分区。从这个可用空间池中，卷组分配了一个或多个逻辑卷（LV）。这些卷类似于硬盘分区，但没有磁盘上连续空间的限制。LVM 的逻辑卷甚至可以跨越多个设备！就像硬盘分区一样，逻辑卷有一个定义的大小，可以包含任何文件系统，然后可以挂载到特定的目录。需要什么在 gnome-disks 应用中确认系统使用 LVM ，并确保其他卷中有可用的空间。如果没有可以从另一个卷中回收的空间，这个指南就没有用。还需要一个 Fedora 临场 CD/USB。任何需要收缩的文件系统都必须卸载。从 临场 Live 镜像运行，可以让硬盘上的所有卷保持未挂载状态，甚至包括像 / 和 /home 这样的重要目录。一句话警告按照这个指南，应该不会丢失任何数据，但它确实会使用一些非常底层和强大的命令。一个错误可能会破坏硬盘上的所有数据。所以要先备份磁盘上的所有数据！调整 LVM 卷的大小开始时，启动 Fedora 临场镜像并在对话框中选择 “Try Fedora”。接下来，使用 “Run Command” 启动 “blivet-gui” 应用（按 Alt-F2，输入 blivet-gui，然后按回车）。选择左侧 “LVM” 下的卷组。逻辑卷在右边。逻辑卷标签由卷组名称和逻辑卷名称组成。在本例中，卷组是 fedora_localhost-live，分配了 home、root 和 swap 逻辑卷。要找到完整的卷，选择每一个卷，点击“齿轮”图标，然后选择 “resize”。调整大小对话框中的滑块表示卷的允许大小。左边的最小值是文件系统中已经使用的空间，所以这是最小可能的尺寸大小（不删除数据）。右边的最大值是基于卷组中的最大可用空间。灰色的 “resize” 选项意味着该卷已经满了，而且卷组中没有可用空间。现在可以更改大小了！查看所有的卷，就像上面的截图那样，找到一个有足够空间的卷。并像上面的截图那样，在所有的卷中找到一个有大量额外空间的卷。向左移动滑块来设置新的大小。腾出足够的空间对整个卷有用，但仍然要为未来的数据增长留出足够的空间。否则，这个卷将是下一个被填满的卷。点击 “resize”，注意卷列表中出现了一个新项目：“free space”。现在选择这次要调整的卷，并将滑块一直向右移动。按 “resize” 键，并查看新改进的卷的布局。然而，硬盘驱动器上的任何东西现在都还没有改变。点击“勾选”选项将更改提交到磁盘。查看更改的摘要，如果一切看起来都是正确的，点击 “Ok” 继续。等待 “blivet-gui” 完成。现在重新启动回到 Fedora，可以使用之前被充满的卷上的新空间了。为未来计划要知道任何特定卷在未来需要多少空间是很困难的。与其立即分配所有可用的空闲空间，不如考虑在卷组中留出空闲空间。事实上，Fedora Server 默认在卷组中保留空间。当一个卷处于在线和使用中时，扩展卷是可能的。不需要临场镜像或重启。当一个卷几乎满的时候，可以使用部分可用空间轻松扩展卷并继续工作。遗憾的是，默认的磁盘管理器 gnome-disks 不支持 LVM 卷的大小调整，所以安装 blivet-gui 作为图形化管理工具。另外，还有一个简单的终端命令来扩展卷：lvresize -r -L +1G /dev/fedora_localhost-live/root 总结用 LVM 回收硬盘空间只是 LVM 功能的表面。大多数人，特别是在桌面中，可能不需要更高级的功能。然而，当需要的时候，LVM 就在那里，尽管它的实现可能会变得有点复杂。从 …

如何从 LVM 的卷组中删除物理卷？
type: item
date: 2020-10-25T18:16:26+08:00
description: 如果你的 LVM 不再需要使用某个设备，你可以使用 vgreduce 命令从卷组中删除物理卷。vgreduce 命令可以通过删除物理卷来缩小卷组的容量。但要确保该物理卷没有被任何逻辑卷使用，请使用 pvdisplay 命令查看。如果物理卷仍在使用，你必须使用 pvmove 命令将数据转移到另一个物理卷。数据转移后，它就可以从卷组中删除。最后使用 pvremove 命令删除空物理卷上的 LVM 标签和 LVM 元数据。第一部分：如何在 Linux 中创建/配置 LVM（逻辑卷管理）第二部分：如何在 Linux 中扩展/增加 LVM 大小（逻辑卷调整）第三部分：如何在 Linux 中减少/缩小 LVM 大小（逻辑卷调整）将扩展块移动到现有物理卷上使用 pvs 命令检查是否使用了所需的物理卷（我们计划删除 LVM 中的 /dev/sdc 磁盘）。# pvs -o+pv_used PV VG Fmt Attr PSize PFree Used /dev/sda myvg lvm2 a- 75.00G 14.00G 61.00G /dev/sdb myvg lvm2 a- 50.00G 45.00G 5.00G /dev/sdc myvg lvm2 a- 17.15G 12.15G 5.00G 如果使用了，请检查卷组中的其他物理卷是否有足够的空闲 扩展块 extent 。如果有的话，你可以在需要删除的设备上运行 pvmove 命令。扩展块将被分配到其他设备上。# pvmove /dev/sdc /dev/sdc: Moved: 2.0% … /dev/sdc: Moved: 79.2% … /dev/sdc: Moved: 100.0% 当 pvmove 命令完成后。再次使用 pvs 命令检查物理卷是否有空闲。# pvs -o+pv_used PV VG Fmt Attr PSize PFree Used /dev/sda myvg lvm2 a- 75.00G 1.85G 73.15G /dev/sdb myvg lvm2 a- 50.00G 45.00G 5.00G /dev/sdc myvg lvm2 a- 17.15G 17.15G 0 如果它是空闲的，使用 vgreduce 命令从卷组中删除物理卷 /dev/sdc。# vgreduce myvg /dev/sdc Removed "/dev/sdc" from volume group "vg01" 最后，运行 pvremove 命令从 LVM 配置中删除磁盘。现在，磁盘已经完全从 LVM 中移除，可以用于其他用途。# pvremove /dev/sdc Labels on physical volume "/dev/sdc" successfully wiped. 移动扩展块到新磁盘如果你在卷组中的其他物理卷上没有足够的可用扩展。使用以下步骤添加新的物理卷。向存储组申请新的 LUN。分配完毕后，运行以下命令来在 Linux 中发现新添加的 LUN 或磁盘。# ls /sys/class/scsi_host host0 # echo "- - -" > /sys/class/scsi_host/host0/scan # fdisk -l 操作系统中检测到磁盘后，使用 pvcreate 命令创建物理卷。# pvcreate /dev/sdd Physical volume "/dev/sdd" successfully created 使用以下命令将新的物理卷 /dev/sdd 添加到现有卷组 vg01 中。# vgextend vg01 /dev/sdd Volume group "vg01" successfully extended 现在，使用 pvs 命令查看你添加的新磁盘 /dev/sdd。# pvs -o+pv_used PV VG Fmt Attr PSize PFree Used /dev/sda myvg lvm2 a- 75.00G 14.00G 61.00G /dev/sdb myvg lvm2 a- 50.00G 45.00G 5.00G /dev/sdc myvg lvm2 a- 17.15G 12.15G 5.00G /dev/sdd myvg lvm2 a- 60.00G 60.00G 0 使用 pvmove 命令将数据从 /dev/sdc 移动到 /dev/sdd。# pvmove /dev/sdc /dev/sdd /dev/sdc: Moved: 10.0% … /dev/sdc: Moved: 79.7% … /dev/sdc: Moved: 100.0% 数据移动到新磁盘后。再次使用 pvs 命令检查物理卷是否空闲。# pvs -o+pv…

如何在 Linux 中减少/缩小 LVM 大小（逻辑卷调整）
type: item
date: 2020-10-22T05:07:00+08:00
description: 减少/缩小逻辑卷是数据损坏的最高风险。所以，如果可能的话，尽量避免这种情况，但如果没有其他选择的话，那就继续。缩减 LVM 之前，建议先做一个备份。当你在 LVM 中的磁盘空间耗尽时，你可以通过缩小现有的没有使用全部空间的 LVM，而不是增加一个新的物理磁盘，在卷组上腾出一些空闲空间。需要注意的是： 在 GFS2 或者 XFS 文件系统上不支持缩小。如果你是逻辑卷管理 （LVM） 的新手，我建议你从我们之前的文章开始学习。第一部分：如何在 Linux 中创建/配置 LVM（逻辑卷管理）第二部分：如何在 Linux 中扩展/增加 LVM（逻辑卷调整）减少逻辑卷涉及以下步骤：卸载文件系统检查文件系统是否有任何错误缩小文件系统的大小缩小逻辑卷的大小重新检查文件系统是否存在错误（可选）挂载文件系统检查减少后的文件系统大小比如： 你有一个 100GB 的没有使用全部空间的 LVM，你想把它减少到 80GB，这样 20GB 可以用于其他用途。# df -h /testlvm1 Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg01-lv002 100G 15G 85G 12% /testlvm1 卸载文件系统使用 umount 命令卸载文件系统：# umount /testlvm1 检查文件系统是否有任何错误使用 e2fsck 命令检查文件系统是否有错误：# e2fsck -f /dev/mapper/vg01-lv002 e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/mapper/vg01-lv002: 13/6553600 files (0.0% non-contiguous), 12231854/26212352 blocks 缩小文件系统下面的命令将把 testlvm1 文件系统从 100GB 缩小到 80GB。文件系统大小调整的常用语法（resize2fs）：resize2fs [现有逻辑卷名] [新的文件系统大小] 实际命令如下：# resize2fs /dev/mapper/vg01-lv002 80G resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/mapper/vg01-lv002 to 28321400 (4k) blocks. The filesystem on /dev/mapper/vg01-lv002 is now 28321400 blocks long. 减少逻辑卷 （LVM） 容量现在使用 lvreduce 命令缩小逻辑卷（LVM） 的大小。通过下面的命令， /dev/mapper/vg01-lv002 将把逻辑卷 （LVM） 从 100GB 缩小到 80GB。LVM 缩减 （lvreduce） 的常用语法：lvreduce [新的 LVM 大小] [现有逻辑卷名称] 实际命令如下：# lvreduce -L 80G /dev/mapper/vg01-lv002 WARNING: Reducing active logical volume to 80.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lv002? [y/n]: y Reducing logical volume lv002 to 80.00 GiB Logical volume lv002 successfully resized 可选：检查文件系统是否有错误缩减 LVM 后再次检查文件系统是否有错误：# e2fsck -f /dev/mapper/vg01-lv002 e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summ…

如何在 Linux 中扩展/增加 LVM 大小（逻辑卷调整）
type: item
date: 2020-10-02T07:41:59+08:00
description: 扩展逻辑卷非常简单，只需要很少的步骤，而且不需要卸载某个逻辑卷就可以在线完成。LVM 的主要目的是灵活的磁盘管理，当你需要的时候，可以很方便地调整、扩展和缩小逻辑卷的大小。如果你是逻辑卷管理（LVM） 新手，我建议你从我们之前的文章开始学习。第一部分：如何在 Linux 中创建/配置 LVM（逻辑卷管理）扩展逻辑卷涉及到以下步骤：检查逻辑卷（LV）所在的卷组中是否有足够的未分配磁盘空间如果有，你可以使用这些空间来扩展逻辑卷如果没有，请向系统中添加新的磁盘或 LUN将物理磁盘转换为物理卷（PV）扩展卷组增加逻辑卷大小扩大文件系统检查扩展的文件系统大小如何创建 LVM 物理卷？使用 pvcreate 命令创建 LVM 物理卷。当在操作系统中检测到磁盘，使用 pvcreate 命令初始化 LVM 物理卷：# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created 请注意：上面的命令将删除磁盘 /dev/sdc 上的所有数据。物理磁盘可以直接添加到 LVM 物理卷中，而不是磁盘分区。使用 pvdisplay 命令来显示你所创建的物理卷：# pvdisplay /dev/sdc "/dev/sdc" is a new physical volume of "10.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc VG Name PV Size 10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 69d9dd18-36be-4631-9ebb-78f05fe3217f 如何扩展卷组使用以下命令在现有的卷组（VG）中添加一个新的物理卷：# vgextend vg01 /dev/sdc Volume group "vg01" successfully extended 使用 vgdisplay 命令来显示你所创建的物理卷：# vgdisplay vg01 --- Volume group --- VG Name vg01 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 14.99 GiB PE Size 4.00 MiB Total PE 3840 Alloc PE / Size 1280 / 4.99 Free PE / Size 2560 / 9.99 GiB VG UUID d17e3c31-e2c9-4f11-809c-94a549bc43b7 如何扩展逻辑卷？使用以下命令增加现有逻辑卷大小。逻辑卷扩展（lvextend）的常用语法：lvextend [要增加的额外空间] [现有逻辑卷名称] 使用下面的命令将现有的逻辑卷增加 10GB：# lvextend -L +10G /dev/mapper/vg01-lv002 Rounding size to boundary between physical extents: 5.90 GiB Size of logical volume vg01/lv002 changed from 5.00 GiB (1280 extents) to 15.00 GiB (3840 extents). Logical volume var successfully resized 使用 PE 大小来扩展逻辑卷：# lvextend -l +2560 /dev/mapper/vg01-lv002 要使用百分比（%）扩展逻辑卷，请使用以下命令：# lvextend -l +40%FREE /dev/mapper/vg01-lv002 现在，逻辑卷已经扩展，你需要调整文件系统的大小以扩展逻辑卷内的空间：对于基于 ext3 和 ext4 的文件系统，运行以下命令：# resize2fs /dev/mapper/vg01-lv002 对于 xfs 文件系统，使用以下命令：# xfs_growfs /dev/mapper/vg01-lv002 使用 df 命令查看文件系统大小：# df -h /lvmtest1 Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg01-lv002 15360M 34M 15326M 4% /lvmtest1 …

如何在 Linux 中创建/配置 LVM（逻辑卷管理）
type: item
date: 2020-10-01T19:12:00+08:00
description: 逻辑卷管理 Logical Volume Management （LVM）在 Linux 系统中扮演着重要的角色，它可以提高可用性、磁盘 I/O、性能和磁盘管理的能力。LVM 是一种被广泛使用的技术，对于磁盘管理来说，它是非常灵活的。它在物理磁盘和文件系统之间增加了一个额外的层，允许你创建一个逻辑卷而不是物理磁盘。LVM 允许你在需要的时候轻松地调整、扩展和减少逻辑卷的大小。如何创建 LVM 物理卷？你可以使用任何磁盘、RAID 阵列、SAN 磁盘或分区作为 LVM 物理卷 Physical Volume （PV）。让我们想象一下，你已经添加了三个磁盘，它们是 /dev/sdb、/dev/sdc 和 /dev/sdd。运行以下命令来发现 Linux 中新添加的 LUN 或磁盘：# ls /sys/class/scsi_host host0 # echo "- - -" > /sys/class/scsi_host/host0/scan # fdisk -l 创建物理卷 （pvcreate） 的一般语法：pvcreate [物理卷名] 当在系统中检测到磁盘，使用 pvcreate 命令初始化 LVM PV：# pvcreate /dev/sdb /dev/sdc /dev/sdd Physical volume "/dev/sdb" successfully created Physical volume "/dev/sdc" successfully created Physical volume "/dev/sdd" successfully created 请注意：上面的命令将删除给定磁盘 /dev/sdb、/dev/sdc 和 /dev/sdd 上的所有数据。物理磁盘可以直接添加到 LVM PV 中，而不必是磁盘分区。使用 pvdisplay 和 pvs 命令来显示你创建的 PV。pvs 命令显示的是摘要输出，pvdisplay 显示的是 PV 的详细输出：# pvs PV VG Fmt Attr PSize PFree /dev/sdb lvm2 a-- 15.00g 15.00g /dev/sdc lvm2 a-- 15.00g 15.00g /dev/sdd lvm2 a-- 15.00g 15.00g # pvdisplay "/dev/sdb" is a new physical volume of "15.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb VG Name PV Size 15.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 69d9dd18-36be-4631-9ebb-78f05fe3217f "/dev/sdc" is a new physical volume of "15.00 GiB" --- NEW Physical volume --- PV Name /dev/sdc VG Name PV Size 15.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID a2092b92-af29-4760-8e68-7a201922573b "/dev/sdd" is a new physical volume of "15.00 GiB" --- NEW Physical volume --- PV Name /dev/sdd VG Name PV Size 15.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID d92fa769-e00f-4fd7-b6ed-ecf7224af7faS 如何创建一个卷组 卷组 Volume Group （VG）是 LVM 结构中的另一层。基本上，卷组由你创建的 LVM 物理卷组成，你可以将物理卷添加到现有的卷组中，或者根据需要为物理卷创建新的卷组。创建卷组 （vgcreate） 的一般语法：vgcreate [卷组名] [物理卷名] 使用以下命令将一个新的物理卷添加到新的卷组中：# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd Volume group "vg01" successfully created 请注意：默认情况下，它使用 4MB 的 物理范围 Physical Extent （PE），但你可以根据你的需要改变它。使用 vgs 和 vgdisplay…