USPanda
Enthusiast
Enthusiast

vAPPs and VMs in VCD 5.1

This is just to clarify the confusion which no one able to address is up to the mark.....

When we create one vAPP from one vAPP-Template under one Catalog, it also creates one VM.

Once the vAPP is powered on, the VM also have same status & also there will be 2 VMs listed in vCenter Resource Pool with similar configuration/compute resource.

What is the purpose & technical benefit of automatically creating duplicate VMs in vCenter Server (i.e. one for vAPP & another for VM)

Not only listed in vCenter console, it also have the same options & features. So what is the way to distinguish the vAPPs & VMs in vCenter console, which was created by VCD.

And finally the doubt is, why we need to spend duplicate copies of VMs for a single instance. Which takes double of the space for vAPP & corresponding VM.

I believe vAPP should be a logical container which has the same basic operations as a virtual machine, but can contain multiple virtual machines and encapsulate not only virtual machines but also their inter-dependencies and resource allocations allowing for single-step power operations, cloning, deployment, and monitoring of the entire application.

So why there is a need to list the vAPP (created by VCD) as a VM (in vCenter console) by occupying similar storage & computer resource ?

0 Kudos
5 Replies
cfor
Expert
Expert

Do you have Fast provision enabled on the OrgVDC?  If so right click on the VM in the vApp - check properties; if the chain length is 2; that means this VM is chained to save disk space off of another VM.    To remove this a "consolidate" operation exists while the VM is stopped; this will unchain the VM.  Once unchained you can use vCloud to remove the "extra" vm - most likley a shadow copy.

Vcloud does not need 2 copies of a VM for normal operations - but a few features of vCloud will make "extra" vm copies.

1. Add to catalog - this saves a copy to the catalog for later cloning.

2. Fast Provision - if this is enabled vCloud will save disk space by linking multiple deployments from an original source - if a source does not exist on the datastore in question it will first create a copy of the VM on the datastore - then link the new ones.  (This allows the large part of the VM to be reused by many instances)

ChrisF (VCP4, VCP5, VCP-Cloud) - If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
USPanda
Enthusiast
Enthusiast

Yes Fast provision was enabled on the OrgVDC. And the chain length was showing 4 (not sure why)

Now I have clicked on the option "consolidate" under powered-off VM's properties. And now the chain length was showing 1


Still the newly provisioned VMs under VCD is not automatically joining the corporate domain.


But what is the use of this option "When using this template: make identical copy / customize vm settings"

Is the above option helps the VMs to join domain? (the default seems to be customize vm settings.

0 Kudos
USPanda
Enthusiast
Enthusiast

Even after tried the above config changes, still when we add a "vAPP template" to "My CLoud" which created a vAPP and one corresponding VM.

i.e. if we create 2 vAPP then it creates 4 VMs in vCenter console (2 VMs for vAPP & other 2 are real VM instances)

Also is there any way to lunch more then one VM instances at a time (from one vAPP template) & is that also going to create many vAPP with same No. of VMs?

0 Kudos
JayhawkEric
Expert
Expert

FYI...  Every VM within a vApp and vApp Template will have a VM registered within vCenter. 

When you capture a vApp to the catalog with "Make Identical Copy" two things happen. First, all network settings are kept (including IP address if VM's are directly connected to Org Network).  Second, the VM's within vApps deployed from the new vApp Template will not go through Guest Customization.  When a user creates a vApp from this template they have limited options since it was captured with this setting.

Capturing with "Customize VM Settings" allows the user who creates a vApp from the Template to change the VM's hostname, Networking, IP address, etc...  You'll want this option if you want the VM's to join your domain upon vApp creation.

If Fast Provisioning is turned on and you are using Storage Clusters you'll get A LOT of Shadow VM's for your vApp Templates.  From my testing eventually you'll see 1 Shadow VM per datastore in the Storage Cluster for every vApp Template.  See my blog post at http://veric.me/2013/06/04/vcd-storage-clusters-with-fast-provisioning-enabled/ for more info on this.

If a vApp Template contains 2 VM's you should only see 2 new VM's created when you create a new vApp from it.  If you have a vApp Internal Network another VM can be created upon starting the vApp.  This is the vShield Edge device deployed by vCloud Networking and Security to do the Firewall/NAT processes for the vApp.

-Eric

VCP5-DV twitter - @ericblee6 blog - http://vEric.me
0 Kudos
JayhawkEric
Expert
Expert

Also, if you have 1 VM within a vApp and add it to your cloud the Recent Tasks looks like it creates a VM for the "vApp" and then the VM itself but the one for the "vApp" is actually a folder.  If you go to your VM's and Templates View and browse to your VCD folder you'll see a folder with the same name as your vApps and within it the VM's for that vApp.

-Eric

VCP5-DV twitter - @ericblee6 blog - http://vEric.me
0 Kudos