James Thew - Fotolia
Creating a virtual machine is only part of the job for an administrator. To optimize workloads, there is still plenty to do when the VM is produced, including configuration, resource allocation and much more.
Rebecca Fitzhugh, an independent VMware consultant and VMware Certified Instructor (VCI), wrote vSphere Virtual Machine Management, a book that details proper VM setup and handling to make life easier for virtualization admins. SearchVMware talked with Fitzhugh about VMware vApps and how they differ when they are created in different applications.
What are the considerations to make when building a vApp in vSphere, as opposed to building it in vCloud Director?
Rebecca Fitzhugh: vCloud Director allows for the creation of vApps within the cloud infrastructure [and] allows for vApps to be imported from the vSphere layer. Something to be aware of is that vCloud Director does not support every OVF [Open Virtualization Format] section that vSphere supports, thus vCloud Director will ignore specific OVF sections. This can result in the vApp behaving slightly differently in vCloud Director than in vSphere. Be sure to check out VMware KB 1026699 or the Architecting a VMware vCloud white paper for more information.
Another big difference is how networking resources are consumed; vSphere vApps consume networking resources from vSphere IP pools -- depending on the configured policy -- while vCloud Director vApps do not. vCloud Director vApps consume resources from the vCloud-defined network pools, depending on the type of vApp network specified during configuration.
What are the advantages and disadvantages of each?
Fitzhugh: There are not really pros and cons between vCloud and vSphere vApps. All virtual machines exist within vApps in vCloud Director, therefore they are a required part of the configuration; vSphere vApps are completely optional. Of course, vCloud Director is required for vCloud Director vApps, and these vApps can be configured natively or by importing a vApp from vSphere. Keep in mind the difference between the two in regards to network consumption. There are also more networking options within vCloud Director for vApps; for example, the vApps could be isolated or even fenced. The aforementioned features are not available for vSphere vApps.
What is the purpose of creating a vApp inside of another vApp?
Fitzhugh: A vApp operates like a resource pool with its resource allocation settings [with] limits, shares and reservations. Resource pools can be placed within resource pools to further divide the CPU and memory resources into smaller pools within a large pool. This can also allow for an administrator to more easily define startup and shutdown policies within the larger pool, which in this case, would be the highest-level vApp in the hierarchy.
What is the most popular IP allocation policy for a vApp? Why?
Fitzhugh: To start, there are several types of IP allocation policies available:
- Static-manual: no automatic allocation is performed; the IP addresses are manually configured.
- Static-IP pool: The IP addresses are allocated automatically at power-on from a vCenter-managed IP network range. These IP addresses will remain assigned even at power-off.
- Transient: The IP addresses are allocated automatically from a vCenter-managed IP network range at power-on. These IP addresses are released when the virtual machines are powered off.
- DHCP: The IP addresses are allocated by using a DHCP server. The leases must be periodically renewed.
The option that I see most frequently used is the static-manual option. It does not require an IP pool and the IP address [is] configured using normal procedures in the VMs' guest operating system. This is, of course, unless the environment is typically using DHCP [Dynamic Host Configuration Protocol], at which point, that option is used.
Sometimes vApps will require the use of an IP pool, then, depending on how the administrator wants the IP addresses allocated, either static-IP pool or transient would be selected.
Can you explain what a vSphere IP pool is, and how it relates to the configuration of a vApp?
Fitzhugh: The purpose of the IP pool is to provide network identity information [for] the vApps and the VMs within the vApp. The vApp uses the IP pool -- which exists at the virtual data center level in vCenter -- to acquire IP subnet, gateway, IP range, DNS, DHCP, virtual port group associations and so on.
Have there been any improvements in vSphere High Availability (HA) regarding vApps, specifically when it is used to ignore the startup order? If not, what can admins do to make sure the startup order sticks when using vApps?
Fitzhugh: The short answer is, there [have] been no changes in vSphere HA regarding starting VMs, according to the vApp ordering.
There has been a lot of discussion of future HA improvements throughout the VMware community. Duncan Epping has a great post about possibilities for the future of HA.
The one thing an administrator can do now is define restart priority -- high, medium, low and disabled -- for the virtual machines in the vSphere HA cluster. Keep in mind that this is best effort to follow the restart priority configured.