vSphere Clustering Service (vCLS) Workaround for ESXi-Arm in vSphere 7.0 Update 1

The vSphere Clustering Service (vCLS) is a new capability that is introduced in the vSphere 7 Update 1 release. The issue is that the vCLS VMs are x86 and can not be deployed to an ESXi-Arm Cluster as the CPU architecture is not supported. But We could disable it according documentation:

Putting a Cluster in Retreat Mode

This task explains how to put a cluster in retreat mode.

Procedure

  • Login to the vSphere Client.
  • Navigate to the cluster on which vCLS must be disabled.
  • Copy the cluster domain ID from the URL of the browser. It should be similar to domain-c(number).
  • Navigate to the vCenter Server Configure tab.
  • Under Advanced Settings, click the Edit Settings button.
  • Add new key “config.vcls.clusters.domain-c841.enabled” use the domain ID copied in previous step.
  • For the cluster with the domain ID, set the Value to False.
Check new key “config.vcls.clusters.domain-c841.enabled” – Flase
  • Click Save.

ESXi on ARM

ESXi on ARM was released. Is it possible download from Flings ESXi Arm Edition.

Instalation Fling on Raspberry Pi 4

Preparation

Raspberry PI EEPROM update

Dowload Raspberry Pi OS from https://www.raspberrypi.org/downloads/ and update EEPRON

sudo rpi-eeprom-update -a

Create and setup UEFI on SD card

md SDcard
7z.exe x firmware-master.zip firmware-master\boot\*
xcopy firmware-master\boot\* SDcard\*  /E /H /C /I /Y

del SDcard\kernel*.img

7z.exe x RPi4_UEFI_Firmware_v1.20.zip -oSDcard\* -y
  • For Raspberry PI 4GB only: Append the config.txt file on the SD Card and append gpu_mem=16:
  • Copy directory SDcard to root directory on SD card
  • Boot Raspberry Pi from SD card

UEFI firmware configuration

  • Disable 3GiB memory limit
    • Device Manager / Raspberry Pi Config / Advanced Config / Limit RAM to 3 GB
    • The Raspberry Pi 4 UEFI is configured with a default limit of 3GiB of memory for OS compatibility purposes. It is neccesary to disable it.
  • Console Preference Selection
    • Device Manager / Raspberry Pi Config / Device Manager / Console Prefence Selection / Display Configuration
      • Virtual 800×600 – enable it
      • Virtual 1024×768 – enable it

Install ESXi-Arm

  • Basic instalation ESXi
    • Enable ssh
    • Setup ntp – IMPORTANT make sure that host has clock synchronized
  • Add ESXi ARM host to vCenter
  • Enabling vMotion
  • Create a VM – example Ubuntu for ARM

Known issues

  • JUMBO frame MTU – The ESX driver for Pi4’s NIC on the SoC (genet) currently does not support jumbo frames.
  • Native MAC Learning is not supported ???
  • /bin/netdbg does not work – Could be fixed with
    • https://flings.vmware.com/esxi-arm-edition/bugs/1113
[root@localhost:~] netdbg
Traceback (most recent call last):
  File "/bin/netdbg", line 32, in <module>
    RootCommandGroup()
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
  File "/build/mts/release/bora-16966451/bora/build/esxarm64/release/vmvisor/sys
FileNotFoundError: [Errno 2] No such file or directory: 'locale'

[root@localhost:~] export LANG=en_US.UTF-8
[root@localhost:~] netdbg
Usage: netdbg [OPTIONS] COMMAND [ARGS]...

  Command line interface to access settings on ESX datapath

Options:
  --help  Show this message and exit.

Commands:
  vswitch