VMs from local datastore are inaccessible after host reboot. Marvell controller used for boot LUN is missing.
search cancel

VMs from local datastore are inaccessible after host reboot. Marvell controller used for boot LUN is missing.

book

Article ID: 398132

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

 

ESXi host boots fine, but after boot completes the storage controller that was used to load the boot volume disappears. 
In this example, the Marvell controller is used for mounting boot volume and with it, a VMFS datastore carved out of a partition on the boot volume.
Both, the boot volume and the local VMFS disappears after the host boots, resulting in inaccessible VMs originating from the local VMFS datastore.


Marvel controller is still listed as a PCI device:
# lspci
0000:05:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9230 PCIe SATA 6Gb/s Controller

# esxcfg-info -a 
  \==+PCI Device :
               |----Segment.........................................0x0000
               |----Bus.............................................0x05
               |----Slot............................................0x00
               |----Function........................................0x00
               |----Runtime Owner...................................VM passthru
               |----Has Configured Owner............................true
               |----Configured Owner................................VM passthru
               |----Vendor Id.......................................0x1b4b
               |----Device Id.......................................0x9230
               |----Sub-Vendor Id...................................0x1028
               |----Sub-Device Id...................................0x2261
               |----Vendor Name.....................................Marvell Technology Group Ltd.
               |----Device Name.....................................######## PCIe SATA 6Gb/s Controller
               |----Device Class....................................262
               |----Device Class Name...............................SATA controller
               |----PIC Line........................................255
               |----Old IRQ.........................................255
               |----Vector..........................................0
               |----PCI Pin.........................................0
               |----Spawned Bus.....................................0
               |----Flags...........................................12289



However, it is not listed as a storage adapter:
# esxcli storage core adapter list
HBA Name  Driver     Link State  UID                   Capabilities  Description
--------  ---------  ----------  --------------------  ------------  -----------
vmhba0    nvme_pcie  link-n/a    pcie.e300                           (0000:##:00.0) KIOXIA Corporation <class> Non-Volatile memory controller
vmhba2    lsi_mr3    link-n/a    sas.################                (0000:##:00.0) Broadcom / LSI PERC H755 Front
vmhba3    vmw_ahci   link-n/a    sata.vmhba3                         (0000:00:##.#) Intel Corporation Lewisburg SATA AHCI Controller
vmhba4    vmw_ahci   link-n/a    sata.vmhba4                         (0000:00:##.0) Intel Corporation Lewisburg SATA AHCI Controller

 

 

 

Environment

VMware vSphere 7.0.x
VMware vSphere 8.0.x

Cause

An administrator tags the Marvell controller as passthru, while the ESXi is in use.
The same controller that was used for boot is now configured as passthru.
While this is done, ESXi continues to work as it is running from host memory.
The next boot works okay, because the device configuration is not in effect until later during the boot cycle.  
When device configuration loads, the Marvell controller is marked as passthru device, thus it does not appear as a storage controller.
Any virtual machines from the local datastore may now report as orphaned/inaccessible.

Resolution

Disable PCI passthrough on the boot controller.

ESXi host >  Configure tab >  expand Hardware >  click PCI Devices. 

Locate and select the device and click toggle passthrough 


Confirm the adapter is listed under storage adapters, if not re-scan storage controller. 
Remove orphaned/inaccessible virtual machines from inventory if any and re-register them.