Objective 1.10 – Describe virtual machine (VM) file structure

In this part of blog, I will be covering file structure of Virtual Machine. What make up a virtual machine and what are important files that you shouldn’t be deleting at all. Well you can delete them but then you can say your virtual machine bye – bye. Jokes aside, let’s jump right into it.

Virtual Machine Files

 A virtual machine consists of several files that are stored on a storage device. The key files are the configuration file, virtual disk file, NVRAM setting file, and log file. We will look at different VM files and their function.

  • <vm_name>.vmx – Virtual machine configuration file. This file contains all configuration related information such as number of vCPU, RAM assigned to VM, type of storage adapter etc. This is a crucial file and if this file is missing, VM will failed to power on.
  • <vm_name>.vmxf –Additional configuration file of virtual machine.
  • <vm_name>.vmdk – Disk Descriptor file. This file contain disk characteristics such as size of hard disk, total number of blocks etc.
  • <vm_name>-flat.vmdk – RAW data file. It contains all data of disk. Both vmdk and –flat.vmdk are important and missing of which can result in power-on failure.
  • <vm_name>-rdm(p).vmdk – Raw Device mapping file. This file will get created if you attach a RDM device to VM. “p” denotes if you have attached RDM in physical sharing or not.
  • <vm_name>.nvram – BIOS or EFI file. This file saves BIOS or EFI configuration. It will create automatically when VM get powered on.
  • <vm_name>.log – VM log file. This is current log file and is locked while VM is powered on.
  • <vm_name>-#.log – Old Virtual machine log file.
  • <vm_name>.vmtx – Template configuration file. This replaces .vmx file when you convert a virtual machine to template.
  • <vm_name>.vswp – Virtual machine swap file. Size of this file is equal to size of memory allocated to virtual machine. This file creates automatically when virtual machine is powered on.
  • <vm_name>.vmsd – Snapshot data file. This file contain relationship between different snapshots and also their child disks. If you take snapshot, then only this file will get created else it will not be present. Very important file and any changes to this file should be avoided unless you know what you are doing.
  • <vm_name>-######-delta.vmdk – More commonly called as delta vmdk. This file will save all the raw data which is delta to flat file after you take a snapshot. So any changes in data that will happen will be saved in delta.vmdk, and flat.vmdk will be locked in read only mode after you take a snapshot. If this file is deleted, VM will be failed to power on and all your changes will be lost which may lead to data corruption.
  • <vm_name>-snapshot#.vmsn – Snapshot state file. It saves the virtual machine (VM) data for a snapshot, which is a frozen state of the VM saved at a particular point in time and can be one of several different snapshots used by the virtual machine. It is saved with a .VMSD file, which contains the metadata for the snapshot.
  • <vm_name>.vmss – Virtual machine suspended state file. This file saves state of virtual machine when it is put into suspended state.
  • <vm_name>.vmem – Suspended state memory file. This file saves all the pages of memory and it helps in restoring memory when Virtual machine is resumed.
  • <vm_name>-snapshot#.vmem – Snapshot memory file. This file gets created if while taking a snapshot you choose to save virtual machine memory as well. This file will save the pages of memory at time when snapshot was taken.

This was a short article with less ground to cover. But still important from exam perspective. Let me know your thoughts over same.

Happy Learning…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.