Cómo prevenir la corrupción del disco en Virtualbox

Cómo prevenir la corrupción del disco en Virtualbox

Tengo un sistema de archivos btrfs con metadatos redundantes en una imagen de virtualbox. Después de una falla del sistema host, la partición btrfs experimentó cierta corrupción, lo que va en contra de las garantías del sistema de archivos, lo que sugiere que virtualbox está violando esas garantías.

¿Cómo consigo que VBox se comporte?

Respuesta1

Parece haber dos soluciones

  • deshabilitar ignorar vaciar, esto solo está disponible desde la línea de comando.

    dispositivo ATA virtual:

    VBoxManage setextradata "nombre de VM" "VBoxInternal/Devices/piix3ide/0/LUN#[x]/Config/IgnoreFlush" 0

    dispositivo SATA virtual:

    VBoxManage setextradata "nombre de VM" "VBoxInternal/Devices/ahci/0/LUN#[x]/Config/IgnoreFlush" 0

    donde [x] es el número de unidad indexado 0 para ese controlador

  • habilitar la caché del hostpara el controlador virtual en cuestión, esto se puede hacer en la interfaz de usuario. Tiene la desventaja de que la caché de IO dentro de la VM probablemente contendrá datos que también estarán en la caché del host, consumiendo así el doble de memoria para las cachés de IO.

    Reducir vm.swappinessel invitado puede ayudar aquí, ya que el caché de la página es menos importante si los datos ya están en el caché del host.

Tenga en cuenta que es difícil saber si cada solución es confiable debido a la naturaleza aleatoria de los fallos y la corrupción.

información relacionada