Create a central VMware Tools repository

VMware Tools releases have been decoupled from VMware vSphere release since version 10.0. You can now standardize to the latest VMware Tools by configuring a centralized repository. This can be useful when you want to point to a new VMware Tools version when for example a security vulnerability in identified VMware Tools. This is recently happened and described in the VMSA-2021-0013 security advisory. (link) for example.

Requirements:

  • VMware ESXi 6.7 Update 1 or later
  • PowerCLI installed

Here are the steps to create a central VMware Tools repository:

  • Create a folder structure on a central datastore (all VMware ESXi hosts have access to this datastore)  in the cluster. For example:
    • On the nfs01 datastore is created a folder called “vmwtools“, under that folder, I created another folder called “11.3.0-18090558
  • Download the latest VMware Tools version, link
  • Extract the VMware Tools ZIP file. Two folders are extracted:
    • floppies
    • vmtools
  • Upload the two folders to the folder structure created. In this example I used: /vmfs/volumes/vmwtools/11.3.0-18090558

  • Change the following variables so it matches the vSphere environment:
    • $cluster
    • $datastore
  • The PowerCLI script below will point all the VMware ESXi hosts in a cluster to the central VMware Tools repository location.
  • Execute this script
# Import PowerCLI module
Import-Module VMware.PowerCLI

# VMware VirtualCenter server name 
$VCserver = read-host "Enter the vCenter server name"

# Connect to the vCenter server 
Connect-VIServer -server $VCserver

$cluster = 'CL-MGNT'
$hosts = Get-Cluster -Name $cluster | Get-VMHost
$datastore = '/vmfs/volumes/nfs01/vmwtools/11.3.0-18090558/'

# Display current VMware Location
$hosts | Get-AdvancedSetting -Name "UserVars.ProductLockerLocation" | Select-Object Entity,Value

# Change VMware Tools location 
Get-cluster -name $cluster | Get-VMhost | %{$_.ExtensionData.UpdateProductLockerLocation($datastore)}  

# Display current VMware Location
$hosts | Get-AdvancedSetting -Name "UserVars.ProductLockerLocation" | Select-Object Entity,Value

# Disconnect vCenter 
Disconnect-VIserver -server * -Confirm:$false

The default location of the VMware Tools is: /locker/packages/vmtoolsRepo/

  • Select a Windows VM in the vSphere cluster. A message is displayed that there is a newer version of VMware Tools available.
  • Select Upgrade VMware Tools (It is possible that the VM is automatically rebooted when choosing for an Automatic Upgrade).

  • After the installation, check if VMTools is running and if the version is current.

Creating a central VMware Tools repository is an easy step that is very useful to stay up to date with the latest VMware Tools versions for the Virtual Machines.

The VMware PowerCLI script listed above can be found on my GitHub repository, link.

Run Home Assistant Supervised supported as Virtual Machine (VM) on VMware ESXi

I’m running Home Assistant Supervised on Ubuntu for a long time, but that is not supported anymore. Home Assistant Supervised provides the full Home Assistant experience on a regular operating system. The Supervisor is not just an application but it is a full appliance that manages the whole system. Home Assistant supervised is only supported on Debian Operating System. Below are the steps described on how to install Home Assistant Supervised as Debian 10 (Buster) VM on VMware ESXi 7.0.2.

Configure the Virtual Machine hardware specifications

  • Download the debian-10.10.0-amd64-netinst.iso, link
  • Make a connection to the ESXi host: https://<ip-address>/ui
  • Upload the Debian ISO to a datastore
  • Create a new virtual machine with the following specifications:
    • Name: <Name of the VM>
    • Compatibility: Default (ESXi 7.0 U2 and later)
    • Guest OS family: Linux
    • Guest OS version: Debian GNU/Linux 10 (64-bit)
    • Storage: datastore with 30 GB free space
    • CPUs: 2
    • Memory: 2048 MB
    • Hard disk 1: 30 GB
      • Disk Provisioning: Thin provisioned
    • SCSI Controller 0: VMware Paravirtual
    • USB controller 1: USB 2.0 or 3.0 depending on the ESXi hardware
    • Network adapter 1: Select the port group
      • Adapter type: VMXNET 3
    • CD/DVD Drive 1: Datastore ISO file
      • Browse to the Debian ISO
      • Connect at Power: checked
    • Video Card: Default settings
    • Next
    • Finish
    • Power on the VM
    • Open a console session

The VM is now configured with a paravirtualized SCSI controller (PVSCSI) and VMXNET3 Virtual NIC.

