The VMware® Virtual Disk Development Kit Programming Guide introduces the Virtual Disk Development Kit (VDDK) and the vSphere Storage APIs – Data Protection (VADP). For VDDK it describes how to develop software using a virtual disk library that provides a set of system-call style interfaces for managing virtual disks on ESXi hosts. For VADP it describes how to write backup and restore software that can be managed by vCenter Server®.

Revision History

This table summarizes significant changes in past versions of the guide.

Table 1. Revision History
Revision Description
2024-6-18 VM managed by VM Service for Kubernetes.
2023-11-29 Expand changed block tracking troubleshooting. DNS. Add caveat about vSAN ESA.
2023-09-21 For vSphere 8.0 U2. Added section about container storage snapshots on TKGS.
2023-04-18 For vSphere 8.0 U1. Datastore level VMDK access, SAN performance enhancements.
2022-10-05 For vSphere 8.0. Backup of Datasets and Docker containers; SCSI controller ordering.
2022-05-16 Revised "Configure SCSI Controllers in Linux Proxy VM" topic. Alt tags for accessibility.
2021-08-23 For vSphere 7.0 Update 3. Configurable async I/O buffers for NFC.
2020-09-16 For vSphere 7.0 Update 1. Added best practices for NBD backup. Inclusive terminology (see below). Renamed allowed and disallowed lists for SAN transport.
2020-04-02 For vSphere 7.0. Dedicated network for NBD backups, CBT enhancements.
2019-08-20 For vSphere 6.7 Update 3. Note change of policy for phone home (CEIP) going forward.
2019-04-11 For vSphere 6.7 Update 2, minor corrections, Storage Spaces stop application quiescing.
2018-10-16 For vSphere 6.7 Update 1, improved VixMntapi library on Linux, additional OS support.
2018-04-17 For vSphere 6.7, async NBD, query allocated blocks, First Class Disk, vTPM, phone home.
2017-03-09 Added section to best practices about backing up and restoring encrypted virtual disks.
2017-01-11 Corrections regarding 2TB virtual disk limits, more about ESXi connections.
2016-11-15 Final version for VDDK 6.5. New support for encryption, NBDSSL compression, and VSS extensions.
2016-03-25 Removed statement that disks not associated with a virtual machine can be mounted.
2016-02-02 Fallback to NBDSSL, SCSI order for disk mount, no linked clone SAN restore, EUC non-support.
2015-07-13 Clarified connection port and RAID support, more allowed list details, added Linux freeze and thaw.
2015-05-05 Documented allowed and disallowed lists for device path selection, corrected install procedures.
2014-12-26 Final version for VDDK 6.0. Virtual volumes support. SSL certificate checking now mandatory.
2014-04-08 VDDK 5.5.1 supports GPT. Snapshot quiesce and memory are incompatible. VMDK version 3.
2013-11-08 Fixed several errors involving roles and licensing, physical or virtual proxy, and log level.
2013-10-14 Corrections regarding 32-bit Windows and PackageCode. Removed Reparent and Combine APIs.
2013-09-22 Final version for the vSphere 5.5 release, with new chapter on vApp backup for vCloud Director.
2012-12-21 Bug fix version of the vSphere 5.1 manual: numeric change ID policy, mount restrictions.
2012-10-05 Final version of this manual for the vSphere 5.1 release.
2011-11-18 Bug fix version for 4Q 2011 refresh of the VMware vSphere Documentation Center.
2011-08-22 Final version for the VDDK 5.0 release, subsuming Designing Backup Solutions technical note.
2010-10-12 Bug fix revision for the VDDK 1.2.1 release
2010-08-05 Version for vSphere 4.1 and the VDDK 1.2 public release.
2009-05-29 Final version for the VDDK 1.1 public release.
2008-04-11 Updated version for release 1.0 of the Virtual Disk Development Kit.
2008-01-31 Initial version of the Virtual Disk Development Kit for partner release.

Intended Audience

This guide is intended for developers who are creating applications that manage virtual storage, especially backup and restore applications. It assumes knowledge of C and C++ programming. For VADP development, this guide assumes knowledge of Java.

Supported Platform Products

You can develop VDDK programs using either Linux or Windows, and test them using VMware Workstation or ESXi and vSphere. To develop and test VADP programs, you need a vCenter Server and ESXi hosts, preferably with shared cluster storage.

VMware Technical Publications

To access VMware SDK and API documentation, visit website https://developer.broadcom.com. To access VMware user and administrator manuals, visit website http://docs.vmware.com.

VMware updated this guide and others to remove instances of non-inclusive terminology.