如何让 Xen domU 注意到它的一个 phy 设备的块大小的变化?

如何让 Xen domU 注意到它的一个 phy 设备的块大小的变化?

我在 Xen domU 中运行 lvm,我可以动态增加逻辑卷的大小,并且在 domU 内部,我可以动态将文件系统的大小增加到 domU 块设备的大小,但如果不重新启动 domU,当它指向的逻辑卷的大小发生变化时,我实际上无法更新 domU 块设备的大小。

有人有提示或令人信服的解决方法(在有多个 domU 的盒子上有意义的解决方法?)

答案1

我知道您正在调整 LV 的大小,它是 DomU 的块设备。我找不到任何官方答案,但我的所有测试(Xen 3.2、Ubuntu Hardy)都无法让客户机识别。我的答案:不可能。

解决方案(复制粘贴时请保持大脑活跃!):

  1. 域0:sudo lvextend -L+10G /dev/vg/logical-volume
  2. 域0:sudo xm shutdown -w the-domu
  3. 域0:sudo xm create /etc/xen/the-domu.cfg
  4. 多米诺骨牌: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 空间中的数据的访问(用于备份等)变得不那么简单。

相关内容