我有一台作为 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.
完毕!