libvirt - 只能從 IDE 裝置啟動?

libvirt - 只能從 IDE 裝置啟動?

我運行 Ubuntu 18.04 作為主機,Windows 10 作為來賓,使用 QEMU/KVM 作為我的虛擬機器管理程序,使用 libvirt 作為我的管理工具。

我有一個 nvme ssd /dev/nvmewin,我想將其傳遞給 Windows 來賓(來賓將從該裝置啟動)

我還使用 OVMF 在 UEFI 模式下啟動。

目前,它僅在設備作為 IDE 設備公開時才有效。如果裝置位於 SCSI、SATA 或 Virtio 下,用戶端將無法啟動(藍屏,錯誤代碼為 INACCESSIBLE_BOOT_DEVICE)

我使用不同總線的動機是我認為它會產生更好的 I/O 性能。

所以我的問題是:

  • 使用不同的匯流排真的會產生更好的 I/O 效能嗎?
  • 如果是這樣,我如何將設備暴露在不同的總線下並啟動?

這是我關於設備的網域配置部分:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw' cache='none' io='native'/>
  <source dev='/dev/nvmewin'/>
  <target dev='hda' bus='ide'/>
  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>

答案1

使用不同的匯流排真的會產生更好的 I/O 效能嗎?

是的。我使用cache=none io=native虛擬機器管理程式預設屬性的 virtio 總線接近本機速度,cache並且io在使用水晶磁碟標記進行基準測試時,設定似乎更快,但實際上快取已啟用,因此必須對測試結果持保留態度。

如果是這樣,我如何將設備暴露在不同的總線下並啟動?

只需要安裝virtio總線驅動程式即可。 Windows 核心沒有它們,因此如果未安裝驅動程序,Windows 將無法在啟動時找到磁碟。

更多資訊可以找到這裡

相關內容