Saturday 23 April 2016

Back To Basics Part 1 - Virtual Machine Files

Most of the time i came across a similar kind of question related to the different types of files for a VM and their functionalities.

Files of the Virtual Machine are residing inside the folder (name of your VM) placed on the datastore and the files present in your datastore will depend on the current state of your Virtual Machine (Powered On/ Off/Suspended) and the action being performed on them.

1) VMName.vmx - Configuration File of Virtual Machine all the minute details about Virtual Machine is present in .vmx file (Virtual Hardware details,Guest Os, Virtual Networking). 

Every time when we create a Virtual Machine .vmx file is appended based on the settings we choose during the new virtual machine creation wizard.

2) vmx-VMName.vswp - Virtual Machine Executable (VMX) file allow the host to greatly reduce the amount of overhead memory reservation for each Virtual Machine. 

ESXi reserves memory per virtual machine for a variety of purposes. Memory for the needs of certain components, such as the virtual machine monitor (VMM) and virtual devices, is fully reserved when a virtual machine is powered on

However, some of the overhead memory that is reserved for the VMX process can be swapped

The VMX swap feature reduces the VMX memory reservation significantly. This allows the remaining memory to be swapped out when host memory is overcommitted, reducing overhead memory reservation for each virtual machine.
The host creates VMX swap files automatically, provided there is sufficient free disk space at the time a virtual machine is powered on.  

3) VMName.vswp - .vswp file is created when the VM is powered on and will be used during the period of contention.

Size of this file will depend on the memory Allocated to Virtual Machine - Reservation if any.

For Example if the Allocation is 2600 MB- Reservation is 1500 MB = 1100 MB would be the size of .vswp.

Another Example to understand it better Allocation 1500 MB - Reservation 1500 MB = 0 Kb is the size of .vswp file

Even the size of allocation and reservation are equal still the swap file will be created.

4) VMName.nvram - Stores the state of Virtual Machine BIOS similar to Non-Volatile RAM.

5) VMware.log - The Main log file for troubleshooting issues related to the Virtual Machine. Apart from the current log file upto six archive log files are maintained at one time.

Next time the virtual machine is Powered Off and Powered back On the first log file get deleted and another one get created. (vmware.log-1  to vmware.log-6) (vmware.log-2 to vmware log -7) and so on.

6) VMName.vmtx - .vmx file get converted to .vmtx file when the Virtual Machine is Converted to a Template,holding the configuration of Virtual Machine as a Master Copy.

7) VMname-rdm.vmdk - Raw Device Mapping file is created when the RDM are added to the virtual machine for storing the Virtual Machine data directly on a LUN instead of storing it   in a Virtual Disk.

However the file only contains the information about the disk the actual data is stored on LUN.

8) VMName.vmdk and VMname-flat.vmdk -  .vmdk is the disk descriptor file and flat.vmdk is the disk data file where in the .vmdk is pointer file pointing towards flat.vmdk.
A virtual disk is made up of one or more virtual disk files. The virtual machine settings show the name of the first file in the set. This file contains pointers to the other files in the set. 

If you specify that all disk space should be allocated when the virtual disk is created, these files start at the maximum size and do not grow. Almost all of the file content is virtual machine data. A small portion of the file is allotted to virtual machine overhead.
9) VMName.vmss - The suspended state file, which stores the state of a suspended virtual machine. 
10) VMName.vmsd , VMName.vmsn and delta.vmdk - .vmsd is the snapshot data file for storing the information about the snapshots associated with each virtual machine.
.vmsn The snapshot state file, which stores the running state of a virtual machine at the time you take that snapshot. It is stored in the working directory.
delta.vmdk -  Snapshot disk file that represents the difference between the current state of the virtual disk and the state that existed at the time the previous snapshot was taken.
* A virtual machine has an additional lock file if it is residing on NFS datastore.
* Virtual Machine has .ctk file change block tracking file if it backed up by vSphere Data Protection appliance or other backup software which has CBT feature.
For More information refer vSphere Documentation

No comments:

Post a Comment