如何让 Linux 内核重新扫描 virtio 磁盘?

如何让 Linux 内核重新扫描 virtio 磁盘?

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.shsg3_utils包装中取出。

相关内容