Delirios de un Informático

Solucionar el error BLKCACHE_IOERR en VirtualBox

Desde hace unos días, algunas máquinas virtuales (con guests Linux como CentOS y Ubuntu) me han empezado a dar un extraño error:

The I/O cache encountered an error while updating data in medium “ahci-0-0” (rc=VERR_DEV_IO_ERROR). Make sure there is enough free space on the disk and that the disk is working properly. Operation can be resumed afterwards.

En el log de la máquina se puede ver algo similar:

00:00:15.888 I/O cache: Error while writing entry at offset 13523484672
		(8192 bytes) to medium "ahci-0-0" (rc=VERR_DEV_IO_ERROR)
00:00:15.888 VM: Raising runtime error 'BLKCACHE_IOERR' (fFlags=0x6)
00:00:15.888 Changing the VM state from 'RUNNING' to 'SUSPENDING'.

Tras comprobar la partición en la que se encuentran las máquinas virtuales no está lleno y comprobar que el disco funciona perfectamente pasándole el correspondiente test de smartmontools, me he puesto a investigar y por lo que he podido ver, esto le ocurre a algunos que como yo tienen los archivos de la máquina virtual en una partición de un disco diferente al del sistema (para ganar un poco de rendimiento). En mi caso además está en una partición HFS (para compartirla con Mac OS X) lo que quizás también provoque este problema.

La solución pasa simplemente por habilitar el caché I/O del host. Se puede activar en la configuración de la máquina, en Almacenamiento » Controlador SATA » Usar la cache anfitrión de E/S (el resto de valores son los que VirtualBox usa por defecto). Tras realizar este cambio el error desaparece :).

2 comentarios en “Solucionar el error BLKCACHE_IOERR en VirtualBox”

Hugo Brea dice:

Eliminado el problema, GRACIAS.
Me ocurria por estar instalando las máquinas en un disco con formato ext4.

Gustavo dice:

Gracias. Problema Solucionado. Lo que me llama la atención es en qué momento o por qué comenzó a fallar.
Saludos.