So I’m currently going through all the notes I’ve ever written on VMware VI and vSphere in preparation for my VCP5 exam and thought I’d share them with you, many of you will know big chunks already, but for those who are new to VMware, looking to round out their knowledge or looking for revision for exams may find them useful.
This post will go through the basic anatomy of a Virtual Machine, including the files it’s made up of, and the options available.
This will not go into the detail of advanced parameters at this time.
Some of this information was created some time ago, I have tried to update wherever possible but if you notice something incorrect please let me know and I will do my best to update it promptly.
Files that make up a VM
These are the files that make up a VM, below will be a detailed description of each
- VMX file – Configuration
- VMXF file – Supplementational Configuration
- VMDK Files – Disk related files, includes .VMDK, -delta.vmdk, -rdm.vmds
- VSWP File – Memory overflow (SWAP) file
- VMSD File – Snapshot details
- VMSS File – Memory contents of suspended VM
- VMSN File – Snapshot Files
- NVRAM File – BIOS file
- Log files
The VMX file is the primary configuration file a virtual machine. Every aspect of your virtual machine is detailed in the VMX file.
Any virtual hardware assigned to your virtual machine is present here. An example entry for a virtual floppy drive is outlined below:
floppy0.startConnected = “false”
floppy0.clientDevice = “true”
Each time you create a new virtual machine using the New Virtual Machine Wizard, the VMX file is appended to with each question you answer regarding the guest operating system, disk sizes, and networking. Whenever you edit the settings of a virtual machine, this file is updated to reflect those changes.
Things that are included in this file
- Hardware configuration (incl. RAM, NICs, Hard drive and serial/parallel port info),
- Advanced power and resource settings
- VMware tools options
- Power management options
Warning making direct changes to this file should be done with care, and either creating a backup or updating your resume should be undertaken before directly editing this file especially on production VMs.
This file is a supplemental configuration file that is only retained for compatibility purposes with VM teaming in Workstation.
All virtual disks are made up of two files, a large data file equal to the size of the virtual disk and a small text disk descriptor file
- The –.vmdk file
Th descriptor file describes the size and geometry of the virtual disk file. The descriptor file also contains a pointer to the large data file as well as information on the virtual disks drive sectors, heads, cylinders and disk adapter type.
- The –flat.vmdk file
This is the virtual disk data file that is created when you add a virtual hard drive to your VM that is not an RDM. One of these files is created for each virtual hard drive that a VM has configured. The size will vary based on the maximum size of the disk, and the type of provisioning used (i.e. thick or thin)
- The –delta.vmdk file
These virtual disk data files are only used when snapshots are created of a virtual machine. When a snapshot is created, all writes to the original –flat.vmdk are halted and it becomes read-only; changes to the virtual disk are then written to these –delta files instead. A delta file will be created for each snapshot that you create for a VM and their file names will be incremented numerically (i.e., myvm01-delta.vmdk, myvm-02-delta.vmdk). These files are automatically deleted when the snapshot is deleted after they are merged back into the original –flat.vmdk file.
- The -rdm.vmdk file
This is the mapping file for the RDM that manages mapping data for the RDM device. The mapping file is presented to the ESXi host as an ordinary disk file, available for the usual file system operations. However, to the virtual machine the storage virtualization layer presents the mapped device as a virtual SCSI device. The metadata in the mapping file includes the location of the mapped device (name resolution) and the locking state of the mapped device. If you do a directory listing you will see that these files will appear to take up the same amount of disk space on the VMFS volume as the actual size of the LUN that it is mapped to, but in reality they just appear that way and their size is very small. One of these files is created for each RDM that is created on a VM.
At VM power on, a memory swap file is created, it is equal to the memory designated to the VM in its VM settings. If the ESXi host cannot provide sufficient memory to the VM, and Balooning can not be utilised to free memory then the host will use this file as memory overflow.
A field used for storing information and metadata about the snapshots of a virtual machine.
The snapshot information in this file consists of the name of the VMDK and VMSN file used by each snapshot, the display name and description, and the UID of the snapshot.
This file is used when virtual machines are suspended and is used to preserve the memory contents of the VM so it can start up again where it left off. When a VM is brought out of a suspend state, the contents of this file are written back into the physical memory of a host server. The file is deleted at next VM Poweroff.
This file is used with snapshots to store the state of a virtual machine when a snapshot is taken. A separate .vmsn file is created for every snapshot that is created on a VM and is automatically deleted when the snapshot is deleted.
This file contains the BIOS of the virtual machine.
he .log file. These are the files that are created to log information about the virtual machine and are oftentimes used for troubleshooting purposes. There will be a number of these files present in a VM’s directory. The current log file is always named vmware.log and up to six older log files will also be retained with a number at the end of their names (i.e., vmware-2.log). A new log file is created either when a VM is powered off and back on or if the log file reaches the maximum defined size limit. The amount of log files that are retained and the maximum size limits are both defined as VM advanced configuration parameters (log.rotateSize and log.keepOld).
View or modify the virtual machine name, check the location of the configuration file and the working location of the virtual machine, or change the guest operating system type.
Enable or disable vApp functionality. When vApp is enabled, you can select an IP allocation policy and other configurations particular to vApps.
Manage the power controls for the virtual machine and run VMware Tools scripts. You can also upgrade VMware Tools during power cycling and synchronize guest time with the host.
General Advanced Options
- Disable acceleration and enable logging, debugging, and statistics.
- Add configuration parameters.
Manage guest power options.
Suspend the virtual machine or leave the virtual machine powered on when you put the guest operating system into standby.
Hide or expose the NX/XD flag. Hiding the NX/XD flag increases vMotion compatibility between hosts.
Disable or enable CPU and memory hotplug. You can disable Memory or CPU hotplug if you do not want to add memory or processors accidentally while the virtual machine is running.
Set the boot delay when powering on virtual machines or to force BIOS setup and configure failed boot recovery.
Fibre Channel NPIV
Control virtual machine access to LUNs on a per-virtual machine basis. N-port ID virtualization (NPIV) provides the ability to share a single physical Fibre Channel HBA port among multiple virtual ports, each with unique identifiers.