Virtual Machine Files and Definitions
As you are likely aware, a virtual machine is made up of a set of files on the storage system. There are a number of different file types that make up a virtual machine, some of which will only be present under certain conditions. Below lists the file types and their functions:
- VMX – Primary configuration file that stores the virtual machine settings (ie vCPU, Memory, Disks, etc)
- VMX~ – Change file for original VMX file. Changes are made to the VMX~ first to avoid VMX file corruption (Credit: William Lam)
- VMX.LCK – Locked VMX file to prevent changes from multiple hosts.
- VMDK – Virtual machine disk file that stores the contents of the hard drive. Additional drives are appended with a _1, _2, and so on.
- VMXF – Configuration file for VMs that are in a team (XML file).
- VMSD – Contains information and metadata regarding snapshots.
- VMSN – Snapshot state file – stores the running state of the virtual machine when snapshot is taken.
- <#>.VMDK – Redo-log file created when a VM has at least one snapsho. Stores changes made to a virtual disk while the VM is running.
- VSWP – Virtual machine swap file created to allow memory over-commitment on a host. Size = Configured Memory Size – Reservation
- NVRAM – Contains information regarding the BIOS settings for the VM
- LOG – File to log key VMware activity for troubleshooting purposes
- HLOG – Log file pertaining to vMotion
- -AUX.XML – File used to track changes occurring during snapshot activites
Newly created virtual machine on vSphere 5.5:
Single snapshot of server shown above:
Below shows two attached drives, one of which is 40GB thick provisioned and the other is thin provisioned:
Below shows additional files that are created when the VM is powered on, most notably the files surrounding memory functions for the VM: