Skip to content

Commit

Permalink
update VMWare known limitations (#113)
Browse files Browse the repository at this point in the history
closes #35
  • Loading branch information
alexsander-souza authored May 19, 2023
1 parent 8a5b78d commit e81b5b0
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 11 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Read more about how [custom images](https://maas.io/docs/how-to-customise-images
| Ubuntu | Stable |
| VMWare ESXi 6 | EOL |
| VMWare ESXi 7 | Stable |
| VMWare ESXi 8 | Beta |

### Maturity level

Expand Down
27 changes: 16 additions & 11 deletions vmware-esxi/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
## Prerequisites (to create the images)

* A machine running Ubuntu 18.04+ with the ability to run KVM virtual machines.
* Dual core x86_64 processor supporting hardware virtualization with at least 4GB of RAM and 32GB of disk space available.
* qemu-kvm
* qemu-utils
* Python Pip
* [Packer](https://www.packer.io/intro/getting-started/install.html), v1.7.0 or newer
Expand All @@ -16,6 +18,8 @@

* [MAAS](https://maas.io) 2.5 or above, [MAAS](https://maas.io) 2.6 required for storage configuration

VMware ESXi has a specific set of [hardware requirements](https://www.vmware.com/resources/compatibility/search.php) which are more stringent than MAAS.

## Customizing the Image

The deployment image may be customized by modifying packer-maas/vmware-esxi/KS.CFG see Installation and Upgrade Scripts in the [VMware ESXi installation and Setup manual](https://docs.vmware.com/en/VMware-vSphere/6.7/vsphere-esxi-67-installation-setup-guide.pdf) for more information.
Expand All @@ -25,14 +29,14 @@ The deployment image may be customized by modifying packer-maas/vmware-esxi/KS.C
You can easily build the image using the Makefile:

```shell
make ISO=/path/to/VMware-VMvisor-Installer-6.7.0.update03-14320388.x86_64.iso
make ISO=/path/to/VMware-VMvisor-Installer-8.0b-21203435.x86_64.iso
```

Alternatively you can manually run packer. Your current working directory must be in packer-maas/vmware-esxi, where this file is located. Once in packer-maas/vmware-esxi you can generate an image with:

```shell
sudo packer init
sudo PACKER_LOG=1 packer build -var 'vmware_esxi_iso_path=/path/to/VMware-VMvisor-Installer-6.7.0.update03-14320388.x86_64.iso' .
sudo PACKER_LOG=1 packer build -var 'vmware_esxi_iso_path=/path/to/VMware-VMvisor-Installer-8.0b-21203435.x86_64.iso' .
```

Note: vmware-esxi.pkr.hcl is configured to run Packer in headless mode. Only Packer output will be seen. If you wish to see the installation output connect to the VNC port given in the Packer output or remove the line containing "headless" in vmware-esxi.pkr.hcl.
Expand All @@ -43,22 +47,19 @@ Installation is non-interactive.

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

## Requirements

VMware ESXi has a specific set of [hardware requirements](https://www.vmware.com/resources/compatibility/search.php) which are more stringent than MAAS.
## Known limitations

The machine building the deployment image must be a GNU/Linux host with a dual core x86_64 processor supporting hardware virtualization with at least 4GB of RAM and 10GB of disk space available. Additionally the qemu-kvm and qemu-utils packages must be installed on the build system.
### VMWare support

### libvirt testing
MAAS uses cloning as the mechanism to deploy all supported OS. **This is [explicitly not supported by VMWare since ESXi 7.0 U2](https://kb.vmware.com/s/article/84280)**, as doing so could lead to data corruption if VMFS volumes are shared among hosts cloned using the same image. There's [no known workaround](https://kb.vmware.com/s/article/84349) for this limitation.

While VMware ESXi does not support running in any virtual machine it is possible to deploy to one. The libvirt machine must be a KVM instance with at least CPU 2 cores and 4GB of RAM. To give VMware ESXi access to hardware virtualization go into machine settings, CPUs, and select 'copy host CPU configuration.' VMware ESXi has no support for libvirt drivers, instead an emulated IDE disk, and an emulated e1000 NIC must be used.

## Known limitations
This image should be safe for standalone hosts and if you don't use any kind of shared storage.
**Use this image at your own risk**

### Storage

Expand All @@ -75,6 +76,10 @@ Only datastores may be configured using the devices available on the system. The

**WARNING**: VMware ESXi does not allow VMs to use a PortGroup that has a VMK attached to it. All configured devices will have a VMK attached. To use a vSwitch with VMs you must leave a device or alias unconfigured in MAAS.

### libvirt testing

While VMware ESXi does not support running in any virtual machine it is possible to deploy to one. The libvirt machine must be a KVM instance with at least CPU 2 cores and 4GB of RAM. To give VMware ESXi access to hardware virtualization go into machine settings, CPUs, and select 'copy host CPU configuration.' VMware ESXi has no support for libvirt drivers, instead an emulated IDE disk, and an emulated e1000 NIC must be used.

### Image fails to build due to qemu-nbd error

If the image fails to build due to a qemu-nbd error try disconnecting the device with
Expand Down

0 comments on commit e81b5b0

Please sign in to comment.