clip_image001Here’s an issue I recently came across and since I didn’t see this documented anywhere I wanted to give you a heads up.

Attempting to migrate (VMotion) a VM from one clustered host to another may result in the following error:

Error:

"A general system error occured: Failed waiting for data. Error 16. Invalid argument."

Once this happens, the virtual machine being migrated will no longer start, saying that the “msg.uuid.moved:The location of this virtual machine’s configuration file has changed…”

This can occur if the ESX hosts connect to an NFS datastore where virtual machine configuration and virtual disk files are stored. Some NFS servers support exporting NFS volumes with root squashing enabled. The root squash feature will cause the NFS server to deny access to any I/O requests issued by a root account. By default, with ESX hosts all file I/O requests are issued by the root account, so using an NFS datastore with root squash enabled will not work with an ESX host since the I/O requests will be denied.

To work around this the NFS administrator has two options:

  1. Disable root squash feature for the NFS datastore.

  2. Add the ESX hosts physical network adapter to the list of trusted servers on the NFS server.

If the two options listed are not possible, then a third option is to change the delegated user to a different identity. Change the default account (root) that performs file operations on the ESX host/node to something else (e.g. dauser).

Once you do this, actions (at least at the file system level) are done by the dauser account.  This change (changing the account) has to happen on all ESX Server hosts that use the NFS datastore. 

Note: Changing the delegate user is an experimental VMware feature. Refer to VMware documentation for more information: http://pubs.vmware.com/vi301/server_config/sc_security_auth.16.8.html