Advanced configuration of VMs on ESXi

You can easily perform the following configuration on the platform using the UI or ApI

  • vCPU hotplug: enable hot-add disks for the VM template
  • use VMXNET3: select the NIC driver for the template
  • configure dedicated CPU resources
  • configure dedicated memory resources
  • Use Eagerzeroedthick virtual disks for data and log disk: edit the disks and select the EAGER_ZERO_THICK allocation type

For more details, see Modify a VM Template 


This page describes how to set further advanced configuration for VMs on ESXi. An example configuration could be as follows.

numa.vcpu.preferHT = TRUE (no default)
CPU/MMU Virtualization Option = automatic
halt_in_monitor = TRUE (no default)
idleLoopSpinBeforeHalt = TRUE (no default)
sched.cpu.latencySensitivity = normal (default)
tools.guestlib.enableHostInfo = FALSE (default)
sched.swap.vmxswapenabled = TRUE (no default)
hw version=14 (the newest version will be installed when deploying a new VM)
ethernetX.coalescingScheme = disable (no default)

You can set this configuration with VM variables before deploy only 


To set advanced configuration for a VM:

  1. Edit the abiquo.properties file on the Remote Services server

  2. For each configuration element, set a variable for the default configuration with the following format:

    com.abiquo.esx.variable.*variableKey*.extra.conf.key=extraConfValue

    For example, for "sched.swap.vmxswapenabled" 

    com.abiquo.esx.variable.*schedswapen*.sched.swap.vmxswapenabled=TRUE
  3. To activate the configuration, edit the VM template or the VM

  4. Go to Variables and set a variable with the key "variableKey" from the abiquo.properties
    For example, "schedswapen".

    "schedswapen":"TRUE"

    The VM would then have the configuration setting "sched.swap.vmxswapenabled" set to "TRUE".
    The platform does not use the value of the variable, so you can set any value except an empty value. For example, you could set it to the value of the ESXi variable. 

Example 2

To set "ethernet.coalescingScheme" to "disable" for all NICs, you can use an X to represent all NICs.

So you could set the following property in abiquo.properties, with the variableKey of "ethxcoalsch".

com.abiquo.esx.ethxcoalsch.ethernetX.coalescingScheme=disable

After setting the VM template variable, or VM variable as follows:

"ethcoalsch":"DISABLE"

The resulting configuration of the VM in the hypervisor will be:

ethernet0.coalescingScheme = disable
ethernet1.coalescingScheme = disable
ethernet2.coalescingScheme = disable
ethernet3.coalescingScheme = disable
ethernet4.coalescingScheme = disable
ethernet5.coalescingScheme = disable
ethernet6.coalescingScheme = disable
ethernet7.coalescingScheme = disable
ethernet8.coalescingScheme = disable
ethernet9.coalescingScheme = disable
ethernet10.coalescingScheme = disable
ethernet11.coalescingScheme = disable
ethernet12.coalescingScheme = disable
ethernet13.coalescingScheme = disable

Copyright © 2006-2022, Abiquo Holdings SL. All rights reserved