使用 LVM 调整 Xen 客户机的大小

使用 LVM 调整 Xen 客户机的大小

我有一台作为 Xen Dom0 运行的 RHEL 5.4 服务器,并希望使用 LVM 作为客户机磁盘安装多个 RHEL 5.4 DomU 客户机。我创建了以下两个 LV:

xen-test02-root  VM-VG -wi-a-   6.00G
xen-test02-swap  VM-VG -wi-a- 512.00M

我在安装客户机时使用了自定义分区选项,因此客户机中不使用 LVM,只有 2 个磁盘。一个用于 / (xvda),一个用于交换 (xvdb)。

这一切都很好,但现在我想测试扩展根分区。到目前为止,我已尝试使用 Dom0 中的 lvextend。这有效:

# lvextend -L +4GB /dev/VM-VG/xen-test02-root
  Extending logical volume xen-test02-root to 10.00 GB
  Logical volume xen-test02-root successfully resized

fdisk 显示磁盘现在为 10.7GB:

# fdisk -l /dev/VM-VG/xen-test02-root

Disk /dev/VM-VG/xen-test02-root: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

                     Device Boot      Start         End      Blocks   Id  System
/dev/VM-VG/xen-test02-root1   *           1         783     6289416   83  Linux

我现在希望使用 parted 来扩展该磁盘上的分区:

(parted) print

Model: Linux device-mapper (dm)
Disk /dev/mapper/VM--VG-xen--test02--root: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  6440MB  6440MB  primary  ext3         boot

(parted) resize 1 32.3kB 10.7GB
Error: File system has an incompatible feature enabled.
(parted)

有什么线索可以说明我做错了什么吗?parted 是调整分区大小的最佳工具吗?对于 Xen 客户机,我应该以不同的方式使用 LVM 吗?

非常感谢,z0mbix

答案1

您这里的问题是您无法使用 parted 调整 ext3 分区的大小。您必须删除日志(将 ext3 转换为 ext2),然后调整大小。

请参阅此处了解更多信息

http://www.hermann-uwe.de/blog/resizing-ext3-partitions-with-parted

答案2

为什么要对 LV 进行分区,而不是直接使用它?另外,如果你要操作分区表,最好在客户机中执行。最糟糕的是,看起来您可能试图在 domU 仍在运行时摆弄 dom0 中的分区表……很危险。

我调整 domU 磁盘大小的简单方法(到现在为止我可能已经做过一百多次了)是将带有 LV 的 domU 作为完整根分区(xvda1),然后运行:

lvextend -L+NG -n domu-root vg
xm shutdown -w domu
xm create domu
ssh domu resize2fs /dev/xvda1

瞧,一切就绪。对于非 root 文件系统,您可以直接分离/重新连接(尤其适用于交换),但 root 需要重新启动。

答案3

在您的 XEN 配置中,不要将 LV 附加到 xvda,而是将其附加到 xvda1 等。您的 domU 中的 xvda 设备将不存在,但您的 domU 仍会将 /dev/xvda1 视为有效分区。

答案4

# lvextend -L +50GB /dev/VolGroup01/fileserver.home 
  Extending logical volume fileserver.home to 300.00 GB
  Logical volume fileserver.home successfully resized

# e2fsck -f /dev/VolGroup01/fileserver.home
e2fsck 1.39 (29-May-2006)
/dev/VolGroup01/fileserver.home: recovering journal
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


# resize2fs /dev/VolGroup01/fileserver.home 300G
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/VolGroup01/fileserver.home to 78643200 (4k) blocks.
The filesystem on /dev/VolGroup01/fileserver.home is now 78643200 blocks long.

完毕!

相关内容