如何扩大 LVM 和底层分区?

如何扩大 LVM 和底层分区?

我正在摆弄一个运行 Ubuntu 10.04 Server(64 位)的虚拟机,该虚拟机在单个 4GB 磁盘上使用 LVM。我只是使用了安装程序的自动 LVM 设置,结果如下(忽略磁盘大小 - 这是在我将磁盘大小调整为 8GB 之后):

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004b903

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          32      248832   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              32         523     3942401    5  Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5              32         523     3942400   8e  Linux LVM

Ubuntu 还将 LVM 空间设为仅有一个根 FS 和一个 512M 交换空间。

此时,我使用 VM 管理软件将底层磁盘扩展到 8GB,然后启动 VM 并尝试弄清楚如何扩大交换和根 FS。阅读man pvresize

...
EXAMPLES
Expand the PV on /dev/sda1 after enlarging the partition with fdisk
pvresize /dev/sda1
...

这让我意识到我必须先用 fdisk 扩大分区。因此我尝试删除扩展分区 2(这也删除了包含 LVM 的逻辑分区 5),然后重新创建两个分区,但这次使用所有柱面(具有相同的分区号,并将逻辑分区的类型设置为 Linux LVM 的 8e)。唉,失败了 - 我当时重新启动了,但虚拟机无法再启动。

那么我想做的事情可行吗?正确的做法是什么?提前致谢。

答案1

你做了什么应该可以工作,尽管我以前没有这样做过。由于您使用的是虚拟化解决方案,因此您可以按照我的做法来扩展基于 LVM 的虚拟机:添加新的虚拟磁盘并将其添加到您的 LVM 配置中 - 这样您就完全不必处理分区问题了。

添加驱动器并重新启动虚拟机后,您将看到下面列出了一个新硬盘/dev(例如/dev/sdb)。将其标记为物理卷(pvcreate /dev/sdb)并将其添加到卷组(vgextend VolGroupName /dev/sdb)。

现在您拥有一个更大的卷组,您可以将逻辑卷扩展到新的空间,lvresize并将文件系统扩展到卷中创建的额外 romm(对于resize2fsext2/3/4 使用,对于其他格式使用其他工具)。

相关内容