Ubuntu:调整根 LVM(2?) 分区的大小

Ubuntu:调整根 LVM(2?) 分区的大小

我有一个在 VirtualBox 2.2.4 中运行的 Ubuntu 虚拟机,并且我在 8gb 虚拟磁盘上创建了它,但是这个磁盘太小了。

因此,我正在尝试增加磁盘的大小。到目前为止,我已经这样做了:

  1. 创建了一个新的更大的虚拟磁盘
  2. 将第二张磁盘添加到机器
  3. 使用 CloneZilla 将第一个磁盘克隆到第二个磁盘
  4. 删除第一个磁盘
  5. 从第二个(更大的磁盘)启动

但是现在我仍然停留在新的 100gb 虚拟磁盘上的 8gb 分区中。

从这里到拥有 100gb 分区的最简单路径是什么?:) 我了解到 GPart 可以调整分区大小,但它似乎不支持 LVM2 分区,而我的似乎是支持的。

谢谢

  • 亚历克斯

答案1

一般来说,调整 LVM 卷大小的方法如下:

假设/mountpoint处于 状态/dev/VolGroup00/mountpoint。您可以通过查看/etc/fstab或运行 来找到它mount -l

您可能还需要调整实际物理卷的大小,具体取决于您的设置。使用pvdisplay看看它是否足够大,并在必要时使用pvresize(类似于lvresize下面)。

umount /mountpoint
lvresize -L +<HOW MUCH BIGGER> /dev/VolGroup00/mountpoint
e2fsck -f /dev/VolGroup00/mountpoint
resize2fs /dev/VolGroup00/mountpoint <TOTAL SIZE>
mount /mountpoint

这相当于卸载、调整底层 LVM 的大小,然后调整实际的 ext3 分区的大小。

需要注意以下几点:

  1. 显然,使用分区/与数据分区不同。您可能需要一个启动盘,例如系统救援而不是现场操作。另请参阅下面 Kristof 的评论 —— 您实际上可以不卸载 就做到这一点/
  2. lvresize 有几个不同的语法选项,减少逻辑卷可能会损害覆盖分区。请咨询您的本地手册页了解更多信息。

答案2

只是这样做了,并且遇到了和你同样的问题,但是我没有创建新的 LVM 并将其添加到卷组,而是出于强迫症的考虑,我想调整当前 LVM 的大小,从而以简单的名义保留一个分区。注意:如果可用空间没有紧跟您正在调整大小的分区,我不相信这有可能!

为此,您需要一个可以删除和创建分区表的工具。由于我使用 GPT,这意味着我需要磁盘分区。您还需要在卸载分区的情况下执行此操作,因此您可能需要启动到 Ubuntu LiveCD 并从那里运行它。

下列粗体步骤用于示例 LVM/dev/mms/root在设备上/dev/sda,我想扩展分区/dev/sda3占据我新发现的自由空间。

笔记这些可能具有极大的破坏性,因此请确保您的输入是正确的!

  1. gdisk /dev/sda(确保输入正确的设备!)这将带您进入 gdisk,然后您可以按顺序执行以下步骤
    1. -- 打印出你当前的分区信息(供参考)
    2. d -- 用于删除分区表
    3. 3 ——代表您要删除的分区表的设备编号(重要!)
    4. n -- 用于创建分区表
    5. 3- 代表您想要创建的分区表的设备编号(您可能希望使用与步骤 3 中删除的相同的设备编号)
    6. - 打印出您当前的分区信息(再次参考,将其与您开始时的信息进行比较!)
    7. ——将您的更改保存到磁盘(您确定吗?!)
  2. pvresize /dev/sda3-- 您可能需要在执行此操作之前重新启动,以便您的操作系统识别新的分区大小
  3. 光伏显示器- 打印出您当前的信息(它应该显示它现在正在使用全部空间!)
  4. lvresize -l +100%免费 /dev/mms/root-- 调整 LVM 大小以占据新空间的 100%
  5. e2fsck -f /dev/mms/root-- 执行完整性检查
  6. resize2fs -p /dev/mms/root-- 调整文件系统大小以占据整个 LVM

完成上述操作并重新启动到调整大小的操作系统后,一切都按预期工作,并且我可以使用所有额外的可用空间!

我用来弄清楚这一切的其他参考资料:

http://www.jethrocarr.com/2012/08/10/gdisk-oh-glorious-gdisk/ http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html

答案3

我发现只有一种(且只有一种)方法可以做到这一点,而且我尝试了无数种方法。

首先,在 VirtualBox 中通过右键单击并转到“克隆”来克隆 ubuntu 客户虚拟机。克隆完成后,使用(在主机操作系统上)扩展克隆的 vdi

VBoxManage 修改“克隆的vdi名称”--调整“新根分区的大小(MB)”

然后 - 严格按照这篇文章中的步骤操作(他将 VMware 称为平台,但忽略了这一点)

http://blog.campodoro.org/?p=36

这将创建另一个大小与您添加的额外空间完全相同的 lvm,并将其附加到现有 lvm 的末尾。

一旦检查一切正常,您就可以删除原始虚拟机并提升您的克隆!

无需摆弄 fdisk,也不必担心删除或弄乱错误的分区。

在我找到这个解决方案之前,我肯定已经破坏了大约 4 个克隆的操作系统!

答案4

请注意,您实际上不需要使用 CloneZilla 之类的克隆工具,您可以在新虚拟磁盘上放置一个分区(可选),然后使用命令将其(或虚拟磁盘本身)初始化为 LVM pvcreate。然后使用vgextend将其添加到支持逻辑卷的卷组,然后使用vgreduce从卷组中删除原始虚拟磁盘。这将执行迁移,并且可以在逻辑卷正在使用时实时完成,这就是存储虚拟化的魅力所在。完成后,您只需按上述方式扩展逻辑卷,这也可以使用比 ext3 更现代的文件系统实时完成。

相关内容