Linux

如何讓 Linux 核心重新掃描 virtio 磁碟?

  • October 3, 2021

我有一個掛載到 KVM 來賓的 virtio 磁碟,由 LVM 邏輯卷支持。lvresize我在 KVM 主機上增加了邏輯卷的大小。

然後我不得不發出virsh pool-refresh讓 KVM 主機知道卷大小變化的問題。現在,如果我檢查卷virt-manager,我會看到正確的磁碟大小。但是無論如何,來賓作業系統仍然可以看到磁碟的舊大小。

如何強制 Linux 核心重新掃描 virtio 磁碟而不重新啟動來賓?

我發現的其他解決方案並非特定於 virtio,而且它們不起作用。Likeecho "- - -" > /sys/class/scsi_host/host0/scan應該適用於 SCSI 磁碟,但不適用於 virtio。另一個提示echo 1 > /sys/block/vda/device/rescan不起作用,因為該rescan文件不存在。

那麼,您是否知道重新掃描我的 virtio 磁碟的任何 virtio 特定提示?

除了在主機上調整 LV 的大小,告訴正在執行的來賓:virsh blockresize <domain> vda

作為一個半虛擬化的驅動,virtio 不再偽裝成 SCSI,重新掃描提示將不起作用。一旦客人知道它,音量就會變大。

rescan-scsi-bus.sh雖然在這種情況下沒有用,但sg3_utils軟體包中提供了一個更完整的 Linux SCSI 掃描腳本。

引用自:https://serverfault.com/questions/1079347