云架构师安德里亚·帕尼奇(Andrea Panić)近日发布了一款名为 OpenVDDK 的开源工具,旨在替代 VMware 虚拟磁盘开发套件(VDDK)。该工具允许用户在无需访问 VMware 专有库的情况下,读取虚拟机磁盘以进行备份和迁移。

VDDK 的限制与用户需求
VMware 官方将 VDDK 定义为“一组库和实用程序”,供软件开发人员创建能够访问和操作虚拟磁盘的应用程序,主要服务于存储和备份应用。然而,在实际应用中,用户及 VMware 的竞争对手常利用 VDDK 将虚拟机迁移至其他虚拟化平台。
随着 VMware 限制公开下载 VDDK,许多依赖该库的工具——包括 virt-v2v、nbdkit、Forklift/MTV、Proxmox VE 以及 Apache CloudStack 中的导入器等——在安装和运行上变得困难。帕尼奇指出,用户移动或保护自身数据的能力不应受制于某个下载页面的可用性。
OpenVDDK 的技术实现
OpenVDDK 被设计为 libvixDiskLib.so.8.0.3 的独立即插即用替代品。该库是 VMware 备份和迁移工具加载的核心组件,用于读取虚拟磁盘。帕尼奇强调,该项目完全从头编写,仅依据公共文档和黑盒测试完成,不包含任何 VMware 代码。
在技术架构上,该工具使用 Go 语言编写,并通过一层精简的 C 接口层暴露与 VMware 原版完全一致的 C 接口、库名称及符号版本。目前,OpenVDDK 仅支持读取磁盘操作,不具备写入功能,适用于备份和迁移场景。
测试与生产环境反馈
据帕尼奇透露,OpenVDDK 已在 vSphere 6.7 U3、7.0.3、8.0.3 及 9.1.1 版本上进行成功测试。通过 vCenter 在独立的 ESXi 主机上访问时,每个磁盘的读数均与预期匹配。
独立测试报告证实了其在 Forklift(从 VMware 到 KubeVirt 的冷/暖迁移)、OpenShift 上的 MTV(冷/暖迁移)、Proxmox VE 管道以及基于 nbdkit 的定制工具中的成功应用。此外,还有来自德国云提供商通过 V2K Migrate 迁移大型文件服务器,以及一家美国公司迁移至 Apache CloudStack/KVM 的生产环境使用案例。
帕尼奇同时提醒,上述成功案例并非经过独立审计的客户认可,也不构成对所有生产环境的绝对保证。
市场背景与其他替代方案
OpenVDDK 并非脱离 VDDK 的唯一途径。基于 KVM 的 OpenNebula 提供了名为 OneSwap 的工具,据报道其迁移成功率达 96%。Nutanix 近期也调整了其“移动”迁移工具,使其不再依赖 VDDK。红帽正在处理相关问题,并已披露部分解决方案细节。
OpenVDDK 采用 Apache 许可证发布,这或许能为红帽及其他厂商在改进 VM 迁移工具时提供助力。





