When attempting to remove a vSAN ESA (vSAN Express Storage Architecture) disk from an ESXi host using the esxcli vsan storage remove command,
the command return no error but process does not successfully remove the disk.
The following command is executed:
#esxcli vsan storage remove -u xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx7ceb
[root@localhost:~] esxcli vsan storage remove -u xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx7ceb
However, the disk is not removed, and the command does not appear to take effect.
Example:
[root@localhost:~] esxcli vsan storage remove -u xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx7ceb
[root@localhost:~] esxcli vsan storage remove -u xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx7f66
Running vdq -i shows the following output, indicating the disks are still part of the vSAN storage:
[
{
"singleTier" : [
"mpx.vmhba3:C0:T2:L0",
"mpx.vmhba3:C0:T1:L0"
]
}
]
VMware vSAN 8.0 ESA
This issue occurs because the esxcli vsan storage remove command is typically used for removing non-ESA (vSAN OSA) disks.
For vSAN ESA disks, the process to remove them is slightly different, requiring the use of the esxcli vsan storagepool remove command.
To successfully remove a vSAN ESA disk, make sure you have migrate all data and take necessary back up,
then you need to use the correct command to remove the disk from the storage pool. This can be done by following these steps:
Identify the Disk UUID you wish to remove with "esxcli vsan storagepool list" :
If you have already identified the disk UUID (for example, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx7ceb), proceed to the next step.
Use the esxcli vsan storagepool remove command: Instead of using esxcli vsan storage remove,
use the "esxcli vsan storagepool remove" command to remove the disk from the vSAN ESA storage pool.
Example command:
#esxcli vsan storagepool remove -u xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx7f66
After running the command, the disk will be removed from the vSAN storage pool. To verify, run the following:
#vdq -i
You should now see a reduced list of disks. For example:
[
{
"singleTier" : [
"mpx.vmhba3:C0:T2:L0"
]
}
]
Remove Additional Disks if Necessary: If you need to remove more disks, repeat the process for each disk UUID:
#esxcli vsan storagepool remove -u xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx7ceb
Verify the Changes: Finally, verify that the disks have been successfully removed from the vSAN storage pool:
#vdq -i
The command should return an empty list if all disks were successfully removed:
[
]
VMware recommends the node is placed into Maintenance Mode with correct vSAN data migration mode before the disk remove.