Objective 4.3 – Manage advanced virtual machine configurations

Tune Virtual Machine disk controller configurations

  • BusLogic – this was one of the first emulated vSCSI controllers available in the VMware platform.  The earliest versions of Windows has this driver available by default which made it easy when installing that particular OS. It wasn’t however as performant as the LSI Logic driver since Windows’ driver was limited to a queue depth of 1, so often one would manually load the LSI Logic driver instead.  While still available and used occasionally (Is anyone still running Win2K?), it should be considered legacy.
  • LSI Logic Parallel (formerly knows as just LSI Logic) – this was the other emulated vSCSI controller available originally in the VMware platform.  Most operating systems had a driver that supported a queue depth of 32 and it became a very common choice, if not the default.
  • LSI Logic SAS – This is an evolution of the parallel driver to support a new future facing standard.  It began to grown popularity when Microsoft required its use for MCSC within Windows 2008 or newer.
  • VMware Paravirtual (aka PVSCSI) – this vSCSI controller is virtualization aware and was been designed to support very high throughput with minimal processing cost and is therefore the most efficient driver. In the past, there were issues if it was used with virtual machines that didn’t do a lot of IOPS, but that was resolved in vSphere 4.1.

 

Are there performance differences between them?

  • PVSCSI and LSI Logic Parallel/SAS are essentially the same when it comes to overall performance capability.  PVSCSI, however, is more efficient in the number of host compute cycles that are required to process the same number of IOPS. This means that if you have a very storage IO intensive virtual machine, this is the controller to choose to ensure you save as many cpu cycles as possible that can then be used by the application or host. Most modern operating systems that can drive high IO support one of these two controllers.
  • Here’s a detailed whitepaper that takes a closer look at PVSCSI vs LSI Logic SAS for IOPS, Latency and Cost.  While it does support that PVSCSI is more capable, keep in mind most customers are not producing 1 million IOPS so for real life the difference is negligible.

How many vSCSI adapters are supported per virtual machine?

  • It’s also worth noting that you can configure a total of 4 vSCSI adapters per virtual machine.  To provide the best performance, one should also distribute virtual disk across as many vSCSI adapters as possible.  This configuration provides the capability to process more IO simultaneously and benefit from additional queues if necessary.

Configure .vmx file for advanced configuration scenarios

First thing we need to do is get the Vmid, to do this list all VMs registered on the host the faulty VM is on (#vim-cmd /vmsvc/getallvms):

vmx01

To unregister a VM run the following (vim-cmd /vmsvc/unregister <Vmid> (in my case VMX_Disaster has Vmid 11)):

vmx02

Confirm the VM has been removed by running the “GetallVMs” command again:

vmx03

Next up go to VM location (#cd /vmfs/volumes/JC-T1-Thin-200GB-02/VMX_Disaster):

vmx04

To re-register a VM run the following: vim-cmd /solo/register /path/to/file.vmx:

vmx05

This will issue the VM with a new Vmid number, in this case 12

Next thing may be the kind of thing the exam asks us to do, for example “Limit Informational Messages from Virtual Machines to VMX Files”:

To do this the following line needs to be added to the VMX:

tools.setInfo.sizeLimit=104857

This can be done from the command line or by downloading and editing the VMX then uploading:

vmx06

To edit the VMX file from the command line we can do the following: # sed “3i tools.setInfo.sizeLimit=104857” VMX_Disaster.vmx

vmx07

Next example… say for example I messed up my VMX file:

vmx08

Easiest way tio fix this is to simply reload the VMX by running the #vim-cmd vmsvc/reload

vmx09

Configure VMware Fault Tolerance

Fault Tolerance (FT) required a dedicated VMK on each host in the cluster:

FT01

Once this is setup on each host, right click on the VM you are looking to make Fault Tolerant, select Fault Tolerance, then ‘Turn on Fault Tolerance’. You will get the following warning:

ft02

I got an error when trying to trun on FT as I only have 2 nodes in my management cluster, the following KB describes the problem and how I resolved it: VMware KB

You can tell if a VM is FT by the new VM icon in the client (“Damn Small Linux” VM below):

ft03

When browing VM on individual hosts you will see the primary and secondary VMs:

ft04ft05

Upgrade virtual machine hardware and VMware Tools

VMTools can be done automatically or manually by right clicking the VM, selecting ‘Guest’ then ‘Install/Upgrade VM Tools’. This will then ask you if you want the install to be automatic or manual.

tools01

You can also set the VM to automatically install tools at next reboot by editing the VM:

tools02