Mr.PlanB Logo
    Volver al blog
    Proxmox
    VirtIOFS
    Virtualización
    Compartición de archivos
    ZFS

    VirtIOFS: la gran función que no estás usando en Proxmox

    14 de diciembre de 2025
    7 min de lectura

    Si estás metido de lleno en la virtualización con Proxmox, lo más probable es que ya hayas probado contenedores, máquinas virtuales e incluso algún que otro clúster de Ceph en tu homelab. Pero hay una función discreta que ha pasado desapercibida y que, con sinceridad, merece mucha más atención: VirtIOFS.

    Para bastantes usuarios, VirtIOFS se ha convertido en la solución preferida para tender un puente entre el sistema operativo anfitrión y los invitados, en especial para compartir archivos. Si sigues recurriendo a métodos de la vieja escuela, como Samba o NFS, te estás perdiendo una de las formas más sencillas y rápidas de disponer de carpetas compartidas operativas dentro de tus máquinas virtuales.

    Pero ¿qué es VirtIOFS exactamente?

    Sin perdernos en documentación técnica excesiva: VirtIOFS es un sistema de archivos compartido diseñado específicamente para máquinas virtuales. A diferencia de métodos más antiguos (al estilo del NFS de los años 2000), VirtIOFS está pensado para ejecutarse sobre el transporte VirtIO que utilizan los entornos QEMU/KVM. Para ti, eso se traduce en un acceso a los archivos del host muy rápido y con baja latencia desde tus máquinas virtuales invitadas.

    Es el tipo de tecnología que simplemente funciona. Para quienes han lidiado con las particularidades de los contenedores LXC o han intentado enlazar parches improvisados para tener almacenamiento compartido persistente, VirtIOFS supone un soplo de aire fresco.

    Por qué está ganando popularidad

    Un usuario lo resumió a la perfección: "Me había quedado atascado en LXC solo porque podía compartir fácilmente una carpeta del host con varios contenedores a la vez. Pero LXC exigía configuración adicional respecto a las VMs, como al usar contenedores sin privilegios y VPNs como Tailscale".

    Esa es la historia de muchos usuarios de Proxmox. Los contenedores son estupendos, hasta que dejan de serlo. Ejecutar Docker Swarm dentro de un LXC puede complicarse, sobre todo si combinas redes VPN o intentas aislar con permisos sin privilegios. Las máquinas virtuales ofrecen más flexibilidad y aislamiento, pero hasta la llegada de VirtIOFS carecían de una forma directa y limpia de compartir archivos.

    En cuanto este usuario empezó a migrar de Docker Swarm en LXC hacia máquinas virtuales Alpine, el escenario cambió por completo. Configurar almacenamiento compartido con VirtIOFS resultó rápido y fácil, y funcionó a la primera. Montar la misma carpeta del host en una VM con Linux de escritorio tampoco dio ningún problema, y el rendimiento fue, en sus propias palabras, "excelente".

    Esa experiencia no es un caso aislado. Otro usuario comentó que "migró todo a VirtIOFS al instante" cuando Proxmox incorporó el soporte nativo, sin tropiezos y sin ningún arrepentimiento.

    Casos de uso en el mundo real

    Empieza a consolidarse un patrón en lo que los usuarios de Proxmox hacen con VirtIOFS:

    • Pasar datasets de ZFS desde el host hacia máquinas virtuales invitadas
    • Ejecutar Docker dentro de VMs Linux completas (en lugar de contenedores) usando volúmenes montados con VirtIOFS
    • Compartir almacenamiento persistente entre varias máquinas virtuales sin carpetas compartidas de Samba ni complicaciones
    • Utilizarlo en invitados Windows para transferencias masivas de archivos, aunque no siempre sin fricciones (más detalles enseguida)

    Por ejemplo, un usuario compartió esta configuración: un host Proxmox con ZFS, con datasets compartidos mediante VirtIOFS hacia una VM, que a su vez los emplea como volúmenes persistentes de Docker. Puede que el rendimiento no supere al almacenamiento de bloques directo mediante VirtIO SCSI, pero en facilidad de uso es difícil de igualar.

    Otro usuario apostó por completo por esta vía: "Uso VirtIOFS sobre un conjunto de almacenamiento RAIDZ2 de 3 discos duros como unidad principal de datos para una VM con Ubuntu". La máquina virtual reside en un SSD independiente, mientras que los datasets se canalizan según hace falta. Es una estructura simple y limpia que cumple su cometido.

    No todo es perfecto

    No todo el mundo tiene un camino libre de tropiezos. Un usuario señaló una diferencia de rendimiento notable: "Escribir en el disco VirtIO SCSI de una VM me da 1.5GB/s, pero con VirtIOFS cae hasta unos 150MB/s". Es una distancia importante, y conviene tenerla presente si estás planificando una E/S de archivos muy exigente.

    Otro administrador encontró problemas de estabilidad al transferir terabytes de datos mediante VirtIOFS hacia una máquina virtual Windows. Tras cientos de gigabytes, la VM se bloqueaba, posiblemente debido a limitaciones en los controladores o a complicaciones bajo una carga elevada. El soporte para Windows todavía está madurando, y los resultados pueden variar según la configuración del invitado.

    Por tanto, VirtIOFS tiene sus puntos débiles. Sin embargo, los inconvenientes detectados parecen ser casos límite (transferencias de datos gigantescas, fallos de controlador en Windows) o bien compromisos asumidos a cambio de su facilidad de uso.

    La ventaja oculta: la simplicidad

    Configurar Samba de forma limpia es tedioso. NFS puede ser quisquilloso, sobre todo con los permisos y la configuración de red. Los bind mounts en LXC son muy prácticos hasta que necesitas un aislamiento de VM más estricto. VirtIOFS sortea todo eso.

    Un usuario recién llegado a Proxmox reconoció que eligió VirtIOFS para todo simplemente porque desconocía las alternativas, y le funcionó sin problemas. A veces no conocer el método antiguo te permite pasar directamente al mejor.

    Para quienes empiezan, esto es oro. Hay menos fricción, menos piezas móviles y un proceso de configuración que no exige bucear en foros antiguos de Proxmox ni descifrar unidades de montaje de systemd en artículos de hace cinco años.

    ¿Qué pasa con el rendimiento?

    Volviendo a la queja anterior: ¿es VirtIOFS "lento"? Depende.

    En IOPS y rendimiento bruto, VirtIO SCSI con almacenamiento de bloques sigue llevando ventaja. VirtIOFS se diseñó para acceso a nivel de archivos y nunca pretendió sustituir al almacenamiento de bloques. Si lees y escribes gran cantidad de archivos pequeños o solo necesitas acceso compartido a carpetas de configuración, datos de aplicaciones o volúmenes de Docker, ofrece velocidad de sobra. Para muchos usuarios, sacrificar algo de velocidad punta compensa con creces por la comodidad de despliegue y uso.

    En la mayoría de los escenarios cotidianos, VirtIOFS rinde lo bastante bien como para que no se perciba como un cuello de botella, en especial si no estás saturando el sistema con transferencias enormes.

    Conclusiones: ¿deberías utilizarlo?

    Si utilizas Proxmox y aún no has probado VirtIOFS, ahora es un buen momento. Si necesitas una forma rápida de compartir datos del host con máquinas virtuales, usa VirtIOFS. Si quieres salir de los contenedores hacia VMs sin perder la comodidad de compartir almacenamiento, usa VirtIOFS. Y si ejecutas Docker en máquinas virtuales, VirtIOFS hace que los volúmenes persistentes no den dolores de cabeza.

    No hace falta que reinventes toda tu arquitectura. VirtIOFS es una de esas herramientas con baja fricción que facilitan el día a día. Encaja en los flujos de trabajo actuales sin apenas esfuerzo, funciona con ZFS y ayuda a tender ese puente incómodo entre los contenedores y la virtualización completa.

    Desde luego, tiene limitaciones. Hay particularidades de rendimiento, y los usuarios avanzados que busquen los límites pueden toparse con fallos. Pero para la inmensa mayoría de las instalaciones de Proxmox, VirtIOFS es el tipo de tecnología que "simplemente funciona" con la que todos soñamos.

    En resumen

    • VirtIOFS ofrece compartición de archivos rápida y de baja latencia entre el host de Proxmox y las VMs
    • Resulta mucho más sencillo que desplegar Samba o NFS, con menos problemas de permisos
    • Es excelente para volúmenes de Docker, datasets de ZFS y almacenamiento compartido entre varias VMs
    • El rendimiento ronda los ~150MB/s frente a 1.5GB/s del almacenamiento de bloques, suficiente para la mayoría de los casos
    • El soporte en Windows aún está madurando, mientras que los invitados Linux ofrecen el mejor resultado
    • Si sigues usando LXC únicamente por los bind mounts, VirtIOFS puede ser tu vía de entrada a las VMs

    Recursos relacionados