LVM PV 可以在开始时缩小吗?

LVM PV 可以在开始时缩小吗?

我继承了一台运行 Ubuntu 14.04.5 LTS 的服务器,它有一个 30 TB 的 RAID,分区为非常小型启动分区和包含其他所有内容的大型 LVM 分区。这是当前配置:

# lsblk
NAME                     MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                        8:0    0    30T  0 disk 
├─sda1                     8:1    0   113M  0 part /boot
└─sda2                     8:2    0    30T  0 part 
  ├─vg01-root (dm-0)     252:0    0  55,9G  0 lvm  /
  ├─vg01-pooling (dm-1)  252:1    0   1,8T  0 lvm  /var/lib/bareos/pooling
  ├─vg01-postgres (dm-2) 252:2    0 465,7G  0 lvm  /postgres
  ├─vg01-swap (dm-3)     252:3    0   3,7G  0 lvm  [SWAP]
  └─vg01-storage (dm-4)  252:4    0  27,7T  0 lvm  /var/lib/bareos/storage

如你所见,启动分区实在是太小了。所以我需要在开始sda2 的空间,以便扩大 sda1 的空间。网上有很多关于如何缩小 LVM 物理卷的精心编写的教程,但释放的空间总是出现在结尾的 PV。

当然,我可以在缩小 PV 后移动它,但这意味着复制整个 30 TB,这将花费很长时间,增加出错的风险,而且在我看来相当浪费。有没有更好的方法?空间来自哪个 LV 并不重要,它们都有一两个 Gig 的剩余。

答案1

我不知道如何移动 LVM PV 的启动,但这并不意味着它是不可能的;我的知识可能还不够。

但是,如果您没有听说更好的解决方案,您可以考虑以下步骤:

  1. 从末尾缩小物理卷,在末尾留下新分区所需的未分区空间/boot。(此网站上有各种关于调整 LVM PV 大小的问题,例如这个这个。
  2. /boot在现已缩小的 LVM PV 之后创建一个新的、更大的分区。
  3. 调整您的引导加载程序和/etc/fstab配置以使用新/boot分区的位置。
  4. 测试您是否可以从新分区启动。(您可以删除旧分区上的一个内核,留下至少一个已知可以工作的内核,然后尝试从新分区上与已删除内核相匹配的内核启动,以确保您从新分区启动。)
  5. 将旧/boot分区擦除干净。
  6. 如果有必要,请再次调整引导加载程序配置以删除对现已擦除的旧/boot分区的引用。
  7. 如果需要,可以将旧/boot分区添加到卷组,以便使用其空间。对于仅有 113MiB 的空间,这可能不值得,但如果您迫切需要保留该磁盘空间,这是一个选择。

另一种方法是,如果您不打算将旧/boot分区添加到 VG,则可以省略步骤 #5 之后的所有步骤。这样可以为您提供一个备份位置,您可以在其中存储一些当前内核,以防新分区出现问题/boot

相关内容