我在 Xen domU 中运行 lvm,我可以动态增加逻辑卷的大小,并且在 domU 内部,我可以动态将文件系统的大小增加到 domU 块设备的大小,但如果不重新启动 domU,当它指向的逻辑卷的大小发生变化时,我实际上无法更新 domU 块设备的大小。
有人有提示或令人信服的解决方法(在有多个 domU 的盒子上有意义的解决方法?)
答案1
我知道您正在调整 LV 的大小,它是 DomU 的块设备。我找不到任何官方答案,但我的所有测试(Xen 3.2、Ubuntu Hardy)都无法让客户机识别。我的答案:不可能。
解决方案(复制粘贴时请保持大脑活跃!):
- 域0:
sudo lvextend -L+10G /dev/vg/logical-volume
- 域0:
sudo xm shutdown -w the-domu
- 域0:
sudo xm create /etc/xen/the-domu.cfg
- 多米诺骨牌:
sudo resize2fs /dev/xvda1
答案2
据我所知,没有真正的方法可以在不重新启动 VM 的情况下重新扫描 domU 中的磁盘。
正如您所说,您在 domU 中使用 LVM,可以使用的一种解决方案是通过将新的块设备连接到 VM 并调整卷组大小来调整 LV 的大小,而不仅仅是调整当前物理卷 (PV) 的大小。
实施上述方案将允许您将新磁盘附加到 VM、“pvcreate”它们并将其添加到 VG。
为了避免连接过多小磁盘,您可以尝试添加一个大块设备,该设备也能够处理虚拟机上的“pvmove”。这将允许您将数据移动到新的块设备,运行“vgreduce”,然后从 domU 分离块设备。
缺点是,如果您还在 dom0 上使用 LVM,则会出现 LVM->xvd->LVM 链。这可能会给您带来轻微的性能损失、管理的复杂性增加以及 dom0 对 domU 空间中的数据的访问(用于备份等)变得不那么简单。