VMware vSphere Datastore UUID Change

When a Virtual Machine is first created with 1 hard disk, all the config files and hard disk vmdk is situated on the one datastore. Within the vmx file for this virtual machine the first hard disk vmdk is simply reference by the file only. In our example below we can see scsi0:0 is actually Web01.vmdk

VMware Hard Disk 1
VMware Hard Disk 1

If you create a second hard disk on the same virtual machine and store it within the same datastore, then that hard disk will be reference simply by it’s vmdk file, similar to the above image.

However if you add a second hard disk to the virtual machine and store this drive on a separate datastore, the scsi0:1.filename setting will have to refence the datastore and the file location. It does this by utilizing the datastore’s UUID value. You can see this in the example below:

 

VMware Hard Disk 2
VMware Hard Disk 2

 

So far so good. However what happens when you want to move this virtual machine or perhaps bring this virtual machine up in a disaster recovery location, the UUID will not be the same and you will receive an error.

How is the UUID calculated ? Glad you asked, there is an excellent article in the Netapp Communities explaining this:

https://communities.netapp.com/community/netapp-blogs/getvirtical/blog/2011/09/28/nfs-datastore-uuids-how-they-work-and-what-changed-in-vsphere-5

How do you work around it ?

DR Testing

In the case of DR testing you can simply edit the file and replace the UUID with the Datastore name (Symlink), save the file and boot the virtual machine.

DR

In the case of a real DR, you can edit the file and replace the UUID with the Datastore name (Symlink), save the file and boot the virtual machine. Once the virtual machine is booted, create a new datastore in your vSphere environment and Storage vMotion the second disk to the new Datastore

Moving from 1 vSphere Environment to another

In the case of a moving the virtual machine to a new vSphere environment, you can edit the file and replace the UUID with the Datastore name (Symlink), save the file and boot the virtual machine. Once the virtual machine is booted, create a new datastore in your vSphere environment and Storage vMotion the second disk to the new Datastore

2 Comments

    • Hi Faisal, the example that I show here is for DR, however you might run into the same situation in your primary. If you do you can use the method here to temporarily get your virtual machine up so you can vmotion it off.

Leave a Reply

Your email address will not be published.


*


*

This site uses Akismet to reduce spam. Learn how your comment data is processed.