How to use VMware images

Errors or typos? Topics missing? Hard to read? Let us know.

To deploy VMware ESXi through MAAS, you’ll need to create a specialised image using an official VMware ISO. Canonical offers a GitHub repository of community-contributed packer templates to automate this process.

Note: VMware does not support cloning boot devices. This may lead to issues like data corruption on VMFS data stores with cloned boot devices.

Prerequisites

To create and deploy a VMware image, you’ll need:

  • MAAS 2.5.0+
  • A machine running Ubuntu 18.04+
  • CPU: 4 cores at 2GHz
  • Memory: 8GB RAM (16GB recommended)
  • Disk space: 11GB
  • VMware ESXi ISO
  • Packer
  • Tested with Packer 1.3.4 64-bit Linux binaries
  • Packer template for MAAS custom image

Cloning VMware images

As previously mentioned, VMware does not support cloning boot devices. This limitation may cause data corruption issues on VMFS data stores.

VMware + MAAS networks

  • ESXi doesn’t support Linux bridges.
  • Supported bond modes are mapped as follows:
    • balance-rr to portid
    • active-backup to explicit
    • 802.3ad to iphash
  • No other bond modes are currently supported.
  • A PortGroup with a VMK attached cannot be used for VMs.

VMware + MAAS storage

Custom storage configurations are unsupported; MAAS will extend datastore1 to the full size of the deployment disk.

ESXi H/W support

VMware has specific hardware requirements. Running ESXi in a virtual machine or MAAS virsh Pod is not supported.

Customising images

Modify the packer-maas/vmware-esxi/http/vmware-esxi-ks.cfg file to customise the image.

Building an image

Load the nbd kernel module:

sudo modprobe nbd

Navigate to the appropriate directory:

cd /path/to/packer-maas/vmware-esxi

Build the image:

sudo packer build -var 'vmware_esxi_iso_path=/path/to/VMware-VMvisor-Installer-6.7.0-8169922.x86_64.iso' vmware-esxi.json

Uploading an image

To upload the image to MAAS, use:

maas $PROFILE boot-resources create name='esxi/6.7' title='VMware ESXi 6.7' architecture='amd64/generic' filetype='ddgz' content@=vmware-esxi.dd.gz

Last updated 5 months ago.