Как предотвратить повреждение диска в Virtualbox

Как предотвратить повреждение диска в Virtualbox

У меня есть файловая система 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 для этого контроллера

  • включить кэш хостадля рассматриваемого виртуального контроллера это можно сделать в пользовательском интерфейсе. Недостатком является то, что кэш ввода-вывода внутри виртуальной машины, скорее всего, будет содержать данные, которые также будут находиться в кэше хоста, таким образом, потребляя в два раза больше памяти для кэшей ввода-вывода.

    В этом случае может помочь уменьшение vm.swappinessгостевой ОС, поскольку кэш страниц менее важен, если данные уже находятся в кэше хоста.

Обратите внимание, что сложно сказать, является ли каждое решение надежным, поскольку сбои и повреждения носят случайный характер.

Связанный контент