當連接到 Linux 中的原始磁碟時,有沒有辦法在 virtualbox 中啟用直接 I/O?

當連接到 Linux 中的原始磁碟時,有沒有辦法在 virtualbox 中啟用直接 I/O?

我找到了有關如何建立與指向原始區塊裝置的 virtualbox 一起使用的虛擬磁碟的說明。您無法從使用者介面執行此操作,但可以從命令列執行此操作:

VBoxManage internalcommands createrawvmdk -filename "</path/to/file>.vmdk" -rawdisk /dev/sda

這很有效,除了它不直接對區塊裝置進行 I/O,因此所有內容最終都在頁面快取中,如果您知道頁面快取是如何運作的,它會一次向區塊裝置提供一個髒頁面。這在慢速塊設備上需要很長時間。

如果 virtualbox 使用直接 io 存取區塊設備,則批次讀取和寫入將直接作為批次(其中包含許多段的 bio)進入區塊設備,並且速度會快得多。

我在任何地方都找不到描述如何執行此操作或是否可能的選項。有人知道這樣的事情嗎?

相關內容