Skip to content
Henryk Paluch edited this page Dec 13, 2023 · 29 revisions

I recently prolonged life of my older computer (now used mainly for experiments) with these specs:

  • MSI K9N Platinum: MS-7250 m'board with NVidia MCP55 Ultra (also known as nForce 570) chipset
  • AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ (64-bit 2 core CPU)
  • 8GB RAM (DDR2 667MHz) - maximum allowed
  • few SATA disks, 200GB SATA disk (good old reliable Maxtor) used for ESXi

The only peculiarity of this motherboard is that after few years of service its MCP55 chipset started over-heating causing system lockup just few minutes after power up. I solved this issue installing additional big 12cm fan. Note: The airflow direction should go to chipset not otherwise - to ensure best cooling effect.

I decided to install ESXi there. I sticked to version 5.1 for these reasons:

  • it is last version where "fat" vSphere Client is fully supported (and is the only managment interface that is fluent and fun to use!)
  • it supports VM version up to 9, which is also (accidently) version used by HashiCorp packer https://web.archive.org/web/20191001172136/https://www.packer.io/docs/builders/vmware-iso.html I'm big fan of Packer - using it to create Linux images for VirtualBox, Proxmox VE and ESXi.
  • it works pretty well with my HW (AMD X2, and NVidia LAN cards - handled with (VMK)Linux forcedeth driver).

Why not use ESXi 5.5?

  • vSphere Client striped away some features (for example edit of new VM version properties) but without giving any alternative (for free ESXi users - without vCenter)

Why not use ESXi 6.0?

  • phasing out support for my AMD X2 CPU
  • switched to Web Client only with very poor experience (2023: but for Linux clients it is better than .NET client that is not available for Linux)
  • removed AHCI driver support (I have now additional PCIe AHCI SATA controller, so not funny), workaround exists, see ESXi-6-AHCI

Why not use ESXi 6.5?

  • AMD X2 CPU not supported
  • Web client still sucks - especially Download and Upload of OVF files (Oh, My God!)

No bad-blocks on disk allowed(!)

There is one unbelievable limitation of ESXi/vmfs: it does not handle bad blocks on disk (even MS DOS does!).

So ensure that your installation HDD has no single bad-block - otherwise very weird problems will appear. ESXi will just reset controller and try again and again and again...

See this thread https://communities.vmware.com/thread/422764 and especially:

Am I the only one who finds it incredibly frustrating that in a product aimed at business environments, a major gap in resilience is provided by a community toolset instead of vmware?

And answer:

If you run your environment inside the recommended specifications = HCL- hardware,USV, no storage on local devices, no snapshots , never fill up a datastore and so on ... then VMFS is quite reliable.

Where to get ESXi 5.1

WARNING!

Ensure that you have valid VMware vSphere Hypervisor 5 License key. I'm not sure if you can still get it (I have one when there was version 5 available on Download VMware vSphere Hypervisor for Free ).

As of 1/2020 only ESXi 6+ is on Download VMware vSphere Hypervisor for Free, however you can still download it from My Downloads - try this url:

NOTE: Ensure that you downloaded both:

  • VMware-VMvisor-Installer-5.1.0-799733.x86_64.iso
  • VMware-viclient-all-5.1.0-786111.exe

The VIclient is especially important - sometimes suitable version is no longer available from official downloads! See below for example...

Installing ESXi 5.1 Update 3 patch

WARNING!

Before installing Update 3 ensure that you are able download VMware-viclient-all-5.1.0-3814204.exe necessary to manage your ESXi. See text at the end of this section for details.

I tested ESXi510-201605001.zip you can find it this way (as of 1/2020):

There should be list with 1st item:

To install ESXi510-201605001.zip do this:

  • transfer that file to your target ESXi (you can use datastore browser) - in my case full path is: /vmfs/volumes/datastore1/INSTALL/ESXi510-201605001.zip
  • on your ESXi issue these two commands:
  1. Query available profiles (notice sources keyword):

    esxcli software sources profile list \
       -d /vmfs/volumes/datastore1/INSTALL/ESXi510-201605001.zip
    
    Name                              Vendor        Acceptance Level
    --------------------------------  ------------  ----------------
    ESXi-5.1.0-20160504001-standard   VMware, Inc.  PartnerSupported
    ESXi-5.1.0-20160501001s-standard  VMware, Inc.  PartnerSupported
    ESXi-5.1.0-20160501001s-no-tools  VMware, Inc.  PartnerSupported
    ESXi-5.1.0-20160504001-no-tools   VMware, Inc.  PartnerSupported
    
  2. Typically I use -standard profile - to install this update use command (now without sources):

    esxcli software profile update \
         -p ESXi-5.1.0-20160504001-standard \
         -d /vmfs/volumes/datastore1/INSTALL/ESXi510-201605001.zip
    

And reboot ESXi.

Now there is big problem:

So I googled a bit and find it on file sharing server:

WARNING! I'm not responsible for any damage! However both SHA1 and SHA256 signatures are OK (as of 1/11/2020). Now you can upgrade your VIclient and use it :-)

Random tips

Getting ESXi version in CLI:

esxcli system version get
   Product: VMware ESXi
   Version: 5.1.0
   Build: Releasebuild-3872664
   Update: 3

How to create VM version 9

It is a bit weird at first sight because New Virtual Machine... wizard offers VM version 8 (or lower) only. However this official page https://kb.vmware.com/s/article/1003746 shows that ESXi 5.1 is supposed to support version 9

