VMware ESX “I moved it” or “I copied it” – What’s the difference?

VMware

When you copy or move the data store location of an existing VM you will be presented with a message box (as seen below) in the vCenter Client asking if your VM has either been ‘moved’ or ‘copied’.  As you can see the message box also mentions “msg.uuid.altered: This virtual machine may have been moved or copied”, but what does this actually mean?

VMware ESX msd.uuid.altered

Figure 1. Has the VM been moved or copied?

What is a VM’s UUID?

Firstly, it is important to have an understanding of what a ‘UUID’ (universally unique identifier) is.  As the name suggests the UUID is a ‘identifier’ (128 bit integer) which is ‘unique’ to that VM, and effectively gives it a digital fingerprint to differentiate it from other VMs.

The UUID is automatically generated when a VM is first powered on or moved, with the UUID value being based on the physical host’s identifier and also the path to the VM’s configuration (vmx) file.  Within this configuration file the UUID value is stored in two places:

  • uuid.bios
  • uuid.location (hash based on the current path of the VM)

For example: uuid.bios = "56 4d 5e 58 66 f5 2d 04-03 31 0a bd 6f a7 19 88"

The UUID is also stored in the SMBIOS system information (ie: the BIOS of the VM) descriptor.  When the VM is started or moved the location UUID (ie: uuid.location) which is hashed from the VM’s data store path is compared to the UUID location hash which already exists in the configuration file.  At this point if the new and existing location UUID value differs then ESX knows that the VM is now running from a different data store location and will present the ‘Virtual Machine Message’ in figure 1 above.

But why do we care if the VM has the same or a new UUID? 

We saw in the message above provided by ESX informing that the UUID has in someway been altered but why does this really matter?  The answer to this you’ll be pleased to know is quite The vmx file contains important VMware ESX UUID informationsimple.  A VM’s unique UUID is used to generate other unique values used by the VM such as the unique MAC (media access control) address of the network card(s).  For example if you had multiple copies of the same VM/Guest OS running in your vSphere environment all with the same (ie: non-unique) network MAC address you will likely receive duplicate MAC address error messages within the guest OS which can cause a number of issues.

Another potential point to be mindful of is that some software licensing can be linked to a MAC address of a guest OS’s network card.  This includes software such as Microsoft Windows where changing the MAC address and some other key hardware components (eg: moving from an Intel based ESX host to a AMD based ESX host) can mean you have to re-activate the software again.  The changing of a VM’s MAC address will occur when you select “I copied it”, the next couple of sections will go into more detail on what exactly is altered.

 

Should I Select “I Moved It” or “I Copied It”?

So what is the difference between selecting “I_moved it” or “I_copied it”?  The easiest way to demonstrate the differences is by viewing the configuration file (vmx) for the VM before and after the two different options have been selected.

 

“I Moved It”

By indicating that you had moved the VM (instead of copying it) the only UUID change that is made to the configuration file is to the ‘uuid.location’ setting, which as you’d expect indicates a change of location for the VM. The ‘uuid.bios’ and the existing generated network MAC address remains that same.

You will also notice that the CPUID settings have also changed which is also the case for when you indicate that the VM was copied.

The “I Moved It” option should be used when ‘moving’ the location of where a VM resides and a copy of the VM has not been made.

VMware ESX I Moved It

 

“I Copied It”

When you select that the VM has been copied then there a few more changes that are made to the VM’s configuration file when compared to just moving it.  These changes are to the ‘uuid.bios’, ‘uuid.location’ and as a result of these changes a newly generated network MAC address (ethernet.generatedaddress).

The “I Copied It” option should be used when you’ve made, and intend to run, more than one copy of the VM in your vSphere environment.

VMware ESX I Copied It

 

To summarise, here is a table which outlines the changes that are made when either the “I Moved It” or “I Copied It” are selected

  “I Moved It” (change?) “I Copied It” (change?)
uuid.bios uuid.bios uuid.bios
uuid.location uuid.location uuid.location
ethernet.generatedaddress ethernet.generatedaddress ethernet.generatedaddress
guestCPUID.x guestCPUID guestCPUID
hostCPUID.x hostCPUID hostCPUID
userCPUID.x userCPUID userCPUID

 

As you can see it is worth spending the time to understand the changes which will be made when presented with the “I moved it” or “I copied it” options as it can impact (eg: software re-activation) the guest OS of the VM.

I hope this helps clarify this small aspect of vSphere administration which can sometimes be an area of confusion.

 

No related posts.

You can leave a response, or trackback from your own site.

13 Responses to “VMware ESX “I moved it” or “I copied it” – What’s the difference?”

  1. Simon Long says:

    Hi Si, I’ve always wondered what the difference was. Makes sense if you think about it.

    Cheers for the write up.

    Si

  2. Rod Mach says:

    Hi,

    Some 3rd party tools also make use of the UUID, I have seen customers choose “I copied it” when they meant “I moved it” when moving some VMs around, and then had issues when their 3rd party backup tool no longer could find their VMs.

    -Rod

  3. Brian says:

    Makes sense, I always kind of wondered what the story was behind that message.

  4. Craig S says:

    Nice one Si, that clears that one up, I did wonder what exactly it was doing regarding UUID.

    Cheers

    Craig

  5. amalanco says:

    excelent post, the change of the mac address in the “i copied” option is something to take into consideration.

  6. Kiwi Si says:

    Hi there,

    Thanks for your feedback – much appreciated. :)

    Glad you found the post of use. Watch this space for a further post on this topic, going into some more detail on how to ‘tweak’ the UUID for some scenarios.

    All the best,

    Si

  7. [...] EMC vSpecialist Simon Seagrave recently published a good article on when/how UUIDs are generated for virtual [...]

  8. Arun.P.C says:

    Brilliant post!

    I would like to know whether there is any security vulnerability when you use VMs with the same UUIDs. Some host-level Anti-Viruses starts to complain when running VMs with the same UUIDs.

    Thanks,
    Arun.P.C

  9. Vivek says:

    I am using VMware Worsktation 6.5.3. I see this dialog when I start a VM for the first time after copying vmdk and vmx files. Do you know if there is any way to avoid this dialog? May be with the help of some command line utility?

  10. Vivek says:

    Here is a nice article which describes how to configure a virtual machine to automatically answer these Virtual Machine Message questions so that manual user intervention is not required-
    http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1027096

  11. MISSupport says:

    Thanks Si for the blog. This came in very handy helping us understand what the actual differences are and when to use each option. Especially when doing a restore onto an ESXi server!!

  12. chi for sale says:

    Hello! I am new to the community. Thank you very much look forward to your next article.

  13. Lee says:

    Great job! After such a clear explanation, I’m not sure why I was confused in the first place.
    Thanks!

Leave a Reply

Powered by Sweet Captcha
Verify your real existence,
Drag Drag the missing part to its place
  • captcha
  • captcha
  • captcha
  • captcha

StarWind Software
PHD Virtual - esXpress
Trilead
Veeam #1
AppAssure
TrainSignal - vSphere Pro