vSphere Virtual Machines — Hardware Versions, Disk Types, and Snapshots

VSPHERE-VMS

How vSphere virtual machines are constructed — the hardware version that determines available virtual devices, the machine types and BIOS/UEFI options, the virtual disk formats and their performance implications, the files that make up a VM on disk, and how snapshots work as a chain of delta disks.

vmwarevirtual-machinesvmdksnapshotsvm-hardwarevcpdcv

Overview

A vSphere virtual machine is a software-defined computer: a set of files on a datastore that together describe a complete x86 machine, combined with runtime state in the VMkernel while the VM is powered on. The choices made when creating a VM — hardware version, machine type, disk format, virtual device types — have lasting implications for performance, feature availability, and compatibility. Understanding what each choice means, what files accumulate on the datastore, and how snapshots operate is fundamental to managing virtual machines at any scale.

Hardware Versions

Every vSphere VM has a hardware version that controls which virtual hardware features are available to it. Higher hardware versions unlock newer capabilities — more virtual CPUs, more memory, newer virtual device types — but a VM on a high hardware version cannot run on an older ESXi host that does not support it.

Hardware VersionvSphere Release
21vSphere 8.0
19vSphere 7.0 U2
17vSphere 7.0
15vSphere 6.7 U2
14vSphere 6.7
13vSphere 6.5

Upgrading the hardware version requires the VM to be powered off. The upgrade is irreversible — there is no downgrade path. For VMs that may need to run on older hosts or be shared with environments running earlier vSphere versions, keeping the hardware version conservative is appropriate. For new VMs on a homogeneous vSphere 8.0 cluster, hardware version 21 offers the full feature set.

Machine Types — BIOS vs UEFI

Within a hardware version, VMs choose between two machine types that determine the firmware and chipset model presented to the guest OS:

The firmware setting — BIOS or UEFI — cannot be changed after VM creation without effectively reinstalling the guest OS. Choose the correct machine type at creation time.

Virtual Device Types

The virtual devices attached to a VM determine performance and compatibility with the guest OS:

Network adapters:

AdapterNotes
VMXNET3Paravirtual; best performance; requires VMware Tools; recommended for all modern guest OS
E1000EIntel E1000E emulation; broadly compatible without extra drivers; 1 Gbps virtual link
E1000Older Intel 82545EM emulation; legacy guest OS compatibility

Storage controllers:

ControllerNotes
VMware Paravirtual (PVSCSI)Best storage performance for high-I/O workloads; requires VMware Tools
LSI Logic SASGood default SCSI compatibility
SATAFor legacy compatibility or boot disk scenarios where SCSI is unsuitable
vNVMeLowest latency; requires Q35 machine type (hardware version 13+)

For production workloads, VMXNET3 and PVSCSI are the correct choices — they provide paravirtual performance without the emulation overhead of legacy adapters. E1000E and LSI Logic SAS exist for guest OS that cannot use paravirtual drivers.

VM Files on the Datastore

A virtual machine exists on the datastore as a directory of files. Understanding what each file contains matters for backup, recovery, and troubleshooting:

FilePurpose
.vmxVM configuration — all settings, virtual hardware definition
.vmdkVirtual disk descriptor — metadata only; points to the flat data file
-flat.vmdkActual disk data; not shown in the vSphere Client datastore browser
.nvramBIOS or UEFI firmware settings for the VM
.log (vmware.log)VM activity log — guest events, errors, VMware Tools interactions
.vmsdSnapshot database — the snapshot tree structure
.vmsnSnapshot state file — memory contents captured at snapshot time
-delta.vmdkDelta disk created when a snapshot is taken
.vmssSuspend state — VM memory contents when the VM is suspended
.vmtxReplaces .vmx when a VM is converted to a template

The -flat.vmdk file is the actual storage for all VM disk data and is typically the largest file in the VM directory. The .vmdk descriptor file is tiny — it is metadata only. This distinction matters when performing datastore operations: a datastore browser shows the descriptor, not the flat file.

Snapshots

A snapshot captures the state of a VM at a specific moment. Taking a snapshot makes the VM’s current virtual disk read-only and creates a delta disk — a separate file that receives all subsequent writes. From that point forward, reads go to both the delta (for recently written data) and the original disk (for everything written before the snapshot).

Snapshots can optionally capture VM memory state. A memory snapshot freezes the exact contents of the VM’s RAM at the snapshot moment, enabling a full revert to the VM’s running state. Without a memory snapshot, reverting to the snapshot restores the disk state but the VM powers off — there is no memory state to restore.

Snapshot operations:

Multiple snapshots form a snapshot tree: each snapshot is a parent of the next, with a chain of delta disks. Reverting to any point in the tree discards all deltas after that point. Each branch can contain up to 32 snapshots.

Snapshot limitations are important for production environments:

Cloning

Cloning creates new VMs from an existing source:

OVF/OVA are the hardware-independent portable formats for distributing VM images:

Both formats can be exported from and imported into vSphere, and can be used to distribute VM templates through Content Library.

Summary

A vSphere VM is defined by its hardware version (which controls available features and host compatibility), its machine type (BIOS/i440fx vs UEFI/Q35), and the virtual device choices made at creation time (paravirtual VMXNET3 and PVSCSI for performance, legacy adapters for compatibility). The VM exists as a directory of files on the datastore — the flat VMDK holds all disk data, the VMX holds configuration, and delta VMDKs accumulate from snapshots. Snapshots are a powerful operational tool for change management and testing, but they degrade performance at scale and are not a substitute for backup.