Install Debian 10 (Buster) on VMware ESXi

  • Installer Menu: Select Install
  • Language: English
  • Location:  Other, Europe, Netherlands
  • Locales:  United States
  • Keymap:  American English
  • Enter the hostname: ha-05
  • Domain name: <domain name>
  • Root password: <Enter the root password>
  • Full Name for the user:<Full name>
  • User name: <username>
  • Choose Password for the new user: <Enter the root password>
  • Partition Disks: Guided – Use the entire disk and set up LVM
    • Select disk to partition: SCSI1 (0,0,0) – 32,2 GB VMware Virtual Disk
    • Partition scheme: All files in one partition (recommended for new users)
    • Write the changes to disk and configure LVM: Yes
    • Amount of volume group to use for guided partitioning: 31.7 GB
    • Select: Continue
    • Write changes to disks: Yes
  • Scan another CD or DVD: No
  • Debian archive mirror country: Select the archive mirror country nearby. I select The Netherlands
  • Debian archive mirror: deb.debian.org
  • HTTP Proxy: Leave empty and select continue
  • Participate in the package usage survey: No
  • Software selection:
    • Check: SSH server and standard system utilities
    • Uncheck: Debian desktop environment, print server
  • Install the GRUB boot loader to the master boot record? Yes
  • Device for boot loader installation? /dev/sda
  • Installation is complete.
    • Finish the installation: Continue

The Debian VM will be rebooted and is ready for use. After the installation open a console session and log in.

  • Install the sudo command
su
apt install sudo
nano /etc/sudoers

Under the “User privilege specification” add the user account created during the Debain installation

username ALL=(ALL:ALL) ALL

Press CTRL + X to save the file. Now it is possible to use the sudo account under your username

exit
sudo -i
  • Update all Debian packages
apt update && apt upgrade -y
  • Install the Open Virtual Machine Tools
apt install open-vm-tools -y

After installing the Open VM Tools the IP address of the VM is visible.

  • Create a SSH session to the IP address of the Debian VM by using Putty for example.
sudo -i
  • Install the required packages
apt install software-properties-common apparmor-utils apt-transport-https ca-certificates curl dbus jq network-manager -y
systemctl disable ModemManager
systemctl stop ModemManager
reboot
  • Reconnect using an SSH session
sudo -i
curl -fsSL https://get.docker.com | sh
curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh
bash installer.sh --machine qemux86-64
  • Press “y” to accept the network adjustments

  • After the installation check if there are two containers running using the following command:
docker ps

  • Connect to Hass.io: http://<IP address>:8123

Home Assistant Suspervised is now installed and running as a Virtual Machine on VMware ESXi.

More information:

GitHub – home-assistant/supervised-installer: Installer for a generic Linux system

 

Quick Tip: Download the latest Windows 10 ISO file

Today on May 18, 2021, Windows 10 21H1 is released (May 2021 Update). This 21H1 version is a minor release version and the 21H2 version (later this year) will be a major release version. I use the latest Windows 10 versions in my lab environment for creating and testing golden images for VDI environments.

To download the latest Windows 10 ISO file I use the Windows 10 Media Creation Tool. This is a Windows-based tool. When starting the Windows 10 Media Creation Tool it opens a Graphical User Interface and you are able to download Windows 10 Home (N), Education (N) and the Pro (N) ISO. To download the Enterprise version you need to enter the command line. Here are the steps explained to download a Windows 10 Enterprise ISO:

  • Download the Media Creation Tool (MediaCreationTool21H1.exe), link
  • Select: “Download Tool now”
  • Open the command line
  • Use the following command to download the English 64-bits Windows 10 Enterprise ISO:
MediaCreationTool21H1.exe /Eula Accept /Retail /MediaArch x64 /MediaLangCode en-US /MediaEdition Enterprise
  • To download the Dutch 64-bits Windows 10 Enterprise ISO use the following command:
MediaCreationTool21H1.exe /Eula Accept /Retail /MediaArch x64 /MediaLangCode nl-NL /MediaEdition Enterprise
  • Enter the product key “NPPR9-FWDCX-D2C8J-H872K-2YT43”.  The KMS client keys can be found here: link

  • Select: Create installation media (USB flash drive, DVD, or ISO file) for another PC

  • Select “Iso file” and browse to a location to store the ISO. You need at least 8GB free on the C-drive and the ISO size is between 4 and 5 GB.

  • The download of the Windows 10 ISO starts.

Once the downloading of the ISO is completed it’s ready for use.