Loss of datastore and unable to passthrough after upgrading to ESXi 7

When an X58 + ICH10 based machine (Dell Precision T3500) was upgraded to ESXi 7, the storage adapter and associated datastore was lost.  The ICH10 in this case was not playing well with the native vmw_ahci driver.  In AHCI mode, the adapter shows up as a 6 port controller in vSphere (Host -> Manage ->  Hardware of PCI devices. However none of the attached drives appear under Storage.  Also attempting to toggle PCI passthrough for the device results in an error:

An error occurred during host configuration.  Operation failed, diagnostics report: GetDeviceID failed.

Refreshing vSphere would then show as the host needing a reboot for it to take effect. However upon rebooting passthrough is still  disabled / not active.

To resolve, the SATA adapter was switched from AHCI to IDE / ATA mode in the BIOS.  This allowed the controller and all attached drives to appear in vSphere by using the native vmkata driver.  This change will also passthrough to be enabled, but it requires a reboot.

However another issue was that a VMFS datastore on the drive attached to this controller was no longer accessible.  To resolve, the datastore had to be force mounted. These steps were used to manually mount the datastore:

  1. In the console / shell:
    esxcli storage vmfs snapshot list
  2. Check fore an output similar to this:Volume Name: datastore1
    VMFS UUID: <snip>
    Can mount: true
    Reason for un-mountability:
    Can resignature: true
    Reason for non-resignaturability:
    Unresolved Extent Count: 1
  3. Determine the Volume Name, e.g., (datastore1), this acts as the label
  4. Mount it using the label. In this example, datastore1:
    esxcli storage vmfs snapshot mount -l datastore1
  5. Refresh the Storage section of vSphere

Note: performance in ATA / IDE mode may be reduced compared to AHCI

 

Force Upgrade of VMware ESXi with Unsupported Processor

When trying to upgrade an ESXi host using the console, I received the error below. In this case I was attempting to upgrade to version 7 Update 3k.

[HardwareError]
Hardware precheck of profile ESXi-7.0U3k-21313628-standard failed with warnings: <CPU_SUPPORT WARNING: The CPU in this host is not supported by ESXi 7.0.3. Please refer to the VMware Compatibility Guide (VCG) for the list of supported CPUs.>

The error will prevent the upgrade from continuing. However, you can force the upgrade of a system with a legacy processor using these steps:

  1. In the root file system of ESXi, edit /bootbank/boot.cfg using vi
  2. On the line that starts with kernelopt=, add the following to the end: allowLegacyCPU=true
  3. Save the file and reboot the host
  4. Then attempt the upgrade again (e.g.,  using esxcli software profile update)