VMWare 5.1 Datastore in use when trying to unmount

powerclistoragevirtualizationvmware-esxivmware-vcenter

When trying to unmount a datastore from one of my 4 ESXi hosts, I receive a message that it's in use.

The full error stack I see is:

Call "HostDatastoreSystem.RemoveDatastore" for object
"datastoreSystem-57" on vCenter Server "TSD-VCENTER2.jhuapl.edu"
failed.

I've tried the following:

  • Removing the datastore from the other three ESXi 5.1 hosts (successful)
  • Running the following PowerCLI script to list all ISOs (there were some):
Get-VM | Get-CDDrive | FT Parent, IsoPath, HostDevice
  • Luckily I didn't need any of them so I did an unmount across the board:
Get-VM | Get-CDDrive | Set-CDDrive -NoMedia -Confirm:$False
  • Ran the first script to list all ISOs again (no host devices or IsoPaths mounted now)
  • Looked for any hard disks that could possibly be pointing to the vmdatastore:
 Get-VM | Get-HardDisk | Where-Object {$_.Filename -like "*vmdatastore*"}

I was unaware that PowerCLI doesn't include templates in the "Get-VM" command (though in retrospect it makes perfect sense — d'oh)

On a hunch, I ran the following to see if any templates had CD Drives attached:

Get-Template | Get-CDDrive | FT *

Lo and behold, it found some! So, I ran the following to convert the VMs to templates:

Get-Folder -Name "04. Templates" | Get-Template | Set-Template -ToVM -Confirm:$False

I then ran the following to Set the template drives to empty:

Get-Folder -Name "04. Templates" | Get-VM | Get-CDDrive | Set-CDDrive -NoMedia -Confirm:$False

And double-checked that it worked:

Get-Folder -Name "04. Templates" | Get-VM | Get-CDDrive | FT *

However, still no luck. I receive the same error, that the datastore is in use.

I'm currently migrating some VMs to another of the ESXi hosts to see if a simple shutdown/restart will do the trick.

Anyone have any other ideas as to why this could be happening?

Best Answer

Found the answer -- the issue, apparently, was with snapshots as far as I can tell.

There must have been snapshots that included references to the datastore in question.

Fortunately I was in a position where I could delete all the snapshots.

After deleting all snapshots, the datastore allowed itself to be deleted.

Related Topic