Its been more than 10+ years working in Virtualization industry and didn’t find any single day without dealing with Virtual Machine. Virtual Machine is one of the most important and critical entity of entire datacenter.
If Virtual machines are not working or becomes inaccessible, every other issue whether its Networking, Storage, Cluster etc.. becomes second priority.
I thought of sharing my knowledge w.r.t Virtual Machines on this blog.
I know many of you would already be aware about these files and their importance, but for those who are new to Virtualization and Vmware Technology, looking out to understand Virtual Machine and Its bundle of strange files might find this blog useful.
I’ll be covering Virtual Machine basics & Its anatomy, Files makes up Virtual Machine and its options.
WHAT IS VIRTUAL MACHINE
I have seen most of the IT professional, admin refer Windows or Linux Operating system running on ESXi host as “Virtual Machine”. In true sense, Its not true 100% percent correct.
Let me ask you 1 question, What do we call Physical Machine having all the required hardware but no OS installed in it.
Answer is, We call it Physical Machine or Physical Host.
Similarly, In Virtual Environment, Virtual Machine refers to a software container made up of Virtual Hardware pieces required to run instance of Guest Operating system like Windows, Linux.
“Virtual Machine is just a software container made up of different Virtual hardware components to run the instance of Guest OS installed in this software container“
WHAT KIND OF HARDWARE MAKES UP A VM
By default, Vmware ESXi presents the following generic hardware to VM:
- Intel Motherboard
- LSI, BUS or PVSCSI SAS Controller
- CD-ROM and Floppy Drive
- AMD or INTEL CPU depending upon the underlying hardware
- Intel E1000, VMXNet3 driver
- Standard VGA adapter
- USB controller
Just like Phyiscal Machine, a VM is VM before the installation of Guest Operating System( the term “Guest operating system” is used to denote an OS installed in a VM)
From the ESXi Host pespective, a Virtual Machine is just bunch of files stored on supported storage.
FILES THAT MAKES UP A VM
- VMX file – VM configuration File
- VMDK files – Consists Disk geometry information
- Flat-VMDK Files – Consists actual OS files
- VSWP File – Swap Memory File
- VMSD – Snapshot Descriptor File
- NVRAM – BIOS information
- VMSS – Memory information of Suspended VM
- .log – VM logging information
- VMSN – Memory State of Snapshot VM
- delta.vmdk – Disk state of Snapshot VM
vmx file is configuration file of a virtual machine. All the Virtual Machine hardware that resides in a VM define by this file. For ex. Entry for network configuration details of VM
guestOS = “windows8srv-64”
memSize = “3072”
ethernet0.virtualDev = “e1000e”
ethernet0.networkName = “VLAN-25”
ethernet0.generatedAddress = “00:50:56:8b:7f:44”
Each time when we create a Virtual machine using New Virtual Machine Wizard, vmx file appended with each questions answered regarding the guest OS size, name, network or disk configuration.
Whenever we edit Virtual machine settings, this files gets updated to reflect those changes.
This file consists below details:
- No of processors
- Memory Size
- No Of Network Adapters
- Network driver details
- MAC address
- SCSI Controller
- SCSI driver
- VC UUID
- BIOS UUID
- Virtual Machine Hardware Version
This is Virtual Machine Disk File describes the geometry of the Virtual Disk Drive. This descriptor file is header file contains only configuration information and pointers to the Flat-.vmdk file. VMDK consists hard drive information like disk sectors, no of cylinders, Head and adapter type.
ddb.adapterType = “lsilogic”
ddb.geometry.cylinders = “5221”
ddb.geometry.heads = “255”
ddb.geometry.sectors = “63”
FLAT VMDK FILE
This Flat VMDK file contains actual data for the Virtual Hard disk. Naturally, this means that the VMDK header file is typically very small hardly in Kbs while the VMDK flat file could be as large as the configured Virtual Disk Drive defined at the time of VM creation.
For ex : a 40GB virtual Disk could mean a 40GB FLAT-.VMDK file.
VMDK file is plain text file and human readable but FLAT VMDK file is binary file which can’t be read.
This is Virtual Machine Paging file and its size is equal to memory assigned to VM in its VM settings. For ex: if VM is configured with 4GB Virtual memory then vswp file size will be 4GB.
This file is snapshot descriptor file used for storing metadata information about the snapshots of virtual machine. This file consists of snapshot name, snapshot memory state and snapshot disk state.
This file gets created when virtual machine gets into suspended state and it preserves the memory contents of VM when VM was put into suspend state. When VM resumes it, memory content preserved in this file written back to Host memory.
This file is used to store the exact state of the Virtual Machine when snapshot was taken. Using this snapshot file, Virutal Machine memory state can be stored and switch back to state when snapshot was taken.
These Virtual Disk file gets created when we take a snapshot of VM. Its also known as redo-logs or differntial Disk file. This delta file gets created everytime when snapshot was taken and contains incremental disk changes.
This File contains BIOS information of Virtual Machine
These are Virtual Machine logging file captures all the logging information of VM and widely used for troubleshooting purpose. The current log file will always be named as vmware.log and upto six older files will be retained with a number at the end of their names ( vmware-1.log, vmware-2.log)
Be Social, Keep Sharing Keep Learning!!