Pre-unmount checklist
- If the LUN is being used as a VMFS datastore, all objects (for example, virtual machines, templates, and Snapshots) stored on the VMFS datastore must be unregistered or moved to another datastore.
- All CD/DVD images located on the VMFS datastore must also be unmounted/unregistered from the virtual machines.
- Unregister the Virtual Machine templates stored on the datastore from the host.
- The datastore is not used for vSphere HA heartbeat.
- The datastore is not part of a datastore cluster.
- The datastore is not managed by Storage DRS.
- The datastore is not configured as a diagnostic coredump Partition/File and Scratch Partition. For more information, see the following:
- Storage I/O Control is disabled for the datastore.
- No third-party scripts or utilities running on the ESXi host can access the LUN that has issue. If the LUN is being used as a datastore, unregister all objects (such as virtual machines and templates) stored on the datastore.
- If the LUN is being used as an RDM, remove the RDM from the virtual machine. Click Edit Settings, highlight the RDM hard disk, and click Remove. Select Delete from disk if it is not selected and click OK.
Note: This destroys the mapping file but not the LUN content.
- Check that there are no processes locking the VMFS with this command: esxcli storage core device world list -d
For example:
[root@esxi:~] esxcli storage core device world list -d naa.6589cfc00000008016##############
Device World ID Open Count World Name
------------------------------------ -------- ---------- ------------
naa.6589cfc00000008016############## 65575 1 idle0
naa.6589cfc00000008016############## 67003 1 sdrsInjector
naa.6589cfc00000008016############## 67080 1 storageRM
Note: When using the vSphere Client with vSphere 6.x and later, only these checks are performed during the datastore unmount operation:
- Host should not have any virtual machines residing on this datastore
- Host should not use the datastore for HA heartbeats
Obtaining the NAA ID of the LUN to be removed
From the vSphere Client
This information is visible in the Properties window of the datastore.
From the ESXi host
Run this command:
# esxcli storage vmfs extent list
For example:
esxcli storage vmfs extent list
Volume Name VMFS UUID Extent Number Device Name Partition
----------- ----------------------------------- ------------- ------------------------------------ ---------
datastore1 4de4cb24-########-####-##########f6 0 naa.6001c230d8abfe000f#############3
Storage2 4c5fbff6-########-####-##########f4 0 naa.6001c230d8abfe000ff#############1
Storage4 4c5fc023-########-####-##########f4 0 naa.6001c230d8abfe000ff7############1
LUN01 4e414917-########-####-##########f4 0 naa.60a98000572d54724a34##########1
Make a note of the NAA ID of the datastore to use this information later in this procedure.
Note: Alternatively, run the esxcli storage filesystem list command, which lists all file systems recognized by the ESXi host.
Unmount and Detach a LUN using the vSphere Client
Note: These steps to not apply to the vSphere Web Client or HTML5 client.
To unmount a LUN from an ESXi host using the vSphere Client:
- If the LUN is an RDM, continue on step 2. Otherwise, in the Configuration tab of the ESXi host, click Storage. Right-click the datastore being removed and click Unmount.
A Confirm Datastore Unmount window appears. When the prerequisite criteria have been passed, click OK.
- Select a ESXi host and click the Storage view under Configure > Storage Devices:
Note: Screenshot below is from a HTML5 vSphere Client environment.
- Right-click the NAA ID of the LUN (as noted above) and click Detach. A Confirm Device Unmount window is displayed. When the prerequisite criteria are passed, click OK. Under the Operational State of the Device, the LUN is listed as Unmounted.
Note: The Detach function must be performed on a per-host basis and does not propagate to other hosts in vCenter Server. If a LUN is presented to an initiator group or storage group on the SAN, the Detach function must be performed on every host in that initiator group before unmapping the LUN from the group on the SAN. Failing to follow this step results in an all-paths-down (APD) state for those hosts in the storage group on which Detach was not performed for the LUN being unmapped.
- Confirm if the LUN is successfully detached. The LUN can then be safely removed from the SAN. For more information, contact your storage array vendor.
- Perform a rescan on all ESXi hosts which had visibility to the LUN. The device is automatically removed from the Storage Adapters.
Note: If trying to unmount a LUN from a software iscsi based storage array see the the
vSphere Documentation page before rescanning.
When the device is detached, it stays in an unmounted state even if the device is re-presented (that is, the detached state is persistent). To bring the device back online, the device must be attached.
To permanently decommission the device from an ESXi host, manually remove the NAA entries from the host configuration:
- To list the permanently detached devices, run this command:
esxcli storage core device detached list
Output will be similar to:
Device UID State
------------------------------------ -----
naa.50060160c46036df500############# off
naa.6006016094602800c8e############# off
- To permanently remove the device configuration information from the system, run this command:
esxcli storage core device detached remove -d NAA_ID
For example:
esxcli storage core device detached remove -d naa.50060160c46036df500############
Unmount and Detach a LUN using the command line
To unmount a LUN from an ESXi 6.x/7.x host using the command line:
- If the LUN is an RDM, skip to step 4. Otherwise, to obtain a list of all datastores mounted to an ESXi host, run this command:
esxcli storage filesystem list
The output which will list all VMFS datastores, will be similar to:
Mount Point Volume Name UUID Mounted Type Size Free
------------------------------------------------- ----------- ----------------------------------- ------- ------ ----------- -----------
/vmfs/volumes/4de4cb24-########-####-########f6 datastore1 4de4cb24-########-####-########f6 true VMFS-5 140660178944 94577360896
/vmfs/volumes/4c5fbff6-########-####-##########f4 Storage2 4c5fbff6-########-####-##########f4 true VMFS-3 146028888064 7968129024
/vmfs/volumes/4c5fc023-########-####-#########f4 Storage4 4c5fc023-########-####-##########f4 true VMFS-3 146028888064 121057050624
/vmfs/volumes/4e414917-########-####-########f4 LUN01 4e414917-########-####-##########f4 true VMFS-5 146028888064 4266131456
- To find the unique identifier of the LUN housing the datastore to be removed, run this command:
# esxcfg-scsidevs -m
This command generates a list of VMFS datastore volumes and their related unique identifiers. Make a note of the unique identifier (NAA_ID) for the datastore to be unmounted as this will be used later on.
For more information on the esxcfg-scsidevs command, see Identifying disks when working with VMware ESXi (broadcom.com) .
- Unmount the datastore by running this command:
esxcli storage filesystem unmount [-u UUID | -l label | -p path ]
For example, use one of these commands to unmount the LUN01 datastore:
esxcli storage filesystem unmount -l LUN01
esxcli storage filesystem unmount -u 4e414917-########-####-##########f4
esxcli storage filesystem unmount -p /vmfs/volumes/4e414917-a8d75514-6bae-##########f4
Note: If the VMFS filesystem to be unmounted has active I/O or has not fulfilled the prerequisites to unmount the VMFS datastore, an error will be seen in the vmkernel logs similar to:
WARNING: VC: 637: unmounting opened volume ('4e414917-########-####-##########f4' 'LUN01') is not allowed.
VC: 802: Unmount VMFS volume f530 28 2 4e414917############ f4ecf19b 4 1 0 0 0 0 0 : Busy
- To verify that the datastore is unmounted, run this command:
esxcli storage filesystem list
Output will be similar to:
Mount Point Volume Name UUID Mounted Type Size Free
------------------------------------------------- ----------- ----------------------------------- ------- ------ ----------- -----------
/vmfs/volumes/4de4cb24-########-####-##########f6 datastore1 4de4cb24-########-####-##########f6 true VMFS-5 140660178944 94577360896
/vmfs/volumes/4c5fbff6-########-####-##########f4 Storage2 4c5fbff6-########-####-##########f4 true VMFS-3 146028888064 7968129024
/vmfs/volumes/4c5fc023-########-####-##########f4 Storage4 4c5fc023-########-####-##########f4 true VMFS-3 146028888064 121057050624
LUN01 4e414917-########-####-##########f4 false VMFS-unknown version 0 0
The Mounted field is set to false, the Type field is set to VMFS-unknown version, and that no Mount Point exists.
Note: The unmounted state of the VMFS datastore persists across reboots. This is the default behavior. To unmount a datastore temporarily, do so by appending the --no-persist flag to the unmount command.
- To detach the device/LUN, run this command:
esxcli storage core device set --state=off -d NAA_ID
- To verify that the device is offline, run this command:
esxcli storage core device list -d NAA_ID
The output, which shows that the Status of the disk is off, will be similar to:
naa.60a98000572d54724a##############
Display Name: NETAPP Fibre Channel Disk (naa.60a98000572d54724a##########)
Has Settable Display Name: true
Size: 1048593
Device Type: Direct-Access
Multipath Plugin: NMP
Devfs Path: /vmfs/devices/disks/naa.60a98000572d54724a##########
Vendor: NETAPP
Model: LUN
Revision: 7330
SCSI Level: 4
Is Pseudo: false
Status: off
Is RDM Capable: true
Is Local: false
Is Removable: false
Is SSD: false
Is Offline: false
Is Perennially Reserved: false
Thin Provisioning Status: yes
Attached Filters:
VAAI Status: unknown
Other UIDs: vml.020000000060a98000572d54724############################
Running the partedUtil getptbl command on the device shows that the device is not found.
For example:
partedUtil getptbl /vmfs/devices/disks/naa.60a98000572d54724a##########
Error: Could not stat device /vmfs/devices/disks/naa.60a98000572d54724a3########## - No such file or directory.
Unable to get device /vmfs/devices/disks/naa.60a98000572d54724a##########
- If the device is to be permanently decommissioned, it is now possible to unpresent the LUN from the SAN. For more information, contact your storage team, storage administrator, or storage array vendor.
- To rescan all devices on the ESXi host, run this command:
esxcli storage core adapter rescan [ -A vmhba# | --all ]
The devices are automatically removed from the Storage Adapters.
Notes:
- A rescan must be run on all hosts that had visibility to the removed LUN.
- When the device is detached, it stays in an unmounted state even if the device is re-presented (that is, the detached state is persistent). To bring the device back online, the device must be attached. To do this via the command line, run this command:
esxcli storage core device set --state=on -d NAA_ID
- If the device is to be permanently decommissioned from an ESXi host, (that is, the LUN has been or will be destroyed), remove the NAA entries from the host configuration by running these commands:
- To list the permanently detached devices:
esxcli storage core device detached list
Output will be similar to:
Device UID State
---------------------------- -----
naa.50060160c46036df500############# off
naa.6006016094602800c8e############# off
- To permanently remove the device configuration information from the system:
esxcli storage core device detached remove -d NAA_ID
For example:
esxcli storage core device detached remove -d naa.50060160c46036df500##############
The reference to the device configuration is permanently removed from the ESXi host's configuration.
Note: If the device is detached but still presented (step 7 was skipped), the preceding command fails to permanently remove the device from the system, and the device is automatically re-attached. Step 7 must be completed for the device to be permanently removed.
Notes:
- After detaching the LUN, it can be as not presented from the storage. However, if the esxcli storage core device detached remove -d NAA_ID command is run to permanently decommission the LUN from the ESXI host before removing the LUN from the storage, the LUN gets reattached to the host and must be detached again.
- While following these steps, vCenter storage connectivity alarms will still be seen. It would be advantageous to disable the alarm when carrying out these tasks.