我有一個 btrfs 檔案系統,在 virtualbox 映像中包含冗餘元資料。主機系統崩潰後,btrfs 分區出現了一些損壞,這與檔案系統的保證相反,這表明 virtualbox 違反了這些保證。
如何讓 VBox 正常運作?
答案1
似乎有兩種解決方案
停用忽略刷新,這只能從命令列獲得。
虛擬 ATA 設備:
VBoxManage setextradata「虛擬機器名稱」「VBoxInternal/Devices/piix3ide/0/LUN#[x]/Config/IgnoreFlush」0
虛擬SATA設備:
VBoxManage setextradata「虛擬機器名稱」「VBoxInternal/Devices/ahci/0/LUN#[x]/Config/IgnoreFlush」0
其中 [x] 是此控制器的 0 索引磁碟機號
啟用主機快取對於相關虛擬控制器,這可以在 UI 中完成。它的缺點是虛擬機器內的 IO 快取可能會保存主機快取中的數據,從而消耗 IO 快取記憶體的兩倍。
減少
vm.swappiness
來賓的數量可能會有所幫助,因為如果資料已經在主機快取中,則頁面快取就不那麼重要了。
請注意,由於崩潰和損壞的隨機性,很難判斷每個解決方案是否可靠。