VMDK
By VMware
VMDK, short for Virtual Machine Disk, is VMware's file format for storing the contents of a virtual machine's hard disk as one or more files on a host system. It is the native disk format used by VMware's hypervisor products, including…
Definition
VMDK, short for Virtual Machine Disk, is VMware's file format for storing the contents of a virtual machine's hard disk as one or more files on a host system. It is the native disk format used by VMware's hypervisor products, including ESXi, vSphere, and Workstation, and it allows a virtual machine's entire storage volume to be packaged, copied, and moved independently of the underlying physical hardware.
Overview
Server and desktop virtualization required a way to represent a guest machine's disk as ordinary files that a host file system could manage, back up, and move, and VMDK was VMware's solution to that need as it built out its hypervisor product line. Because VMware was an early and dominant player in enterprise virtualization, VMDK became one of the most widely encountered virtual disk formats in data centers. Mechanically, a VMDK deployment typically consists of a small text descriptor file that records metadata such as disk geometry and adapter type, paired with one or more binary extent files that hold the actual disk data. VMware supports several provisioning modes: thick-provisioned disks that reserve their full size on the host storage up front, either lazily or eagerly zeroed, and thin-provisioned disks that allocate storage incrementally as data is actually written, trading upfront disk usage for potential performance and fragmentation differences. Snapshots layer additional delta files on top of a base VMDK to capture point-in-time states without altering the original disk contents. VMDK's direct counterpart is Microsoft's VHD and VHDX format used by Hyper-V and Azure; the two are not natively compatible, so moving a virtual machine between VMware and Microsoft hypervisors generally requires a conversion step using tools built for that purpose. Within the VMware ecosystem, VMDK works alongside formats like OVF and OVA, which package VMDK files together with configuration metadata for distributing whole virtual appliances. In practice, VMDK files are used to run production workloads on vSphere and ESXi clusters, to distribute pre-built virtual appliances for testing or evaluation, and to back up or clone entire virtual machines by copying their VMDK files alongside the corresponding configuration. VMware Workstation and Fusion also use VMDK for desktop-hosted virtual machines used in development and testing. Limitations include the same cross-hypervisor friction seen with other proprietary virtual disk formats: a VMDK file cannot be attached directly to a non-VMware hypervisor without conversion, thin-provisioned disks can suffer fragmentation and slower I/O under heavy write workloads compared to thick provisioning, and snapshot chains that grow too long or too large can degrade performance and complicate management if not consolidated periodically. Administrators running large VMware environments generally mitigate these issues through disk maintenance practices such as periodic snapshot consolidation and choosing eager-zeroed thick disks for latency-sensitive workloads where predictable I/O performance matters more than storage efficiency, especially for database and transaction-heavy virtual machines that cannot tolerate unpredictable storage latency.
Key Concepts
- Descriptor-plus-extent file structure representing a virtual disk
- Thick and thin provisioning modes for host storage allocation
- Snapshot delta files capturing point-in-time disk states
- Native disk format for VMware ESXi, vSphere, and Workstation
- Compatibility with OVF and OVA virtual appliance packaging
- Support for eager-zeroed thick disks used in performance-sensitive clusters
- Portability of entire virtual machine storage across VMware hosts