Note: This article is specific to ESXi/ESX 3.x, even though the EnableResignature setting works in ESXi/ESX 4.x. For the supported method to handle snapshot LUN in ESX/ESXi 4.x and 5.x, see vSphere handling of LUNs detected as snapshot LUNs (1011387).
Making this type of change on the storage array results in assigning a new LUN ID (UUID or Serial Number) to all LUNs presented via the modified ports/FAs.
VMFS3 metadata identifies the volumes by several properties which include the LUN number and the LUN ID (UUID or Serial Number). Because the LUNs now have new UUIDs, the resulting mismatch with the metadata leads to LVM identifying the volumes as snapshots.
You must resignature the VMFS3 volumes to make them visible again.
Caution:
- Before performing the steps in this article:
- Wait for a maintenance window
- Make sure all virtual machines are backed up properly
- Do not deviate from these steps.
To resignature the VMFS3 volumes from the command line:
- Power off all virtual machines on all ESX hosts that are stored on the volume.
- Run this command to re-read the volume on each ESX host:
# vmkfstools -V
If this works, the problem is resolved. If this does not work, proceed to step 3.
- Remove all the virtual machines on that volume from the inventory in the VirtualCenter server.
Warning: Do not delete the virtual machines from disk. Remove them from the inventory.
- Log in to each host.
- Run this command to verify which HBAs are providing access to the LUN:
# esxcfg-mpath -l | less
- To set the ESX host to resignature all datastores detected as snapshots on the next rescan, run the following command:
-
- For ESX:
# echo "1" > /proc/vmware/config/LVM/EnableResignature
- For ESXi:
# esxcfg-advcfg -s 1 /LVM/EnableResignature
- To rescan the storage and perform the resignature on volumes detected as a snapshot, run the command:
# vmkfstools -V
- To disable the resignature flag, run the following command:
Warning: Do not skip this step.
- For ESX:
# echo "0" > /proc/vmware/config/LVM/EnableResignature
- For ESXi:
# esxcfg-advcfg -s 0 /LVM/EnableResignature
- To ensure that the volumes stay mounted after resignaturing is turned off, run the command:
# vmkfstools -V
- Reinventory the virtual machines.
- Open VI Client to the VirtualCenter Server. The virtual machines show as inaccessible.
- Right-click the virtual machine and click Remove From Inventory.
- Double-click the datastore to bring up the datastore browser.
- Select the folder in which the virtual machines resides.
- Right-click the virtual machine file (extension .vmx) or template file (extension .vmtx)
- Click Add to Inventory.
- Follow the wizard.