Virtual Disk Development Kit 1.0.1 Release Notes

Released 23-June-2008   |   Build 99191

This document contains the following sections:

About the Virtual Disk Development Kit

Welcome to the first general release of the Virtual Disk Development Kit (VDDK).

Release 1.0.1 replaces release 1.0 of 11-April-2008.

The VDDK is designed to assist partners and customers in developing applications that integrate with VMware virtual disk storage. The kit includes:

  • The Virtual Disk library, a set of C function calls to manipulate virtual disk (VMDK) files.
  • C++ code samples that you can build with either Visual Studio or the GNU C compiler.
  • Virtual Disk Manager utility to manipulate offline VMDK files on Windows or Linux (clone, create, relocate, rename, grow, shrink, or defragment).
  • DiskMount utility to access files and file systems in virtual disks on Windows or Linux.
  • Documentation about the Virtual Disk library and the command-line utilities.

VDDK provides easy access to virtual disk storage. This enables a wide range of solutions including:

  • Creation of virtual machine disk files to store backup of physical images.
  • Read access to virtual disk to enable off-line centralized scanning of virtual machines for anti-virus.
  • Write access to virtual disk to enable off-line centralized patching of virtual machines.
  • Read access to virtual disk to enable off-line software package analysis of virtual machines.

Obtaining the Software

To obtain the software, navigate to the VMware Developer Center and under the heading SDKs and APIs, click Virtual Disk. For download you will need to provide your email address and registered password.

The software is packaged as an exe installable for Windows, or a tar.gz archive for Linux, and installs on the following platforms:

  • Windows, 32-bit and 64-bit
    • Windows XP (SP 2)
    • Windows 2003 Server (SP2)
    • Windows Vista
  • Linux, 32-bit and 64-bit
    • Red Hat Enterprise Linux (RHEL) 3, 4, or 5
    • SUSE Enterprise Server 9 (SP3) or 10 (SP1)
    • Ubuntu Desktop 7.10

When VDDK is embedded in a partner solution, VDDK licensing mandates the use of VI Foundation, Standard, or Enterprise products, not standalone ESX.

Installing the Virtual Disk Development Kit

To install the software, follow the same procedure as in the Virtual Disk API Programming Guide.

Installing on Windows

  1. Download the installer VMware-vix-disklib*.exe from the VMware Web site to your desktop.
  2. Double-click the new desktop icon.
  3. Click Next, read and accept the license terms, click Next twice, click Install, and Finish.

Installing on Linux

  1. Download the compressed archive VMware-vix-disklib.*.tar.gz from the VMware Web site. You have a choice of 32-bit or 64-bit support.
  2. Type this command to unpack the archive, creating a new directory:
    tar xvzf VMware-vix-disklib.*.tar.gz
  3. Change to that directory and run the installation script as root:
    cd vmware-vix-disklib-distrib
    sudo ./vmware-install.pl
  4. Read the license terms and type “yes” to accept them.
  5. Software components install in /usr unless you specify otherwise.

Redistributing the Software

Partners can obtain a license to redistribute VMware binaries for support of their VDDK applications. To enable VDDK-based binaries on Windows guest virtual machines that do not have VDDK installed, take the following steps:

  1. Install the Microsoft Visual C++ (MSVC) redistributable, possibly as a merge module. The latest MSVC runtime works as side-by-side component, so manually copying it might not work on Vista. See the Microsoft Web site for x86 processors or x64 processors.
  2. Install VMware executables and DLLs from the \bin, \lib, and \plugins folders of the VDDK.
  3. Install your application, compiled in a manner similar to the vixDiskLibSample.exe program.

Known Issues and Workarounds

This release of the Virtual Disk Development Kit has the following known issues:

Virtual Disk Library

  • Calling VixDiskLib_Init() or VixDiskLib_Exit() from a thread can cause your application to fail, especially with OpenSSL involved. Library initialization and cleanup should be done from the main process, before and after thread use.
  • The current implementation cannot open a non-leaf snapshot disk using VMware vCenter authentication. The workaround is to go through an ESX/ESXi host for opening snapshots.

VMware Mount Utility

  • “Unable to get a VIM ticket for this virtual disk.” This indicates that VDDK is not licensed for use on standalone ESXi 3.
  • On most versions of Linux, the -v option for remote mount does not work out of the box. As root, edit file /etc/ld.so.conf, insert /usr/lib/vmware-vix-disklib/lib32 (or lib64) at top of file, and run the ldconfig command. (If you have never used ldconfig, you might need to add pre-existing library paths also.) Alternatively, you can set LD_LIBRARY_PATH.
  • With vmware-mount installed on RHEL3, it is not possible to remote mount any virtual disk on an ESX/ESXi host or through VMware vCenter. Newer versions such as Red Hat Enterprise Linux version 4 (RHEL4) fix this problem.
  • Quicker timeout needed when specifying an invalid host. Timeout might take 6 minutes, but you can interrupt and kill the process.
  • On Linux platforms: immediately after copying a large file, unmount takes many minutes, proportional to file size. Copying still occurs in the background, so wait for data transfer or unmount to complete.

Last updated 7-November-2008 6:00 pm