Vcenter Templates with differencing or delta disk type

I am new the forums and I am looking for some help with our new open nebula server.
we have just installed 5.2.1 on ubuntu 16.04.
We are hooking open nebula to vcenter 6.5 standard with 2 hosts in a cluster, but no drs or ha turned on (they each have seperate storage datastores)

I have every feature working but I am having a problem with one item.
we have a large amount of servers that are around 500GB of space each. in a previous version (4.14) of open nebula somehow this disk was created as a “differencing” disk on the child vm’s.
basically when a template was instantiated into a virtual machine via open nebula, only a very small disk clone was made .

(differencing is the term I’m using) but I believe this was accomplished by first snapshotting the template in vmware before importing it into open nebula. It would APPEAR that it was only cloning the snapshot, rather then the whole vm which was a large space savings and decreased deployment time dramatically)

I have read through all the documenation but I am unable to find a way to create “thin” or “differencing” child disks, can anyone help me out with this?
Right now upon clone action you can see the clone being created in vcenter and it functions, but there is no way for me to support 100x 500GB vm’s on our setup. our virtual machines are fairly temporary so issues related to “long chains” and over complexity should not be relevant, as we store them for short periods of time only for testing new features.

Please help!

Hi Ryan!
I think that what you’re looking for is called linked clones. When a clone operation is performed on a VM if the disks in the virtual machine have a delta disk (e.g a VM snapshot has been created as you mentioned) then with linked clones the clone operation only creates a copy of that delta disk so the clone takes less space and less time to complete.

Following the code I’d try to do the following:

  1. Create a VM in vcenter and once your VM is the way that you want, run a VM snapshot so delta disks are created on top o your VM’s disks and finally convert it to template.
  2. When you import the template check if you have the VCENTER_DATASTORE attribute in your template. If not try to add it to template specifying the name of vcenter’s datastore you want new VM’s to be created on. When that requirement is met OpenNebula should perform a linked clone operation.

Could you try and let me know if it works?


It’s funny that you mention this exact scenario. I did a lot of testing with the “snapshot before importing” features in open nebula and it did not yield me any results. I then proceeded down my path of working on images and decided to return to this later. I had a decent amount of problems isolating a permission issue and in doing that I completely removed the datastore from open nebula.

After resolving the permission issue, I decided it was a “good idea” to just add back in the datastore, even though we didn’t really need any of the features associated with it. Suddenly everything is great and a 500GB vm is taking only seconds to deploy, success!

I did not realize this was why it started working until you wrote this answer. I appreciate the clarity and will be sticking around here since we are deploying a lot of features in the open nebula server. Thank you.