lvresize
我有一个 virtio 磁盘安装到 KVM 客户机上,由 LVM 逻辑卷支持。我在 KVM 主机上增加了逻辑卷的大小。
然后我必须发出命令virsh pool-refresh
让 KVM 主机知道卷大小的变化。现在,如果我在 中检查卷virt-manager
,我会看到正确的磁盘大小。但无论如何,客户操作系统仍然会以旧大小查看磁盘。
如何在不重新启动客户机的情况下强制 Linux 内核重新扫描 virtio 磁盘?
我发现的其他解决方案并非针对 virtio,而且它们不起作用。例如echo "- - -" > /sys/class/scsi_host/host0/scan
应该适用于 SCSI 磁盘,但不适用于 virtio。另一个提示是,由于文件不存在,echo 1 > /sys/block/vda/device/rescan
所以不起作用。rescan
那么,您是否知道有关重新扫描我的 virtio 磁盘的任何特定 virtio 提示?
答案1
除了在主机上调整 LV 大小之外,还要告知正在运行的客户机:virsh blockresize <domain> vda
作为半虚拟化驱动程序,virtio 不再假装是 SCSI,重新扫描提示将不起作用。一旦客户机意识到这一点,卷就会变大。
虽然在这种情况下没有用,但是更完整的 Linux SCSI 扫描脚本是rescan-scsi-bus.sh
从sg3_utils
包装中取出。