Introduction
The .vmsd file is the snapshot database of a VMware
virtual machine: the centralised file in which the machine's snapshot information and metadata are
stored, and the main source Snapshot Manager draws its tree from. A new machine starts with a small
one, which grows as snapshots are taken. It sits beside the .vmx
file as <name>.vmsd.
Structure
The file is the same key = "value" text as a .vmx
file, including the .encoding line. VMware's article on Snapshot Manager and the backing
files describes the schema: general entries for Snapshot Manager, named snapshot.…, and
specific entries for each snapshot, named snapshotX.…, where X is an internal number that
groups the entries of one snapshot (the first is snapshot0). X is not the hierarchy. The
article says more entries exist than it lists.
| Key | Meaning (VMware KB 337269) |
|---|---|
snapshot.numSnapshots | The number of snapshots in the hierarchy; raised by one when a snapshot is taken, lowered when one is deleted, and deleted with snapshot.current when the last goes. |
snapshot.lastUID | The most recently created snapshot UID, kept so that no UID repeats; incremented by one for every snapshot created. |
snapshot.current | The UID of the current snapshot, the one the machine inherits from; updated by Go To to the snapshotX.uid of the snapshot chosen. |
snapshot.needConsolidate | TRUE when the disk chain needs consolidation. |
snapshot.recordName, snapshotX.recordName | Named in the article's schema as the general and per-snapshot record entries; the article does not describe their values. |
snapshotX.uid | The snapshot's unique UID. |
snapshotX.displayName | The name shown in Snapshot Manager. |
snapshotX.description | The optional description. |
snapshotX.filename | The .vmsn state file of the snapshot. |
snapshotX.numDisks | The number of virtual disks. |
snapshotX.diskY.node | The SCSI device ID of disk Y. |
snapshotX.diskY.fileName | The disk file for that device ID in this snapshot: the redo-log (delta) disk that was current, so the files of a disk chain can be found. |
.encoding = "UTF-8"
snapshot.lastUID = "2"
snapshot.current = "2"
snapshot.numSnapshots = "2"
snapshot0.uid = "1"
snapshot0.filename = "T-Snapshot1.vmsn"
snapshot0.displayName = "first"
snapshot0.numDisks = "1"
snapshot0.disk0.fileName = "T.vmdk"
snapshot0.disk0.node = "scsi0:0"
The viewer lists every snapshot, and reports a snapshot.numSnapshots that differs from the
snapshots with a uid, a snapshot.current that is no snapshot's uid, a repeated uid, and a
numDisks that does not match the disks listed.
Not described
Unknown
- Reference: the key that links a snapshot to its parent is not named in the article read, so the page cannot say how the hierarchy is stored; the viewer shows it as a key that is not described.
- Viewer: the same keys are shown as written and labelled not described, in the tree and in the All statements list.
Links
Software
- VMware Workstation Pro – VMware's desktop virtual machine software (Windows, Linux)
- VMware Fusion – VMware's virtual machine software for the Mac (macOS)
- VMware ESXi – VMware's server hypervisor
Reference
- Understanding the relationship between Snapshot Manager and the backing files – VMware's article, with the schema of the file