Finaly I found this way how to solve that problem:

  • you will create VM version 8 in New Virtual Machine... wizard
  • then right-click on VM and select Upgrade Virtual Hardware
  • and voila! - when you click on Summary you should see:
    • "VM Version": vmx-09

Basic Network information

List of NICs:

esxcli network nic list

Name    PCI Device     Driver     Link  Speed  Duplex  MAC Address         MTU  Description
------  -------------  ---------  ----  -----  ------  -----------------  ----  ---------------------------------------------------
vmnic0  0000:000:08.0  forcedeth  Up     1000  Full    00:16:17:98:XX:XX  1500  nVidia Corporation nVidia NForce Network Controller
vmnic1  0000:000:09.0  forcedeth  Down      0  Half    00:16:17:98:XX:XX  1500  nVidia Corporation nVidia NForce Network Controller

Getting information (including Driver:) about specific NIC vminc0:

esxcli network nic get -n vmnic0

  Advertised Auto Negotiation: true
   Advertised Link Modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full
   Auto Negotiation: true
   Cable Type: MII
   Current Message Level: -1
   Driver Info:
         Bus Info: 0000:00:08.0
         Driver: forcedeth
         Firmware Version:
         Version: 0.61
   Link Detected: true
...

Getting IPv4 information:

esxcli network ip interface ipv4 get

Name  IPv4 Address  IPv4 Netmask   IPv4 Broadcast  Address Type  DHCP DNS
----  ------------  -------------  --------------  ------------  --------
vmk0  192.168.0.XX  255.255.255.0  192.168.0.255   DHCP              true

Downloading files from FTP

NOTE: Use NFS datastore to quickly transfer files from remote server to ESXi. Consider FTP as fallback - when NFS is not available.

FTP is fastest protocol for download/upload of big files. Yes it is insecure, but time is money... To download file from FTP server to ESXi SSH console do this:

# temporary disable firewall to unblock FTP ports access
esxcli network firewall set --enabled=false
# cd to your target VMFS directory:
cd /vmfs/volumes/datastore1/IMPORTS/
# example to fetch file from anonymous FTP
wget ftp://FTP_SERVER_IP/backup/My-ESXi-VMs/exported-proxmox/debian10-dev/debian10-dev.vmdk

NOTES:

  • reenable firewall when done
  • in my case the end of transfer sometimes finished with error wget: error getting response, but file seems to be OK. If in doubt use md5sum -b my-file.vmdk on both FTP server and client - the checksum should be same.

Import VMDKs produced by qemu-img

I got great idea - to convert my Proxmox VE 6.1 disk-image.qcow2 to *.vmdk and then import it to ESXi 5.1. At first I tried to misuse phony exported OVF and just replace vmdk file - but there was little catch - both ovftool and Deploy OVF Template... of vSphere client complained that generated VMDK file is too old, etc... but finally I found that vmkfstools can be used to clone this old VMDK to ESXi compatible format.

So How I started:

# in Proxmox VE 6.1, VM was hosted on filesystem (NOT lvm-thin)
qemu-img convert -p -f qcow2 /var/lib/vz/images/my-image.qcow2 -O vmdk /...path.../Debian-dev.vmdk

Performance tip:

  • ESXi is very slow when cloning VMDK when source and target is on same datastore
  • Therefore I enabled NFS share on my NSA310 (ensure that you have latest firmware 4.70 - Zyxel maintains packages only for this latest version)
  • Then I created on NSA310 hardlink from NFS share to my source VMDK file (NSA310 does not allow to specify SMB share as NFS share - only dedicated sub-directory) - hardlink spared me of copying large VMDK file...
  • Then I Added new NFS datastore from NSA310 to ESXi (using vSphere client)

Now in ESXi 5.1

  • at first I created target VM for Debian 10 (called debian10-dev) using GUI, but without HDD file.
  • than I did this in ESXi SSH console:
    vmkfstools -i /vmfs/volumes/nsa310/imports/debian10-dev.vmdk \
               -d thin /vmfs/volumes/datastore1/debian10-dev/debian10-dev-disk1.vmdk
    
       Destination disk format: VMFS thin-provisioned
       Cloning disk '/vmfs/volumes/nsa310/imports/debian10-dev.vmdk'...
       Clone: 100% done.
  • NOTE: if you want to attach target debian10-dev-disk1.vmdk as SCSI (including PV) you need to edit that debian10-dev-disk1.vmdk and replace:
    • ddb.adapterType = "ide" with ddb.adapterType = "lsilogic"
    • it is a bit counter-intuitive, but lsilogic adapter-type is used for all SCSI types....
  • now go back to your prepared VM in GUI
  • click on Add -> Hard Disk -> Use an Existing ….
  • Done. :-)
  • Power Up and Enjoy VM under ESXi :-) OK - install open-vm-tools etc, but in case of Linux it should boot fine.

Guest tips

Installing Win2008R2 guest under ESXi 5.1U3

To get best performance you should use PVSCSI driver even for system disk. However there is little problem - the Win2008R2 driver is not included in stock /packages/5.1.0/vmtools/windows.iso - guest tools - part of ESXi 5.1 install (it seems that there are only Win2003 drivers).

However you can download more recent VMware tools from:

Tested on Win2008R2SP1 trial version - from this ISO:

  • 7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso
Clone this wiki locally