OpenVDDK es una innovadora alternativa independiente a la biblioteca VDDK de VMware, diseñada para facilitar la lectura de discos virtuales desde herramientas de copia de seguridad y migración. Su creador asegura que, desarrollada desde cero basada en documentación pública y pruebas de caja negra, la implementación ha logrado reducir de 330 a 118 segundos el tiempo de una migración en caliente de una máquina virtual Linux en las primeras pruebas con V2K Migrate. Actualmente, el proyecto aún se encuentra en fase de pruebas y, por el momento, solo soporta lecturas mediante el método HotAdd en sistemas Linux.
Resumen rápido de OpenVDDK en 20 segundos
- OpenVDDK busca reemplazar la biblioteca
libvixDiskLib.so.8.0.3sin alterar las aplicaciones existentes que la utilizan. - En pruebas con V2K Migrate, el tiempo de migración se redujo de 330 a 118 segundos.
- La lectura de un disco de 200 GiB alcanzó una velocidad de 2.488 MiB/s, frente a 1.441 MiB/s con VDDK.
- La implementación actual funciona en Linux x86-64 y emplea HotAdd para acceder a los discos.
- Se consideran futuros soportes para NBD y NBDSSL, aunque todavía no están disponibles. El proyecto aún no ofrece descarga pública.
La propuesta focaliza en una parte concreta de la infraestructura de virtualización: la biblioteca que utilizan algunas aplicaciones para acceder a los discos de máquinas virtuales alojadas en VMware vSphere. OpenVDDK busca mantener compatibilidad con la interfaz de VDDK, permitiendo que las herramientas existentes hagan uso de la nueva implementación reemplazando simplemente la biblioteca, sin necesidad de modificar sus métodos de acceso.
El proyecto se presenta como una alternativa independiente tanto de VMware como de Broadcom. Según su documentación, no incorpora código de VMware, reproduciendo las funciones esenciales mediante documentación pública y pruebas de caja negra. La compatibilidad inicial se centra en la lectura de discos para migraciones y procesos de copia de seguridad.
De 330 a 118 segundos en una migración con CBT
La primera prueba divulgada se realizó con V2K Migrate, una herramienta gratuita y autoalojada para migrar máquinas virtuales desde VMware a KVM. El responsable del desarrollo indica que mantuvo la misma versión de la aplicación, la misma VM y entorno operativo, simplemente sustituyendo la biblioteca usada para leer los discos.
El proceso comprendió una migración en caliente de una máquina virtual con Debian 13 y un disco de 20 GB. Incluyó una copia completa de referencia, dos transferencias incrementales mediante Changed Block Tracking (CBT) — con cambios de 2 GiB y 5 GiB — y una última pasada tras apagar la VM.
Con VMware VDDK 8.0.3, el proceso duró 330 segundos. Con OpenVDDK, el tiempo descendió a 118 segundos, una reducción aproximada del 64%. El responsable asegura que ambas bibliotecas procesaron los mismos datos y las verificaciones de integridad fueron idénticas.
También se observó una mejora en el tiempo desde que se crea una instantánea hasta que el disco está listo para el sistema proxy: pasó de unos 30 segundos con VDDK a cerca de cinco segundos con OpenVDDK. Una vez conectado, la lectura inicia en milisegundos y el tiempo hasta devolver los datos es de aproximadamente 0,35 segundos, comparado con los 12,6 segundos con VMware.
Estas cifras ilustran por qué el autor destaca las operaciones de apertura y cierre del disco. En migraciones incrementales, donde se realizan múltiples lecturas en una VM activa, la espera entre operaciones puede acumularse, aún reduciendo el volumen de datos transferidos.
Es importante notar que estos resultados corresponden a pruebas específicas en un entorno particular: con ESXi y vCenter 8.0.3, una máquina de 3 CPUs virtuales, 4 GB de RAM, almacenamiento NFS 4.1 con cache en RAM y conexión de 100 GbE. Además, no se trata de una serie de repeticiones, por lo que no se puede garantizar una mejora uniforme en otros entornos.
Segunda prueba: migración en frío con almacenamiento NetApp
OpenVDDK también presenta una prueba en frío de migración de una VM con Windows Server 2019 y un disco de 200 GiB. En este caso, V2K Migrate lee el disco usando HotAdd desde un almacenamiento NFS de NetApp y escribe el resultado como archivo qcow2 en el mismo sistema.
La migración completa tomó siete minutos y 24 segundos con OpenVDDK, frente a 15 minutos y 2 segundos con VMware VDDK 8.0.3. La tasa de transferencia fue de 537 MiB/s con la nueva biblioteca, frente a 282 MiB/s con VMware. Además, el tiempo desde inicio hasta el primer byte escrito bajó de 93 a solo siete segundos.
Según los datos publicados, ambas versiones escribieron la misma cantidad de datos y omitieron bloques de ceros. La verificación con qemu-img compare confirmó que los archivos qcow2 resultantes eran idénticos y la validación de integridad fue exitosa.
El proyecto atribuye buena parte de la mejora a la estrategia de lectura anticipada que emplea OpenVDDK, solicitando múltiples bloques en paralelo y reduciendo así los tiempos de espera inactivos. Aunque esto puede modificar la latencia por petición y aumentar la carga de CPU, en general, acelera el proceso de copia.
En la prueba con NetApp, se estima que el proceso que antes duraba 594 segundos en espera de lecturas con VDDK, ahora toma aproximadamente 180 segundos. La reducción en tiempos muertos favorece las operaciones de copia, aunque la velocidad final dependerá también del almacenamiento, red y configuración específicos.
Es importante aclarar que estas cifras corresponden a pruebas controladas y no garantizan rendimiento similar en todos los casos. La velocidad efectiva puede variar según el hardware, la carga y otros factores, además de que los datos internos de velocidad en los registros no son directamente comparables, ya que la lectura anticipada prepara datos antes de la solicitud.
HotAdd: un primer paso, no una sustitución total de VDDK
La versión actual de OpenVDDK se centra en el transporte HotAdd, que permite conectar temporalmente el disco de una VM a otra máquina que actúa como proxy para su lectura. El proyecto ha realizado pruebas en migraciones en frío y en caliente, con operaciones incrementales y cadenas de instantáneas, incluyendo múltiples discos en paralelo.
Se soporta Linux x86-64 con glibc 2.28 o superior, con test en Enterprise Linux 8 y 9. Para vSphere, las versiones probadas son 7.0.3 y 8.0.3; la compatibilidad con versiones anteriores, como 6.5 y 6.7, está en planificación.
También se han realizado pruebas de recuperación tras interrupciones durante conexiones y desconexiones. La idea es que futuras ejecuciones puedan limpiar recursos pendientes en caso de terminaciones abruptas. Hasta ahora, se han explorado ciclos prolongados, discos de hasta 3 TiB y configuraciones de hasta 17 discos simultáneos.
Quedan pendientes casos de uso como máquinas cifradas, dispositivos RDM, y escalabilidad con múltiples máquinas. Los transportes NBD y NBDSSL están previstos para fases posteriores. Por ahora, la escritura de discos no está contemplada, ya que OpenVDDK apunta solo a operaciones de lectura.
Este estado de desarrollo es relevante para equipos encargados de copias de seguridad y migraciones, pues la compatibilidad de interfaz puede facilitar integraciones sin modificar aplicaciones existentes. No obstante, las pruebas en entornos reales con diferentes versiones de vSphere y hardware aún son necesarias para validar su rendimiento y fiabilidad.
OpenVDDK todavía no se encuentra disponible para descarga pública. Busca colaborar con equipos de migración y backup en versiones de evaluación. Su publicación oficial está prevista en una fase futura, con la llegada de la primera versión candidata.
Preguntas frecuentes
¿Qué es OpenVDDK?
Es una implementación independiente que busca sustituir a la biblioteca libvixDiskLib.so.8.0.3 utilizada en herramientas que leen discos virtuales de VMware. Está desarrollada desde cero, basada en documentación pública, con un enfoque en operaciones de lectura.
¿Qué rapidez ofrece OpenVDDK en comparación con VMware VDDK?
En las pruebas divulgadas, una migración en caliente se redujo de 330 a 118 segundos, y en una migración en frío de un disco de 200 GiB, el tiempo pasó de más de 15 minutos a aproximadamente 7 minutos y 24 segundos. Sin embargo, estos resultados corresponden a escenarios concretos y no garantizan mejoras similares en todos los entornos.
¿Qué métodos de transporte soporta OpenVDDK?
Actualmente, solo soporta el método HotAdd para lectura de discos en Linux. Se planean soportes futuros para NBD y NBDSSL, mientras que el transporte SAN aún no está contemplado.
¿Puedo descargar OpenVDDK ahora?
Por el momento, no está disponible para descarga pública. El proyecto busca colaboradores en migraciones y copias de seguridad para pruebas con versiones de evaluación, con el objetivo de lanzar una primera versión candidata en el futuro próximo.
