virtualization best practices guide - CA Support

virtualization best practices guide - CA Support
Virtualization Best Practices
Latest Revision: July 30, 2010
Legal Notice
This publication is based on current information and resource allocations as of its date of publication and is subject
to change or withdrawal by CA at any time without notice. The information in this publication could include
typographical errors or technical inaccuracies. CA may make modifications to any CA product, software program,
method or procedure described in this publication at any time without notice.
Any reference in this publication to non-CA products and non-CA websites are provided for convenience only and
shall not serve as CA‟s endorsement of such products or websites. Your use of such products, websites, and any
information regarding such products or any materials provided with such products or at such websites shall be at
your own risk.
Notwithstanding anything in this publication to the contrary, this publication shall not (i) constitute product
documentation or specifications under any existing or future written license agreement or services agreement
relating to any CA software product, or be subject to any warranty set forth in any such written agreement; (ii)
serve to affect the rights and/or obligations of CA or its licensees under any existing or future written license
agreement or services agreement relating to any CA software product; or (iii) serve to amend any product
documentation or specifications for any CA software product. The development, release and timing of any features
or functionality described in this publication remain at CA‟s sole discretion.
The information in this publication is based upon CA‟s experiences with the referenced software products in a
variety of development and customer environments. Past performance of the software products in such
development and customer environments is not indicative of the future performance of such software products in
identical, similar or different environments. CA does not warrant that the software products will operate as
specifically set forth in this publication. CA will support only the referenced products in accordance with (i) the
documentation and specifications provided with the referenced product, and (ii) CA‟s then-current maintenance and
support policy for the referenced product.
Certain information in this publication may outline CA‟s general product direction. All information in this publication
is for your informational purposes only and may not be incorporated into any contract. CA assumes no
responsibility for the accuracy or completeness of the information. To the extent permitted by applicable law, CA
provides this document “AS IS” without warranty of any kind, including, without limitation, any implied warranties
of merchantability, fitness for a particular purpose, or non-infringement. In no event will CA be liable for any loss
or damage, direct or indirect, from the use of this document, including, without limitation, lost profits, lost
investment, business interruption, goodwill or lost data, even if CA is expressly advised of the possibility of such
Copyright License and Notice
This publication may contain sample application programming code and/or language which illustrate programming
techniques on various operating systems. Notwithstanding anything to the contrary contained in this publication,
such sample code does not constitute licensed products or software under any CA license or services agreement.
You may copy, modify and use this sample code for the purposes of performing the installation methods and
routines described in this document. These samples have not been tested. CA does not make, and you may not
rely on, any promise, express or implied, of reliability, serviceability or function of the sample code.
Copyright © 2010 CA. All rights reserved. All trademarks, trade names, service marks and logos referenced herein
belong to their respective companies.
Chapter 1: Deciding on Virtualization ...................................... 1
What do we mean by ................................................................................................................ 2
Why use Virtualization .............................................................................................................. 3
Areas Where virtualization Provides Quick Value ..................................................................... 5
When to Avoid Virtualization ................................................................................................ 7
Common Advantages .......................................................................................................... 7
Facilities Management ................................................................................................... 7
Security / Business Continuity ........................................................................................ 8
Resource Management................................................................................................... 9
Management .............................................................................................................. 10
Common Disadvantages .................................................................................................... 12
Facilities Management ................................................................................................. 12
Security / Risks .......................................................................................................... 12
Performance ............................................................................................................... 15
Management .............................................................................................................. 18
Chapter 2: Implementation Strategies ................................... 21
Taking Advantage of the Advantages ........................................................................................ 22
Deciding Where to Start .................................................................................................... 22
Analyzing the Marketplace/Identifying Who the Players are .................................................... 23
A closer look at VMware ESX, Microsoft Hyper-V and Citrix XenServer ............................... 25
Deciding on the Appropriate Virtualization Engine ................................................................. 30
Identifying Requirements for Management Tools .................................................................. 33
Identifying Change Control Methods.................................................................................... 35
Identifying Data Storage Resources and Limitations .............................................................. 37
Defining Pertinent Maintenance Tasks ................................................................................. 38
Identifying the Advantages and Disadvantages of Using Virtual Appliances .............................. 39
Taking a Look at Virtual Desktops ....................................................................................... 40
Determining Costs, as well as Return on Investment ............................................................. 41
Estimating Hardware Requirements .......................................................................................... 44
Initial Server/Application Sizing .......................................................................................... 45
Initial Sizing Estimations for Individual Virtual Machines .................................................. 45
Expected Peak load (CPU/RAM/NIC/Storage) .................................................................. 46
Moving to a Virtual Environment ......................................................................................... 47
CPU Concerns ............................................................................................................. 48
What Do We Mean by “Virtualization”?
BIOS Configuration ...................................................................................................... 50
Memory (RAM) Concerns .............................................................................................. 50
Network Bandwidth, I/O Concerns ................................................................................. 52
Storage Concerns ........................................................................................................ 53
Advanced Configurations .................................................................................................... 55
Virtual Machines with Multiple vCPUs (SMP) .................................................................... 55
Controlling How Resources are Shared ........................................................................... 57
Chapter 3: Maintenance Considerations ............................... 61
Optimization Strategies ........................................................................................................... 62
Allocating Dedicated and Shared Resources .................................................................... 63
Re-allocating Existing Resources Between VMs ................................................................ 63
Move an Existing VM to a New Host ............................................................................... 63
Optimizing and Tuning the Individual VMs ....................................................................... 64
Appendix A: References and Links ......................................... 67
Vendors Whitepaper, Homepages, technical notes etc… ............................................................... 67
Analysts Research and Reports ................................................................................................. 71
Virtualization Magazines and Articles ......................................................................................... 71
Appendix B: Virtualization Checklists ..................................... 83
Identify Virtualization Candidates .............................................................................................. 83
List and Prioritize Servers/Applications/Solutions ................................................................... 83
Generic Questions for Guest Systems .................................................................................. 84
Configuration of Guest System ............................................................................................ 86
Operating System with Tightened Security / Limited Functionality ........................................... 89
Summary/Overview of Guest System in the Environment ....................................................... 90
Guidelines for Host Systems ..................................................................................................... 91
General Questions for Host Systems .................................................................................... 91
Basic Hardware Configuration ............................................................................................. 92
Disk Configuration ............................................................................................................. 95
Management Infrastructure ................................................................................................ 97
Cost Analysis .................................................................................................................... 99
What Do We Mean by “Virtualization”?
Glossary ................................................................................... 101
Chapter 1: Deciding on Virtualization
The potential value that can be derived from virtualization is significant but the
key to maximizing that value is to understand what the expectations and
business drivers are. Each client planning virtualization adopts one or more
goals based upon product claims, press coverage, and industry peer input. For
example, one common goal of virtualization is “to improve the way in which IT
manages its resources”. This improvement may take the form of increased
peak capacity, improved resilience, reduced configuration costs, or reduced
systems management errors. One or more of these subordinate goals is often
attainable. Perceived virtualization savings may also take the form of reducing
the amount of hardware that IT purchases or manages.
Although there may be some debate as to where to start and how to maximize
your return, there is little doubt that virtualization has value, is here to stay
and will have a significant impact on how IT infrastructure is managed.
Following is a selection of articles posted by several leading industry analysts
and trade magazines regarding their opinions on the current state of
virtualization and its future:
This document describes how to take advantage of virtualization by identifying
a number of scenarios where virtualization can provide value, as well as best
practices related to specific goals.
In this first chapter we begin by defining what we mean by the term
“virtualization,” why virtualization is important and what factors need to be
considered when deciding whether and how you should use virtualization.
Note: This document is a work in progress. Updates will be provided as they
become available. If you have any comments or feedback on this document
please forward them to
What Do We Mean by “Virtualization”?
What Do We Mean by “Virtualization”?
Virtualization is a broad term that can mean different things depending on who
is using/interpreting it. When this article was first authored Wikipedia
( defined “virtualization” as the
"a technique for hiding the physical characteristics of computing resources
from the way in which other systems, applications, or end users interact with
those resources. This includes making a single physical resource (such as a
server, an operating system, an application, or storage device) appear to
function as multiple logical resources; or it can include making multiple
physical resources (such as storage devices or servers) appear as a single
logical resource."
Or, to put it more succinctly, virtualization hides the detailed physical
characteristics of the computing platform from the users, showing instead
another abstract, emulated computing platform.
Virtualization can take many forms. For example, a single physical resource
may provide multiple virtual resources, or conversely, multiple physical
resources may be represented as a single virtual resource. A combination of
these approaches may also be used. Consider the following examples:
Platform Virtualization
In this form of virtualization a single server hosts one or more “virtual
guest machines”. This is also often referred to as “Server Virtualization”
and may be further broken down into a large number of additional
classifications including “Hardware Virtualization,” “Paravirtualization,” and
“Operating system Virtualization.”
Resource Virtualization
The virtualization concept as a whole also includes virtualization of specific
system resources, such as storage and network resources. This can be
done within a single host server or across multiple servers (using a SAN,
for example). Modern blade enclosures/servers often combine platform
and resource virtualization, sharing storage, network, and other
infrastructure across physical servers.
Desktop Virtualization
Virtual Desktop Infrastructure (VDI) is used to provide the end users with
a computer desktop that is identical or similar to their traditional desktop
computer while keeping the actual computing power in the datacenter.
When this approach is used, the end user requires only a thin client on his
desktop. Updates and/or configuration changes to the application and/or
hardware are performed in the centrally located datacenter, providing
greater flexibility when it comes to supplying computing power on demand
to the end user.
Why Use Virtualization
Application Virtualization
Application virtualization is a technology that is designed to improve
portability, manageability and compatibility of individual applications. This
is done by encapsulating the application so that it no longer communicates
directly with the underlying operating system.
Application virtualization utilizes a virtualization layer to intercept calls
from the virtualized application and translate them to call the resources
needed to provide the underlying operating system.
Computer Clusters \ Grid Computing
This type of virtualization connects multiple physical computers together
as a single logical entity in order to provide better performance and/or
availability. In these environments the user connects to the “virtual
cluster” instead of one of the actual physical machines.
The use of grid computing or clustering of computers is typically driven by
the need to support high availability, Load balancing or a need for extreme
computing power.
This document focuses primarily on Platform Virtualization with some basic
coverage of the other areas. Therefore, unless otherwise specified, the topic
should be assumed to refer to Platform Virtualization.
Why Use Virtualization
There are both advantages and disadvantages to using virtualization. Before
you implement it in your environment, it is critical that you understand what
virtualization can offer in conjunction with your required level of
skills/commitment. It is up to you to reconcile these factors with your
expectations of how virtualization can be used in your environment. Above all
you should be aware that:
applications aren’t suddenly going to require less resources just
because they are virtualized
On the contrary, virtualization adds overhead. A virtualized application will
use more resources than before and it will not run faster unless it is hosted on
faster hardware than it was run on originally. For this reason, attempting to
virtualize using your existing hardware is typically a “bad” idea.
The actual amount of additional overhead depends on a number of factors,
including the type of application being virtualized, the type of virtualization
engine being used, the type of hardware that is available, and how it will be
configured/used. According to lab tests reported in the April 2007 issue of
Network Computing the overhead for an ESX server is typically less than 10%
but ranges from 6% to 20 % (your results may vary and each user should
monitor their own overhead). To view this article in its entirety, go to the
following link:
Why Use Virtualization
It is important to make sure you have enough storage space, memory, CPU,
network bandwidth and other resources to handle the applications plus the
virtualization overhead. If the applications are business critical, you should
plan for worst case scenarios; however avoid dedicating more resources than
necessary since this will negatively impact other virtual machines on this host.
It is also important to realize that the correct answer to the question of why
virtualization should be used will depend on the maturity of both your
organization and the tools that are available. Virtualization maturity can be
divided into the following stages:
Virtualization 0.0 – “Virtualization not in use”
As the starting point of the virtualization “ladder” this level describes an
organization which has not yet implemented virtualization.
Virtualization 1.0 – “Islands of centrally unmanaged virtualization”
Unlike level 0.0, organizations at level 1.0 are employing virtualization,
however, it is often implemented by individuals or individual groups within
the organization without a centralized management or centralized
resources to support the infrastructure. The reasons for using virtualization
at this point are often reactive – to fight fires – and ad hoc - to create
virtual machines for testing and development - and in order to address
specific issues for non- business critical systems. The lack of central
management and change control at this maturity level can potentially lead
to serious security issues.
Virtualization 2.0 – “Consolidation and Managing Expenses”
The primary driver for Virtualization 2.0 is to consolidate servers and
increase the utilization of available resources. When done correctly,
consolidating small or underutilized servers into larger servers, this can be
very efficient and it can save a significant amount of money.
However, the key to saving costs is identifying the right servers for
virtualization. While there might be valid reasons to virtualize larger
servers as well, you should not expect to save money on hardware in
doing so.
Virtualization 3.0 – “Agility / Flexibility”
The driver for the next step on the virtualization maturity ladder is the
need for enhanced flexibility, enabling you to add/remove resources on
demand and even move workload between physical hosts. This ability can
be used to balance workload or to support an HA solution that allows
virtual machines to be restarted on a different physical server after a
server failure.
Why Use Virtualization
Virtualization 4.0 - “Continuous Adaptivity”
The driver behind this next natural step is the desire to fully automate all
of this in order to enable software solutions, often with hardware support,
to predictably and dynamically balance the load between servers,
rebalance resources between virtual machines, start up and shut down
virtual servers based on need, control power saving features in both the
virtual machines and the host system itself, etc. This automation should
be service-aware and look at factors such as measured and expected
workload, tariffs for energy, importance and urgency of requested
resources, and demand from other services, and use all available
information to best use the available resources.
The major hardware vendors are working on releasing new solutions to better
support these maturity levels and tools that support Virtualization 4.0 are just
starting to reach the market. As more and more attention is given to
Virtualization 4.0, we can expect that the technologies and tools to support it
will become more mature and more complete over the next few years. A few
examples of tools that support Virtualization 4.0 initiatives are VMware Virtual
Center, Microsoft System Center Virtual Machine Manager, and Citrix
Essentials as well as 3rd party tools, such as CA Technologies suite of products,
which includes CA Spectrum Automation Manager, CA Virtual Assurance for
Infrastructure Managers/CA Virtual System Performance for Infrastructure
Managers, CA Virtual Assurance, CA Virtual Automation and CA Virtual
Areas Where Virtualization Provides Quick Value
Following is an overview of scenarios where virtualization can provide quick
1. Organization needs to maintain a library of servers with different
configurations, such as:
Software Development (Test scenarios)
Quality Assurance
Software support, where it‟s important to be able to quickly and easily
reproduce a relatively large number of environments.
Demo centers / demo scenarios
This is a common starting point for many companies since it is easy to
realize significant value and the risks are typically minimal.
Value is quickly seen in reduced time to provision servers as well as in
reduction of errors.
Why Use Virtualization
2. Organizations with multiple, mature, horizontally scalable applications that
occasionally need to address peak load by adding temporary worker
In these cases virtualization supports a very efficient usage of existing
hardware by enabling a number of applications to share the resources of a
few host servers. Planning, however, is critical since you need to calculate
for support of a worst case scenario – such as what happens if all - or
many - of the applications are peaking and requiring access to the shared
resources at the same time.
3. Consolidating selected business applications deployed to:
Lightly used servers. This typically includes:
Service Providers (xSP) that have multiple small clients.
Multiple mid-tier managers originally implemented on separate servers
for political, organizational or legal reasons.
In many cases isolation provided by virtualization is sufficient,
especially if the data is separated onto private disk systems; however,
it is critical to verify that virtualization satisfies the organization‟s
isolation/separation requirements.
Servers with predictable resource consumption profiles. This will allow
you to plan the distribution of work for virtualized servers. In these
cases, keep in mind that:
Special care is required for applications that require lots of I/O.
Applications that require different sets of resources at the same time
can coexist on the same physical server.
Applications that require the same resources at different times can
also coexist on the same physical server.
In each of these cases value is realized through a reduction in the number of
servers resulting in both hardware maintenance and management cost
savings. Additional details on attaining rapid ROI through virtualization are
provided later in this document.
In most cases, unless your project falls into one of these categories you may
find that it is hard to save money through virtualization alone. While there
may be other good reasons to consider virtualization it is critical that you
understand what you expect to accomplish with it.
Why Use Virtualization
When to Avoid Virtualization
Regardless of whether it is possible to virtualize servers and applications in
your environment, there are certain situations in which the potential risks far
outweigh any advantages that might be gained.
Applications that require direct access to specialized hardware or that make
frequent and unpredictable demands on a large parts of the system‟s available
resources are not ideal candidates for virtualization. A couple of examples are:
Applications that require USB keys or other hardware components for
Applications using specialized hardware, such as advanced video capturing
equipment, tape drives, and fax/modems.
Applications that, even on modern hardware, consistently have a high
utilization of resources such as CPU, disk, network and/or memory.
Large database servers. Virtualization of large database servers is rarely
beneficial. Database server utilization is better improved by employing
multiple database instances.
Application or Desktop Virtualization type servers, such as Citrix, and other
types of servers that already include their own techniques for
Additional examples of more common disadvantages are listed later in this
guide. In these situations, projects should be analyzed, on a case by case
basis, to carefully calculate the risks connected to the application / system.
Common Advantages
Following are some of the more common advantages to virtualization. The
relative importance of each will depend on your exact environment and
specific requirements.
Facilities Management
Saving Datacenter Space
A common problem with datacenters is that the ever increasing number of
managed applications requires more and more servers which, in turn,
require more and more floor space. Virtualizing a significant number of
these applications may save you from having to move into a new larger
datacenter, and, in fact might enable you to use a smaller datacenter or to
allocate some of the existing space for other functions.
Why Use Virtualization
Hardware Cost Savings
Server virtualization typically requires larger and more expensive servers,
however, when done correctly, combining multiple, under-utilized servers
into a single larger system can result in a significant cost savings (e.g.,
lower hardware purchase cost and lower hardware maintenance cost).
Fewer servers require less supporting infrastructure in the form of floor
space, air conditioning, racks, networks, wires, cables, power supplies and
backup systems.
Reduced Energy Bills
Reducing the number of servers in the datacenter reduces the electricity
bill. This cost savings can be significant when you account for the servers,
the monitors and the air conditioning required to keep them cool.
InformationWeek (December 18/25 2006) cites one example where an
organization reduced costs by half - from $7000 to $3500 per month.
Security / Business Continuity
Easy to backup the complete image
Copying a complete virtual environment (image) to a backup location or to
a staging area to allow controlled upgrades of the application/operating
system is a trivial task when virtualization is used.
Simplifies the process of keeping systems patched
In many situations maintenance can be applied to a clone of the
production system. After update and testing is completed, that clone can
then be used to replace the original instance, resulting in minimal
downtime. This approach also provides access to the original, un-patched,
system in the event you need to roll back the patch. See the
“Management” section on page 10 for additional details. Even if you
cannot replace the image, this approach provides value because you can
still perform a majority of the testing/verification on a clone of the
production system.
Efficient component level Fault Tolerance
When correctly implemented, the host systems should be deployed on
large servers where many/most of the components are fault tolerant.
Ideally, all guest VMs should be configured to take advantage of the
shared backup component in the event a hardware component fails.
Furthermore, if the network is set up using teamed networks connecting to
multiple network switches, this practice can guarantee connectivity even if
one of the switches fails.
Why Use Virtualization
Disaster Recovery / Business Continuity
As previously noted, virtualized copies of the environment can easily be
moved to off-site servers. Keep in mind, however, that many applications
depend on fixed IP addresses and/or the availability of other resources (for
example SANs). Therefore, it is critical that you identify these
requirements beforehand, by conducting tests in an environment in which
the complete original infrastructure is down (or simulated to be down).
During these tests it is also important to verify that any other applications
that rely on any of these services in the virtualized environment can find
the new clones of those services.
Virtual appliance might enhance security
Since you have complete control over the required resources in a virtual
appliance you can enhance security by removing any components that
aren‟t required for this specific application. When this is done correctly, it
can greatly enhance security; however it might also complicate the
process of patching the system.
Virtual Desktops provides enhanced control over security
Virtual Desktop Infrastructure can allow simplified and enhanced control
over security by limiting a user‟s access to specific resources and certain
types of data. For example, by providing a trusted partner with a secured
virtual desktop instance to access sensitive information you minimize the
risk that data will leave the central server. In addition, a virtual desktop
can be set up to provide secure remote access to your desktop
Resource Management
Simplifies Chargeback systems
Decoupling services from physical servers simplifies chargeback systems
by enabling you to delineate utility pricing based on a pay-per-use model.
The utilization metrics required for the chargeback system are often the
same as those required to manage load balancing between systems.
Optimized usage of existing hardware resources
In most datacenters there are a large number of servers that rarely take
full advantage of the available resources. By managing your virtualized
environment wisely, you can enable multiple logical servers to share
resources in a way that allows access to more resources when needed but
to share them with other applications when they are idle or close to idle.
When planning your deployment, however, you should allow for a worst
case scenario and identify which applications might need resources at the
same time.
Why Use Virtualization
Faster deployment of new logical servers
With the necessary hardware resources available, virtualization technology
can significantly simplify the task of deploying certain types of servers.
For example, you can deploy an additional web server fairly quickly and
add it to the load balancer rotation as additional resources are required.
This often reduces the provisioning time for a new server from days (or
maybe even weeks) to hours.
Moving logical servers between hardware
Virtualization enables you to manage server load more efficiently by
allowing you to move complete virtual servers to new hardware whenever
additional resources are needed.
This is especially easy to do if you have the tools and infrastructure for
“hot migration” - which allows you to move logical servers while they are
still running (for example VMOTION or Live Migration together with a SAN
Note: When planning for Hot Migration it is critical to understand that this
typically isn‟t supported between machines with different CPU
architectures. Current technology often requires that the CPU have the
same vendor, processor family and core stepping. Some hypervisor
systems partially address this problem by allowing you to group host
servers and set them up for a compatibility mode. This basically limits
each host to only being able to take advantage of CPU functions that ALL
hosts have access to.
In addition, the source and target servers need to have access to the same
external resources, such as SAN and network resources.
More flexible infrastructure
Since logical servers can move easily between hardware sources, a
virtualized environment is one in which the hardware is completely
decoupled from the operating systems and the software. The result is a
very flexible infrastructure where the hardware can be used to support the
services/applications that are most important at this moment. This
abstraction allows you to reduce costs since hardware and software
upgrades are no longer directly coupled to each other.
More, smaller applications, logically separated from each other
Logically separating applications from each other through the use of virtual
appliances can simplify support by reducing the likelihood of applications
“colliding” with one another.
Without virtualization you might be tempted to run multiple smaller
applications within the same OS but this quickly leads to a large number of
application combinations to certify and support.
Why Use Virtualization
Another advantage of using multiple smaller components is that, if the
solution is correctly designed, this simplifies the ability to support
additional load by “scaling out” - temporarily or permanently adding
another component (virtual server) to handle more workload.
Fewer servers
Since virtualized environments typically have fewer physical servers they
can be easier to manage, especially from a security point of view.
However, in order to reap the full benefits of virtualization, it is critical to
carefully manage and monitor the performance and health of the individual
virtual machines, the host systems and the connected SAN systems.
You will also need to account for the many additional management issues
related to virtualization (see “Management” on page 18).
Hardware maintenance
The ability to move logical servers between hardware can simplify
hardware upgrades by enabling you to build a new server, verify its
functionality and compatibility with a copy/clone of the live image - all
without affecting the existing application. When testing is done, you move
the live applications over to the new server.
In a similar way you can easily and quickly have another physical server
take over the role of hosting the applications when the original server has
a hardware problem.
Software maintenance
With the right planning, change control for software maintenance can also
be significantly enhanced through judicious use of virtualization. Since the
complete logical machine can be copied and handled as a set of files you
can easily set up separate areas for:
Test / Quality Assurance (QA)
Available Images / Gold Images
Using a structure like this you can easily upgrade and test a new version in
the “Development” and “QA” areas while still running the old version in
“Production.” When the new version is approved and you have a copy in
the gold master library you can schedule a small maintenance window and
transfer over to the new, already updated and verified, image. This topic is
discussed in greater detail in the “Identifying Change Control Methods”
section on page 35.
Why Use Virtualization
Common Disadvantages
Following is a summary of the common disadvantages associated with
virtualization. These should be carefully weighed against the advantages to
determine if virtualization is right for your environment.
Facilities Management
Hardware Investments
A common reason for virtualization is to save money by limiting the
required number of servers in your environment.
While it is true that you will have fewer servers after a virtualization
project is done, in order to support the added load on the remaining
individual servers they will need to be larger, and typically more
expensive, compared to what may have been previously employed. It is
far from an absolute truth that you always will save money on hardware;
however, it will always lead to a need for some significant initial
Datacenter Infrastructure Investments
Unless you have a modern, well designed datacenter it is likely that these
new high end servers will require you to update your existing
infrastructure in order to provide the necessary cooling, network, and
power requirements.
To clarify, since you will have fewer servers in the data center, the total
need for cooling and electricity will likely be less than before, however the
datacenter will need to handle the hotspots that are commonly generated
by the concentration of new high end servers occupying less physical floor
Security / Risks
Internal Resistance
A problem often encountered during a server consolidation project is that
some parts of the organization might resist giving up control over their
existing hardware or applications. It is very important to address this early
to ensure cooperation from all application owners.
Management of “sleeping” Virtual Machines
In a virtualized environment it is common to have some virtual machines
that are not always in active use. For example, these could be images
that are ready for “on demand computing” or gold standards that are used
to clone new servers.
It is critical that you have an automated process in place to patch and
configure these virtual servers before they are used in any open
Why Use Virtualization
New, relatively unproven technology, tools and processes
Though “virtualization” is not a new concept in software, the changes
introduced in its most recent form, as well as the impact and implications
of those changes, need to be clearly understood (and, thoroughly tested).
This includes the introduction of new:
Abstraction layers
Virtual Engines/hosts introduce a new abstraction layer that can
potentially introduce new failures as well as security exposures. This
is particularly true for engines which employ hypervisors since, by
nature, hypervisors should be as lightweight and efficient as possible
and, therefore, have limited error recovery and security implemented.
This may, however, be mitigated by configuring the hypervisor or
using a specific security-related virtual appliance or a plug-in to the
hypervisor that manages the system.
However, it is worth noting that this, so far, is an academic discussion;
at this moment, none of the major hypervisors has had any severe
vulnerability reported.
Security Architecture
Since applications have traditionally been tied to a specific piece of
physical hardware and infrastructure it has been possible to design
security around an environment in a fairly static way, making sure that
the physical server and environment are secured. When dynamically
allocated virtual servers are used it is necessary to track where the
application is currently residing and this may require the use of
dynamically configured security or, at minimum, the rule that the
application only reside on secured host servers.
Immature and/or incomplete tools
Dynamic environments also require new or enhanced tools for
managing and securing virtualization. This includes the ability to:
Ensure the complete environment is successfully patched. This
applies to both guest and host systems.
Analyze and manage the host OS and the virtual network to find
and address bad configurations and other vulnerabilities.
Solutions that can plug into the hypervisor‟s APIs to manage and
secure all hosts on the host servers.
Analyze and secure traffic between VMs on the same machine
Be aware of and secure environments with Virtual Desktop
Infrastructure (VDI) and Mobile VMs
Whenever possible/applicable, be policy driven and able to work
across the datacenter so that each guest system is managed in an
identical way even if it is migrated to another host system.
Additional details about recommended tools can be found in the
“Identifying Requirements for Management Tools” section on page 33.
Why Use Virtualization
Reorganization / consolidation of servers and applications
Any major change to a server environment – reorganization, consolidation,
modification – is disruptive and, by its very nature, a risk. However, if the
change is managed in a controlled and well planned way, this risk can be
managed as well and kept to a minimum.
Loss of logical servers
Unless the images are well managed (see “Identifying Change Control
Methods” section on page 35) it is easy to mistakenly delete a complete
logical server (or set of logical servers) in a virtualized environment.
Consolidated datacenters
While consolidating many servers into one big datacenter can provide a
great advantage it also creates a huge single point of failure. Unless this
datacenter is extremely secure, events, such as a natural disaster (fire,
flooding, etc.), power failure or sabotage, can cause a major disruption to
all (or at least a significant part of) your IT infrastructure.
In addition when you combine multiple, smaller datacenters into a single
datacenter, you need to ensure that the supporting infrastructure can
handle the additional load under normal situations, as well as disaster
recovery scenarios. This includes providing sufficient network
infrastructure, power requirements, storage and backup requirements,
cooling and floor space.
Real time or near real time requirements
Care needs to be taken with applications that require real time or near real
time response since the system clock on some virtualized systems can
temporarily lag as much as 5-10 seconds if virtual machines are under
heavy load. This is typically not a big problem, but it might be an issue in
a system that requires real time or near real time response.
For more information see the following:
VMware whitepaper “Timekeeping in VMware Virtual machines”
Timekeeping best practices for Windows
Timekeeping best practices for Linux guests
Virtual machine seems slow when running a particular program (Clock
VMware KB 1006113 - “Time in Linux 2.6 guest operating system runs
faster than real time due to lost tick overcompensation”
VMware KB 2219 - “Linux guest clock runs slowly on ESX Server 3.0”
Why Use Virtualization
VMware KB 1000072 – “Timekeeping in Microsoft Windows 2000 SMP
and the Windows Multimedia Timer Service. Patch resolving issue in
VMware ESX Server 3.0.0.”
Microsoft KB 918461
“The system time runs too fast on a Linux-based virtual machine that
is hosted in Virtual Server 2005 R2”
Although these papers mostly focus VMware hosts, similar problems exist
for other solutions as well.
Overhead on resource consumption
All virtualization technologies impose a performance penalty. If there are
multiple virtualized machines (VMs) running at the same time, the amount
of resource consumption - including the overhead – increases cumulatively
and, often, non-linearly, due to contention for resources that are
simultaneously being used by multiple VMs.
The level of overhead depends on a large number of factors, however the
typical increase for a hypervisor based system is around 10%. In the
December 18/25, 2006 issue, InformationWeek estimates this could be as
high as 15%, and a test reported in the April 2, 2007 issue of Network
Computing estimates a 10% overhead (low of 6% and highs of 20%).
Engines without hypervisor technology or other hardware assists have
significantly higher overhead. Higher end blade solutions or high end
hardware-based solutions (including LPAR or Containers) have relatively
low overhead.
The penalty might be especially large in situations where:
Multiple applications require heavy disk-access.
When multiple applications on the same host try to use any limited
resource (typically, I/O), this will significantly affect performance. In
disk I/O situations, this can often be handled by off-loading each
application‟s data storage to a dedicated storage subsystem or by
using a high end dedicated storage solution (including fibre channel ,
FCoE or iSCSI based SAN systems).
Applications are performing many small transactions
Performing many small transactions (or combinations of large and
small transactions) such as disk I/O, or network traffic, creates a
significantly higher overhead than performing a few large transactions.
Why Use Virtualization
Resource Allocation
One advantage of virtualization is better utilization of existing resources.
This is because, when correctly planned and managed, the virtualization
engine can handle a certain degree of over-utilization, thereby allowing
applications to use resources that currently aren‟t in use by other
applications. However, when mismanaged, this is also one of its biggest
disadvantages since, under heavy load, the response time from virtual
machines becomes unpredictable.
Another way in which virtualization can help you use your existing
resources more efficiently is by enabling component level fault tolerance
that is implemented for the host server (such as redundant power
supplies, teamed NICs, etc.) to be used by all or multiple guest systems.
Bottlenecks/Queuing Delays
Poorly managed resource allocation can lead to bottlenecks. Although
bottlenecks are not a new problem, they escalate more quickly in a
virtualized environment since you may have multiple logical servers
potentially hitting the same resources.
There are few rules regarding what resources will be strained by which
application. Bottlenecks depend, to a large degree, on what resources are
available and how the application is used in a specific environment.
However, typical examples include:
CPU constraints: A common technique for managing application CPU
constraints in a non-virtualized environment is to allocate additional
CPUs to the application. In a virtualized environment, however, this is
not necessarily a good idea since the virtualization host typically waits
until it has all allocated CPUs available before it can assign any
resources to the virtual machine. In other words, in a virtualized
environment it may be better to assign fewer fast CPUs to each virtual
machine than to over-allocate CPUs. Of course, if you virtualize an
application that is designed for multiple CPUs you should specify that
number of vCPUs for the virtual machine and ensure you have that
many physical CPUs available to the virtualization host. For example,
if you run an application and its dedicated database on one virtual
system it often adds value to define two CPUs to permit both to be
active. If you simultaneously run several virtual guests, each defined
with multiple CPUs, then you should have, at least, the sum of defined
CPUs free on the virtualization host to avoid a serious performance
Note: This strict co-scheduling algorithm has been improved
somewhat in later versions of VMware; however, it is still
recommended that you use as few vCPUs as possible. For additional
details refer to “Virtual Machines with Multiple vCPUs (SMP)” on page
Why Use Virtualization
Disk I/O constraints: DBAs know that databases often perform a
large number of small read/write transactions to disk. This can
seriously affect performance unless you separate various functions
onto different physical disks/stripe sets. For the very same reason,
basic storage tuning is very important in a virtualized environment. In
fact, because disk intensive applications often compete for access to
shared disks, it is common to have dedicated disk space on separately
allocated disks/stripe sets. SANs can provide disk resource
virtualization and are commonly employed for virtualized applications.
Properly sizing SAN cache and managing disk allocation effectively is
Memory constraints. Web servers and database servers often take
advantage of available memory for caching. This can significantly
improve performance by reducing disk I/Os.
Virtual machines, however, often have a problem sharing memory in
an efficient and fast way and it is critical, therefore, that you provide
enough memory for each application. The challenge is to do this
without extensively over allocating resources, and making the solution
more expensive than necessary.
This can be handled by using a management tool that monitors the
application‟s memory requirement and using this knowledge to decide
which applications fit together on a specific host.
Note: A limited over allocation of memory is often desirable since
modern enterprise level virtualization hosts have advanced memory
management functions that allow applications to share memory
between different virtual machines and can dynamically borrow
memory between the virtual machines. For additional details, see
“Memory (RAM) Concerns” on page 50 as well as the “Memory
Resource Management in VMware ESX Server”
( document.
Network constraints: Client-Server type applications, along with
network management tools, often place a large number of small
packets on the network. Even if these packets don‟t add significant
overall load, they may severely affect performance of other virtual
machines sharing a NIC if the round trip latency is poor. Dedicating
NICs to production virtual machines is typically required to avoid wide
swings in response time of network dependant applications.
Most of these constraints can be managed by adding more resources
and/or reorganizing which virtual servers are running on which hosts.
It is also highly recommended that you carefully read the performance
tuning and best practices documents and white papers that are available
from host system vendors. For example, the “Performance Best Practices
for VMware vSphere 4.0” document, which is available from VMware
focuses primarily on VMware‟s vSphere, however many of its performance
tips are applicable to other solutions as well.
Why Use Virtualization
Note: Poorly written applications often over consume many different types
of resources. Therefore, whenever possible, review in-house applications
to determine if they can be enhanced to better use available resources.
For example, a database engine given poorly written SQL will likely put
unnecessary stress on CPU, Network, Disk I/O and Memory. CA Wily CEM
and CA Wily Introscope can rapidly identify resource bottlenecks in web
Although the ability to isolate applications through virtualized appliances or
by testing patches on identical clones can significantly simplify support,
the disadvantage is that many software vendors do not fully support
virtualized environments or else require that the issue be reproduced in a
non-virtualized environment.
Multiple Servers on one physical server
Having multiple virtual machines on a single physical machine can
introduce the potential for:
Security vulnerabilities (see the previous “Security / Risks” section on
page 12).
Increased failure impact. A single HW failure now affects multiple
logical/virtual servers. This risk can be reduced through use of
resilient server hardware and good disaster recovery routines. In fact,
some clients choose resilient server hardware for virtualization to
reduce risk of failure when comparing multiple failure prone small
servers with a single large resilient server.
Any reboot/maintenance to the host system interrupts all guest OS,
however this can be managed using “hot migration” technologies (such
as VMOTION, XenMotion or Live Migration).
Bottlenecks (see details in the “Performance” section above):
CPU cycles, Memory capacity and Network are typically relatively
easy to handle by analyzing the typical load of the various
applications and proactively allocating the resources. The
resources can be dynamically allocated but this should be avoided,
whenever possible, since it typically slows down the applications to
repeatedly reallocate resources.
I/O bottlenecks are a tougher and a growing problem with multiple
virtual machines (especially if they are often heavily used at the
same time). However, understanding the usage pattern will allow
you proactively allocate dedicated physical resources or additional
shares of existing resources to the virtual machines.
Why Use Virtualization
Specialized skill set required
Even though management of a virtualized environment can often be
streamlined and simplified it still requires new, and currently unusual,
Personnel that don‟t fully understand the specific requirements for
virtualized environments can cause severe damage to the infrastructure.
Therefore it‟s important to allocate time/resources for training both before
and throughout any virtualization project.
Chapter 2: Implementation Strategies
Planning is an important part of any project - even more so with virtualization.
The key to a good plan is to understand, from the outset, what the goals are,
in order to ensure that those expectations can, in fact, be met by the
implementation. Before undertaking a virtualization project you should clearly
identify the following:
Reason for the project (i.e., what are the business drivers?)
What you are trying to virtualize (e.g., specific functions or applications?)
How much the project is expected to cost (and to save)
What risks – both functional and financial – are expected and, more
importantly, acceptable.
Scope of the implementation (i.e., is it a single, focused project, or will
there be multiple phases and milestones)
Other changes that are anticipated in the environment and how they
might impact or be impacted by virtualization
This is, by no means, an exhaustive list, nor does it apply to all projects,
however if you don‟t have a good understanding of the answers to those
questions before you start the project you are more likely to encounter some
unexpected bumps during the deployment.
Whatever the answers to these questions may be, it is important to carefully
assess the tasks at hand and to plan out the action steps accordingly. Keep
the project plan open particularly when dealing with a larger scale project.
This enables you to incorporate any lessons learned during the first
steps/milestones when it is time to start subsequent steps and sub projects.
For example: If the first major milestone in one virtualization project is to
implement a library of different virtualized test environments for the Quality
Assurance (QA) team, it would then be beneficial to analyze the results from
that experience before proceeding with the next milestone, which may be to
incorporate various lightly used business critical applications into the
Taking Advantage of the Advantages
Taking Advantage of the Advantages
As you can see there are many advantages to virtualization – but you need to
understand the realities of those advantages, as well as how to counter the
potential, and often related, disadvantages. The following sections help you
take advantage of those advantages by:
Deciding where to start
Analyzing the marketplace/identifying who the players are
Deciding on the appropriate virtualization engine
Identifying requirements for management tools
Identifying change control methods
Identifying data storage resources and limitations
Defining pertinent maintenance tasks
Identifying the advantages and disadvantages of using Virtual Appliances
Taking a look at Virtual Desktops
Determining costs, as well as return on investment
Also included are a few helpful thoughts on virtual appliances and virtual
desktops, detailed discussions of which are currently beyond the scope of this
Deciding Where to Start
There is no simple answer to this question since every situation is unique and
every project requires an analysis of the organization‟s specific situation to
realize the pertinent facts for that situation. Consult the previous “Areas
Where Virtualization Provides Quick Value” section on page 5 for tips on where
virtualization quickly adds value.
Often the best place to start is to look at those situations where a library of
different environments is required to be accessible on demand – for example,
development, quality assurance, support and demo centers. Keep in mind the
list of “Common Advantages” and “Common Disadvantages” identified earlier
in this document (see page 7) and consider how these apply to your
The next step is to carefully analyze the list of current (and potential) business
applications to determine which would make a good fit for consolidation - for
example, File and Print Servers, Web Servers and some carefully selected
Business Applications. Whenever possible, it is best to start with servers that
have low activity levels.
Taking Advantage of the Advantages
A few high-level pointers that you should consider when selecting your
candidates for virtualizations are:
Ensure that the applications are supported in your virtualized environment.
Can you get buy-in and cooperation from executive management as well
as the owners and other stakeholders of the involved applications
Ensure you have sufficient hardware (CPU, RAM, Network and Disk I/O) for
the virtualized applications.
Ensure that the applications are using centralized storage for its storage
If you are planning to virtualize and existing application that currently are
using locally attached storage you should consider to first make the
application use a centralized storage pool. It is highly recommended to do
this as a foundation to the virtualization project, doing this at the same
time would be more complex and introduce unnecessary risks.
Note: Careful planning is especially critical for I/O intensive applications such
as high end databases and/or email servers. Although these are generally not
ideal candidates for virtualization, if you must virtualize them you should plan
to use one or more dedicated physical disks (preferably implemented through
Analyzing the Marketplace/Identifying Who the Players are
The following list represents some of the more interesting players in this area
– either from a market share and/or a technology point of view. It is not
intended to be a complete list. Information about additional companies
working in this area can be found on and
Amazon EC2 (
Citrix Systems (
XenServer/XenSource (
Acquired by Citrix in August 2007.
Linux KVM (
Microsoft (
Open Source Xen (
Open VZ (
Taking Advantage of the Advantages
Oracle (
Virtual Iron (
Acquired by Oracle in May 2009.
Sun Microsystems (
Acquired by Oracle in January 2010.
InnoTek (
Acquired by Sun Microsystems in February 2008.
Parallels (
Earlier sometimes referred to as SWsoft
VMware (
Based on market share and market recognition, however, only a handful of
these solutions carry significant weight. However, this is a large and growing
market so we can expect a lot of activity.
Note: Although a majority of the references and examples in this document
refer to VMware, that should not be interpreted as an endorsement of VMware
over any other vendor. It is merely a reflection of the author‟s experiences.
Multiple analysts firms and trade magazines have done surveys to gauge
industry trends and to understand how clients are using and are planning to
use virtualization in their environment. This includes questions on which
vendor(s) they prefer, if they are consider using solutions from multiple
vendors, etc. A few examples are:
It is obvious that VMware and Microsoft are perceived as the major players
when it comes to the software virtualization tools, however it is also
worthwhile to include Citrix XenServer (formerly called XenSource, Note:
August 15th 2007 Citrix Systems Inc announced a definitive agreement to
acquire XenSource) in the discussion.
Taking Advantage of the Advantages
Taking a closer look at VMware ESX, Microsoft Hyper-V and Citrix XenServer
Although VMware is clearly the market leader and the front-runner at this
point, other solutions, such as Microsoft Hyper-V and Citrix XenServer, are
gaining momentum and are definitely options well worth looking at. Also in
some situations, Hyper-V could potentially be more efficient than VMware and
Xen solutions for Window guests OS – due to their detailed knowledge of the
Windows OS.
A lab test conducted between ESX 3.5, Hyper-V and XenServer 5 (published in
the February/March 2009 issue of Virtualization Review”) showed that each
one of these Hypervisors has some advantages and disadvantages. The article
also states that “What is entirely clear, is that all three hypervisors are
legitimate virtualization platforms, and that no single company has a
monopoly on virtualization any longer”.
The chart below compares some important technical features between the
three solutions:
ESX/ESXi 4.1
XenServer 5.6
Server 2008 R2
(512 Virtual CPUs)
64 (EE2/DE3)
32 (SE4)
vCPUs / VM
4 / 85
8 / 327
RAM / Host
1 TB
1 TB (EE2/DE3)
32 GB (SE4)
256 GB
255 GB
64 GB (EE2/DE3)
31 GB (SE4)
32 GB
Active VM / Host
384 (EE2/DE3)
192 (SE4)
Virtual NIC / VM
12 (whereof 4
legacy adapters)
AMD-V / Intel-VT
(Required for 64bits VMs)
Required for
Windows VMs
Cores1 / Host
Taking Advantage of the Advantages
Additional requirement on CPU configurations.
Windows 2008 Server Enterprise Edition
Windows 2008 Server Datacenter Edition
Windows 2008 Server Standard Edition
vSphere Enterprise Plus is required to use more than 4 vCPU in a VM
Specific solution limits may be lower
8 vCPU for Windows, 32 vCPU for Linux). XenCenter support max 8 vCPU
Additional details about these solutions are provided in the more specialized
sections on the next few pages.
Note: All product-specific data is subject to frequent update. Please see the
vendor‟s websites for the latest information.
VMware vSphere 4 - VMware ESX/ESXi 4.1
VMware has been a clear market leader since virtualization first became a hot
topic in the distributed world. VMware provides a number of different solutions
including VMware Workstation and VMware Server, however, this document
focuses on production environments where the VMware solution of choice is
the VMware vSphere 4.1 which includes ESX 4.1 or ESXi 4.1. Following are a
few important facts about VMware vSphere 4.1:
It is a true Hypervisor, using a bare metal architecture with a virtualization
layer implemented directly on the server‟s hardware.
Supports dynamic volume resizing.
Supports a large number of different storage technologies, such as: Direct
Attached Storage (DAS), Storage Area Networks (SAN) through iSCSI,
Fibre Channel & Serial Attached SCSI (SAS) as well as Network Attached
Storage (NAS). Including the option to boot from SAN.
Boot from SAN, vSphere 4.1 allows booting directly from both iSCSI, FCoE
and Fibre Channel SAN. See details and hardware compatibility list on the
VMware site.
Virtual Network including Virtual NICs and Switches. Advanced
functionality such as IPv6, NIC teaming and virtual VLAN.
Support of 10Gb Ethernet network cards and network performance
optimization in the form of TCP Segment offload (TSO) and Jumbo Frames.
Advanced memory management, such as RAM over commitment, Memory
Compression, Page sharing and Memory ballooning.
Supports a large number of OS as guests, including Windows, Linux,
Solaris and Novell NetWare.
VMware VMsafe™ provides APIs that enables 3rd party security product to
gain visibility into the Virtual Machines hardware resources (such as
memory, CPU, disk and I/O systems) to eliminate malware.
Power Management using Intel SpeedStep® and AMD PowerNow!
Taking Advantage of the Advantages
VMDirectPath allows select virtual machines to directly access underlying
hardware devices. This enhances CPU efficiency for applications with
frequent access to I/O devices; however it will disable certain VMware
virtualization features.
For additional information on VMware ESX/ESXi 3.5, see: and
For additional information on VMware ESX/ESXi 4.1, see the following
documents:, and
Microsoft Hyper-V Server 2008 R2
In June of 2008, Microsoft released the first official version of a major new
virtualization engine, called Hyper-V (formerly referred to as “Viridian” or
“Windows Server Virtualization (WSV)”). Hyper-V 2.0 (part of Windows Server
2008 R2) was released to manufacturing (RTM) in July 22, 2009.
Following are some important facts about Hyper-V 2.0:
Hyper-V host requires the x64 edition of Windows Server 2008. However,
it is a true hypervisor and operates directly on the hardware.
Support for up to 64 logical CPUs (8-socket physical systems with up to 8
physical cores each).
Support for up to 384 running VM guests per host (up to 512 vCPUs).
Provides support for 32 or 64 bit guest OS across different server
platforms (Windows and Xen-enabled Linux distributions). See for a complete list of supported platforms.
Hot pluggable virtual storage (VHD) (add and remove).
Supports a large number of different storage technologies, such as: Direct
Attached Storage (DAS), Storage Area Networks (SAN) through iSCSI,
Fibre Channel & Serial Attached SCSI (SAS) as well as Network Attached
Storage (NAS).
Live Migration, which enables migration of active machines to new hosts
without any downtime. This also includes Processor Compatibility Mode
which allows the live migration of virtual machines to a different
generation of CPUs within the same processor family (i.e., “Intel Core 2 to
Intel Pentium 4” or “AMD Opteron to AMD Athlon”).
Support for host clustering technology for failover
Support for multiple VHD volumes sharing a single LUN - Clustered Shared
Volumes (CSV). This greatly simplifies migration between host servers.
Taking Advantage of the Advantages
Second-Level Address Translation (SLAT) takes advantage of AMD RVI and
Intel EPT technology to improve performance by providing an indirection
layer from the virtual machine memory access to the physical memory
Advanced power control of individual CPUs and cores (Core Parking).
Support for TCP/IP Offload Engines (TOEs) and Jumbo Frames.
Support for Virtual Desktop Infrastructure (VDI).
Ability to take “snapshots” of running machines so that the user can easily
revert to previously saved snapshots.
Can be managed through Windows Management Infrastructure (WMI)
and/or a published HyperCall API. This simplifies integration with 3rd party
management tools.
Seamless Citrix XenServer interoperability allows you to move a VM image
from a XenServer host to a Hyper-V host without any reconfiguration of
the virtual machine.
Hyper-V R2 has also been improved in a number of ways such as enhanced
performance and scalability optimization in a number of areas of the OS. This
includes improved scheduling on NUMA architectures, support for solid state
disks, various power management improvements, more efficient memory
algorithms, generic networking improvements, and improved file transfer
speeds on LAN
For more details see the product documentation, including the Windows Server
2008 R2 Reviewers Guide and Windows Server 2008 R2 Technical Overview on
It is also noteworthy that, in July 2006, Microsoft announced that they were
cooperating with XenSource to allow Xen-enabled guest operating systems,
including Linux, to run on Windows Server 2008 “Longhorn” and that this will
be supported by Microsoft.
For additional information on Hyper-V see, or
Taking Advantage of the Advantages
Citrix XenServer & Citrix Essentials
Citrix XenServer is based on the open source virtualization Xen® Hypervisor
and Citrix Essentials is an advanced virtualization management toolkit. As
mentioned above Microsoft and Citrix started a partnership on virtualization in
2006, this partnership has since then been further extended to so that Citrix
Essentials integrates with Hyper-V and XenServer will be supported by
Microsoft System Center. Below are few important facts about XenServer:
XenServer 5.6 itself is freely downloadable but, to obtain all the features
listed below you need to get the Platinum or Enterprise edition of Citrix
Based on a 64bits hypervisor which supports 32 and 64 bits operating
Support a large number of 32 & 64 bits Windows and Linux OS.
XenMotion allow migration of virtual machines between hosts for
maintenance or load balancing with zero downtime.
XenServer supports automated high availability that allows failed virtual
machines to restart on a secondary physical server.
Support a large number of different storage technologies, such as: Direct
Attached Storage (DAS), Storage Area Networks (SAN) through iSCSI,
Fibre Channel & Serial Attached SCSI (SAS) as well as Network Attached
Storage (NAS). XenServer also supports a wide range of host bus adapters
(HBA) technologies.
XenServer is compatible with Hyper-V in a way that workload can be
moved between the two platforms.
Additional information about XenServer can be found on and
Citrix Essentials is a suite of management and automation tools from Citrix
that supports XenServer and Microsoft Hyper-V and support management of
heterogeneous environments using both solutions. From a high level point of
view the suite covers five areas:
Automated Lab Management
Advanced Storage Integration (featuring Citrix Storage Link™)
Dynamic Provisioning
Workflow Orchestration
High Availability
Additional information about Citrix Essentials can be found on
Taking Advantage of the Advantages
Deciding on the Appropriate Virtualization Engine
In determining the best tool for your project and environment you need to
carefully consider what you are trying to accomplish, what type of functionality
is required and what the related total cost of ownership will be.
For any larger scenario you need to consider the following items:
Organization Requirements
Required functions and protocols
Virtual Disk Formats
Hypervisor-based Architecture
Hardware Virtualization Engines and Applications
Each of these areas is covered in some detail in the sections below.
Organizational Requirements
Organizational or tactical requirements can often be as important as technical
requirements and it is important to look at these and how they can affect the
success and cost of the project. For example:
Is a particular solution already in use in a part of your organization?
Is there a particular solution with which you and/or other members of your
team already have existing knowledge and experience?
Do any of your preferred partners have existing knowledge/experience
with one of the potential solutions?
What solutions have been tested or can easily be tested with the existing
hardware platform and your most critical applications?
Required functions and protocols
It is important to clearly identify what functions you require from your
virtualization engine because there is a big difference in the types of functions
that various vendors ship with their different offerings.
Some of the more commonly required functions include:
Support for Hot Migration, which allows you to move a virtualized
environment to another physical server easily, and without interruption.
Support for the hardware/infrastructure that you have or are planning to
use in your environment.
Support for SAN solution (Fibre Channel, FCoE and/or iSCSI based). It is
critical that the virtual images can reside on a SAN. If you are planning to
use diskless systems you also need to make sure that the virtual engine
can boot from the SAN.
Taking Advantage of the Advantages
Support for multiple storage repositories which allows you to minimize the
risk of storage contention.
Support for all applications that you are planning to virtualize. This
includes an acceptable level of support provided by the software vendor
when the application is implemented in this specific virtual environment.
Support for all operating systems that are required by your organization
(16/32/64 bits versions of Windows, UNIX and/or Linux).
Ability for the system to access, utilize and distribute all required
resources (including sufficient amount of RAM, CPU types, CPU count etc)
Management tool or support for a management tool that can monitor
performance and availability. These tools should, preferably, also integrate
with your existing Enterprise Management System.
Built in functions, APIs and interfaces to manage additional advanced
native and 3rd party tools in the areas of security, energy saving schemas,
high availability and fault tolerance.
Virtual Disk Formats
Virtual Disk formats allow you to easily move a virtual disk between physical
disks, however it is important to understand that there are different standards
available and that Microsoft and VMware are both using their own „standard‟.
Both Microsoft (VHD) and VMware (VMDK) have made their specifications for
Virtual Disks open and free to use.
VMware made the specification for its VMDK available in April 2006,
however, they reserve the right to revise or rewrite it.
Developers who are creating Virtual Disk Management applications are
encouraged to use the VMware Virtual Disk Development Kit which can
be found on
Microsoft made its “Virtual Hard Disk Image Format (VHD)” freely
available to the public in October 2006. (However, like VMware, they
kept the right to revise or rewrite it).
Additional details, as well as access to the standard, can be found on
It is also noteworthy that XenSource uses Microsoft‟s VHD format.
Note: Since these formats now are open, tools have been developed to
convert between the formats. This typically works well for data disks however
you need to be careful with system disks since different VM Engines emulate
the system in different ways.
Taking Advantage of the Advantages
Hypervisor-based Architecture
The hypervisor (sometimes also called the “Virtual Machine Monitor”) is the
virtualization software that allows multiple virtual machines to share a single
host server. Hypervisor are often classified into the following two categories:
Type I hypervisors both run on and communicate directly with the
hardware. Unless otherwise noted, all references to “hypervisors” later
in this document refer to Type 1 hypervisors.
Type II hypervisors run on top of a conventional operating system
operating system, such as Windows, Unix or Linux. Even though these
solutions may be good options for workstations, or for development
and testing purposes, Type I solutions are strongly recommended for
server/data center virtualization. For the purposes of this document,
Type II hypervisors are not classified as “true” hypervisors.
A hypervisor-based (Type I) architecture employs technology that
communicates more directly with the hardware without exchanging calls with
an intermediary operating system. This means that the virtualization software
requires fewer hardware resources (e.g., memory and storage) and also has a
smaller overall footprint.
Architectures with true Hypervisors makes the communication with
multiple virtual machines significantly more efficient.
Hypervisor-based solutions, to a larger degree, tend to take advantage
of specific hardware functions that support virtualization (available for
both Intel and AMD chips).
All major virtualization vendors either have or are planning to have a version
based on hypervisor technology.
VMware ESX and ESXi Server is based on hypervisor architecture
VMware Server and VMware Workstation both run on top of a
conventional operating system, and are, therefore, Type II
The open source project Xen (including XenSource Enterprise 3.x) has
been a hypervisor based solution from its start.
“Microsoft Virtual Server 2005 R2” runs as a service on top of the
guest OS (WinXP, Win2003) and is not a true hypervisor based
Microsoft Hyper-V includes a hypervisor-based Virtualization Engine.
Each Hyper-V hosts does require a root partition running Windows
Server 2008 that manages machine level functions. Child partitions
only have access to hardware through the root partition or the
Windows Server 2008 x64 was shipped with a beta version of Hyper-V
and an update to a final (RTM) version (released in June 2008) can be
downloaded from
Taking Advantage of the Advantages
Note: after this Hyper-V 2.0 (part of Windows Server 2008 R2) was
released to manufacturing (RTM) in July 22, 2009
Hardware Virtualization Engines and Applications
Virtualization often pushes the limits of resource consumption and the level of
parallelism significantly further than most normal OS application combinations
and these technologies are not yet highly standardized. Therefore, we can
expect that the various virtualization engines will be optimized to handle the
potential scenarios in different ways.
Different guest OS and application combinations - or even differences in how
these are used - can stress different functions that a particular virtualization
engine might be able to take advantage of and, therefore, make this scenario
run efficiently on this specific engine. Another scenario might stress other
functions that a different engine might be able to handle more efficiently.
The specific combination of hardware, virtualization engine and application can
often affect scalability and, just because a solution scales in a certain way on
Server A, does not guarantee that it will scale the same way on Server B.
Identifying Requirements for Management Tools
As previously noted, the ability to manage your environment becomes even
more critical when virtualization is employed. The individual Hypervisor
vendors are providing more and more management tools and functions;
however, just like with classic physical environments, it is important to have a
solution that can holistically manage/monitor your environment - across all
technologies and with your company‟s business services in focus. The tool
needs to be able to track services and the components and relationship that
each service depends on.
The components of a service should be able to be efficiently and transparently
managed regardless of whether they are implemented using specialized
hardware, physical server(s), virtual server(s) or if they are implemented
somewhere in a cloud. To provide a complete solution you typically need
multiple, well integrated views into the environment that assist you by
High level views that provide accurate overall information about the status
of the business services in your environment. This has to scale so that can
efficiently support your complete infrastructure.
Virtual “magnifying glass” that allows you to zoom in on and manage
different aspects of the service and its related components and
Methods to both manually and automatically turn on and/or tune how the
systems (hosts, guest systems and/or business processes), are monitored.
This allows you or an automated management tool to enable detailed
monitoring that you normally don‟t want to have active.
Taking Advantage of the Advantages
Ability to automatically and manually take actions and manipulate the
existing environment. This includes: classic management of OS and
applications or dynamic reconfiguring of the servers (blade servers, virtual
machines and/or instances in the cloud) along with control of available
resources or location of the logical server.
Tools that simplify management of the complete lifecycle of your servers,
service and applications. Amongst others this includes configuration and
change management of the flexible environment that virtualization and
cloud computing allow.
The individual vendors often provide tools that are very good at managing
their own systems in a deep and detailed way. However, it‟s important to
ensure that your toolbox also includes a broader support that enables you to
to see the complete business processes. In order to understand that a
problem with component X affects the services Y and Z, the solution also need
to transparently support both your current and future environments, including
physical servers and different Hypervisor technologies as well as servers,
applications and/or services implemented in the cloud.
Some of the more common management issues directly related to
virtualization and virtualized environments include the need to:
Simplify creation of new virtual servers and migration of existing systems
into a virtualized environment (for example, VMware Converter or P2V in
Microsoft Virtual Machine Manager).
Lifecycle management and workflow orchestration tools that help you
control development of new guest systems, the process of patching,
configuring and testing existing systems, provisioning new or additional
systems etc.
Predict and track virtual environments that compete with each other for
server and storage resources. This includes real time access to the
physical host on which a specific application or guest system is running,
and, from there, analysis of the performance data from the host systems
and all of its guest systems.
Predict and track performance utilization in real time as well as noting
historical trends. This has to be done for individual environments, the host
system as well as the SAN system, and preferably, in a way that allows
correlation between these components.
Manage “VM sprawl” By tracking where, why and how virtual applications
are running and what resources they are using.
Provide tools for backup and disaster recovery of the virtual environment.
Provide tools and procedures to manage security.
Taking Advantage of the Advantages
Intelligently utilize Active Management Assistance based on polices,
measured performance and events. This added flexibility can be one of
the great advantages of virtualization. A few examples are:
Dynamically changing resources available to virtual machines
Moving virtual machines between different host servers as needed.
Dynamically provisioning and configuring servers on demand or when
triggered by policies.
If these capabilities aren‟t appropriately managed, these otherwise great
features can present some very significant risks.
Many of these and other similar tasks also need to be managed in nonvirtualized environments, but it is especially important to understand the
specific challenges that are presented in a virtualized or cloud based
If your management tool can handle most of these issues and includes a
simple method to do hot migration (VMOTION, Live Migration or similar) you
will have a good environment in which to do efficient load balancing between
the servers. Although some management tasks can be automated, it is
important to be able to predict, whenever possible, the amount of resources
that are required before they are actually required. To accomplish this you will
need a strong understanding of the business systems and occasional human
Note: Make sure the tools you are using for your virtualized environment can
cooperate and integrate with the existing enterprise management software.
Identifying Change Control Methods
Virtualization‟s ability to quickly define and deploy new logical servers can be
useful in many situations – particularly when you need to access a large
number of configurations for a limited time. It can also be useful in situations
where you might need to deploy additional servers for scalability reasons.
Note: Virtualization makes it easy to quickly create a large number of different
images; however, unless there is a compelling reason to do so, you should
minimize the number of variations of the base systems. This will greatly
simplify the process of keeping these images up-to-date and secured.
Taking Advantage of the Advantages
Regardless of the reasons for building an image directory, it is important to
introduce the appropriate change controls in order to best manage those
images. Although there are many approaches to take, you should plan to
incorporate mechanisms for the following states:
Phase/library where the images are developed. This could include
completely new images or updates to existing images.
When the image is ready for QA it is transferred to Test / Quality
Test / Quality Assurance
Phase/library where the newly updated/developed images are tested and
verified. If further modification is needed they are transferred back to
Development; otherwise they are subject to an approval process and, if
approved, are transferred to the next stage - Available Images.
Available Images
Library where the Gold Master images are stored when they are approved
for usage. In a VMware environment these Gold Master Images are
typically implemented as VMware Templates.
When the image is to be deployed as a server, a clone or an image based
on this template should be transferred to Configuration. If any changes
need to be done to an existing image, a copy should be made and
transferred back to Development. Finally, if an image is replaced by an
updated version or if, for any other reason, it should not be used, it should
be transferred to Archive.
This is purely a storage area for the Master images of potential servers.
These images should never be active or modified.
Library for Gold Master images that have been marked as “End of Life”
Phase where Gold Master images are configured before they are deployed
for production.
This configuration step might be as simple as renaming the server and
making sure it has the latest approved maintenance or it may include an
automated step to apply additional software or prepare it to connect to
existing external data. The use of automation for this task can help ensure
a well defined baseline, and be sure that the automation also documents
the exact state of the configured server. Once the server is configured it is
moved into Production.
Taking Advantage of the Advantages
Phase where the images are deployed. This is normally the last stage for
any specific image. If you decide to upgrade an image it should be based
on the Gold Image located in the Available Images phase.
The only updates that should be done to images in the Production phase
are those that are the result of normal production. This typically includes
minor OS and application patches that don‟t require a reboot; however
these should first be applied and verified on the gold master image.
If additional change control is required you might consider implementing
staging areas in between one or more of the stages.
Identifying Data Storage Resources and Limitations
As previously noted, one of the more important areas to analyze during a
virtualization project is how to manage the data storage problem. When you
introduce a project like this it is critical that you have a data storage
infrastructure to support it. In many ways, this can be considered a separate
project, however, it is a requirement for any successful virtualization project
and it is likely that it will both save money and, more importantly, make it
easier to secure your business critical data.
A few challenges to look into in this area include:
Multiple I/O intensive applications using the same physical disk
When multiple data-streams try to communicate to the same physical disk
at the same time you are likely to run into severe delays. This is a wellknown problem within specific applications (such as databases), but you
will most definitely run into this problem if multiple virtual machines share
the same physical disk.
This risk can be managed by making sure each virtual machine (or better
yet, each expected concurrent major data stream) has its own physical
disk – preferably by implementing a SAN solution (based on fibre channel,
FCoE or iSCSI) where the disks are correctly allocated to the various
virtual machines. Implementing a SAN solution with many smaller disks is
preferable in these situations since multiple disks normally provide faster
overall performance due to the larger number of heads that can do
simultaneous read/write operations.
Make disk space accessible from multiple host systems
To simplify migration of virtual machines between different physical
machines it is important that the data is stored in such a way that it is
accessible in the same way from each one of the host systems.
This can be easily managed by moving the data storage from the host
server to a SAN solution.
Taking Advantage of the Advantages
Allocate enough storage for each virtual machine
Like most other resources it is important to have enough data storage
available for the application – and to account for both maintenance as well
as expected growth.
On a traditional disk system this has been managed by allocating the
server significantly more space than it really requires and, thereby,
wasting huge amounts of disk space. With an external disk system it is
easier to manage this by allocating additional space for a specific virtual
machine when required. This can be managed manually, through the
storage manager on a SAN solution, however, in some situations, it might
also be worthwhile to look into a more formalized system for thin
provisioning of storage assets.
True thin provisioning is a very interesting and efficient technology when
you have a large number of users who might need access to a lot of
storage that they often aren‟t going to use. Since you also have to give up
control, to some degree, over who has access to a certain disk you also
give up what may have earlier been predictable performance. Therefore,
this needs to be carefully analyzed when I/O intensive applications are
using the disk. With that in mind, this type of technology can be very
efficient since read/write operations from one application might be spread
out over multiple disks and, in this way, able to perform parallel I/O
It is worth noting that sites, like mySpace (, are
successfully using thin provisioning to allow a large number of users to
have access to a large amount of disk - in a controlled manner.
Defining Pertinent Maintenance Tasks
One of the major advantages with virtualization is how it can, with the
appropriate planning, minimize the amount of downtime required for hardware
and software maintenance. Another advantage is that it can greatly simplify
any maintenance tasks since they can be performed on an offline system while
the production systems are running on another host.
To truly minimize the downtime associated with maintenance, it is important
to have a solution that provides “hot migration”, such as VMware VMOTION,
Microsoft Live Migration or Citrix XenMotion. Hot migration allows you to
move virtual machines between hosts while they are still active. Using this
functionality, you can move all applications to a secondary system and then,
without any interruption or stress, upgrade and test on the now offline original
hardware. Once the upgrade is performed and tested, the application can be
migrated back to the original system and you can move on to the next system
that needs to be upgraded. All of this can be done without any interruption of
the production system.
Taking Advantage of the Advantages
There are also significant advantages with virtualized environments for
software maintenance tasks. Any updates to the production environment
should go through a change management process to ensure that this update
works as expected and to minimize the risk of any interruption of production.
In a traditional environment, this can be a complex task to tackle in a robust
and secure way. In a virtualized environment with a change management
infrastructure implemented, however, the degree of complexity drops
significantly. Although there may still be a brief interruption in production
while the production system is switched over to the new and updated image,
since this has been carefully tested, the risks are minimized. In addition, if
something does go wrong you can switch back to the original system relatively
Minor updates that do not interrupt production processing (e.g., security
patches that do not require a reboot) can be applied directly to the production
system once they have been tested and applied to the corresponding gold
image. This will keep the gold image synchronized with the production copy
and, at the same time, minimize disruption of the production system.
However, even in this situation, it is highly recommended that you first take a
snapshot\backup so that you can quickly revert to the original state should a
problem occur.
Identifying the Advantages and Disadvantages of Using Virtual Appliances
One of the great advantages with this technology is that, since the virtualized
image should typically only be used for a very specialized application, it can be
tuned to specifically support that application in the best possible way. This is
called a Virtual Appliance – and, in the process, the OS and the environment
often might be crippled so that it only supports this specific task.
As with most other solutions there are both advantages and disadvantages
with this approach. A few advantages are:
Tuning or disabling functions to optimize them for the specific task can
enable the OS to run more efficiently and, therefore, lead to a faster
application that uses fewer resources.
Disabling certain features that the application does not require can result
in a significantly more secure system since it minimizes the potential
security holes.
Support and maintenance may be simplified since:
Smaller, less complicated modules typically simplifies troubleshooting
and maintenance.
Each module has fewer components that might interfere with each
other (e.g., incompatible DLLs or Java versions).
Taking Advantage of the Advantages
If the virtual appliances have a good, well thought out design it will greatly
simplify the work required to accommodate any future growth.
The basis for this is that, since you know exactly what each module/virtual
machine is responsible for, a good architecture will allow you to scale out
simply by plugging in new modules.
On the other hand, disadvantages are:
Unless the developer/administrator of the virtual appliance completely
understands the requirements, it is easy to cripple the application‟s
functionality by disabling a service that it requires for certain functions.
Although Virtual Appliances may simplify support and maintenance, with a
highly customized environment it can also be very hard to get support
from the application and/or OS provider. Being asked to first reproduce
the problem on a standard OS is not unusual.
Breaking up applications into really small appliances might add a
significant cost since common components, such as operating systems and
security products, typically require a license for each appliance.
If the operating system is highly customized it might be complicated to
maintain and support since critical operating system patches might need
careful testing before they are deployed.
Taking a Look at Virtual Desktops
Although this document focuses on server virtualization it is worth mentioning
the increasing push for virtual desktop infrastructure (VDI) as well.
It is a well known fact that most user desktops have extremely low utilization
and, in fact, may not be used at all during many hours. However, since they
do require quite a few resources when they are used, they still need to have
access to those resources. At first glance, this sounds like a perfect scenario
for virtualization (and in some situations it might be) but there are a number
of challenges to consider:
Are the resources commonly used at approximately the same time?
As with server consolidation you need to analyze the resource usage
patterns to determine if users commonly use their desktops at
approximately the same time (for example, at the beginning and/or end of
day or around standard lunch hours)
I/O contention
As with server utilization, I/O contention is a very real concern in VDI
environments. In a typical scenario each VDI client uses much fewer
resources than a typical server, however this will encourage people to
have a large amount of desktop instances hosted on each server.
To provide acceptable performance it is important to calculate and plan for
the peak I/O requirements for these virtual desktops.
Taking Advantage of the Advantages
What is the network connectivity between the planned clients and the
A solution like this obviously requires good low latency in the network
connectivity between the clients and the datacenter. This is typically not a
problem in a campus environment; however it might be a significant issue
in a more distributed environment.
It is worth noting that this is not always a disadvantage. In fact, under
certain circumstances (such as with client-server based applications) it can
even be an advantage since the computing power is closer to the rest of
the server infrastructure.
This is new technology
Although similar solutions have been around for quite a while, they have
not been widely accepted as a desktop standard. Since the concept is
currently receiving new attention, we can probably expect to see
significant enhancements in this area in the coming years. This is
obviously an advantage, but it is also a risk since your investments might
be leapfrogged by new technology.
Again, this document is not intended to dive into the depths of VDI, but it is
important to be aware of it and to realize that many (but not all) of the
advantages/disadvantages with server consolidation are also valid for desktop
Determining Costs, as well as Return on Investment
All analysts and major trade magazines are in agreement that the number of
x86 workloads running on virtualized environments will accelerate rapidly over
the next few years. There is a multitude of business drivers for this, everything
from lowering cost, to providing better support for the business. If the main
driver is to save money, this can be accomplished by lowering cost of
hardware, saving space in the datacenter and/or limiting the energy costs,
however there are a lot of obstacles in the way and this gain is far from
A virtualization project can be an expensive exercise unless the business has
proper control over the additional costs that may be incurred for additional
licenses, newer, more advanced server environments, and infrastructure
changes needed to support this new environment and make it coexist with the
existing environment. In addition, it is very important to have a clear and well
thought out strategy on how to manage this new technology.
Taking Advantage of the Advantages
Following are some of the key factors to consider when analyzing the total cost
for a virtualization project:
New high end servers to support virtualization
In most situations the virtualized environment needs new and more costly
hardware to handle multiple concurrent virtual servers. Such new servers
need sufficient NICs with sufficient bandwidth, additional memory, and
Storage solution
Unless the company has already invested in a storage solution that
supports this environment (such as a high performance fibre channel,
FCoE or iSCSI based SAN solution) this might be a significant additional
Adequate infrastructure
You may need to review the datacenter infrastructure to determine if it
contains adequate backbone bandwidth (especially where VMotion is part
of the solution or where one of the goals of virtualization is enhanced fault
tolerance or disaster recovery) and adequate power/cooling for the dense
rack(s) used for virtualization servers.
Education and/or new hire
To build, manage and support the virtualized environment in an efficient
and secure way requires specialized knowledge that is currently unusual
and in high demand.
Redeploying existing working infrastructure into Virtual Machines
There is always the risk that you may be fixing something that does not
need to be fixed and, if at all possible, this should be avoided, especially in
the beginning of any virtualization project.
Based on earlier discussions (see “Areas Where Virtualization Provides
Quick Value” on page 5) it is generally a good idea to start with a situation
where you need to house a library of servers (for example Development,
QA, Support and/or Demo scenarios).
Need for new management tools
Good management tools are more important than ever when it comes to
managing virtualized environments, since you need to be able to track
(and, when possible, predict) resource consumption by individual virtual
machines. This knowledge will allow you to redirect resources and move
virtual machines to underutilized hosts before you experience performance
problems. To provide a management solution with a holistic view of your
environment it is important to ensure that the new tools are or can be
integrated with your existing enterprise management solution.
Taking Advantage of the Advantages
License cost for virtualized applications
Depending on the application and how virtualization is used, the licensing
costs for OS and third party applications might be considerable.
It is important to make a careful analysis, based on the applications that
should be virtualized. A few things to consider are:
In a virtualized environment it is common to have many smaller
servers (Virtual Appliances), each one of these likely needing an
operating system, as well as a number of common applications such as
antivirus, backup clients, back office connectivity etc…)
Some software licenses are bound by how many physical CPUs the
hosting server has and not how many vCPU are assigned to the virtual
machine. This often makes the licensing more expensive since the host
in a virtualized environment likely is to be a larger server.
Some software is licensed to run on a specific physical server. This
might reduce the advantages with the virtualization since you either
need to invest in a license for each potential host or disable the VM
load balancing functionality.
License cost for virtualization engine and management tools
Even though the Hypervisor itself is often relatively cheap (or free) the
total cost of licenses for virtualization software is typically significant and
should be taken into account when you are evaluating the tools. When
you investigate prices make sure that the solution you are looking at
includes all the tools and technologies you need. The price might differ
depending on a large number of factors; a few of the more important are
listed below.
Support for SAN (iSCSI, FCoE or Fibre Channel based)
Hot migration support (VMOTION, Live Migration or similar)
Size of Host server (commonly measured by number of CPUs or
Included Upgrade and Support agreement
Estimating Hardware Requirements
Estimating Hardware Requirements
Once you have determined that virtualization is the right approach for your
environment and business requirements, the next step is to determine the
amount of hardware that will be needed to support this effort. For the most
part, hardware sizing calculations for a virtual environment are similar to those
used in planning for a physical environment. In fact, it is recommended that
you first calculate sizing as though the installation was being done on physical
hardware. Since those calculations will be application-specific, they won‟t be
covered in detail in this document.
In terms of the differences, there is both good news and bad news. The good
news is:
The virtual environment allows much more flexibility and, within certain
limits, it is much easier to move resources between various VMs hosted on
the same host.
If you need additional resources and have built a good infrastructure it is
easy to „plug in‟ a new host server (or new storage resources) and transfer
some of the load to this server. With the right infrastructure this can even
be completely automated.
On the other hand, the bad news is:
The Virtualization environment introduces an overhead on the available
Since the various VMs running on the same host share many resources
they might significantly affect each other‟s performance. This is especially
true if any of the resources are overutilized. I your solutions require
predictable performance you need to ensure that their required resources
are always available and waiting for them.
This is further complicated if VMs are dynamically are moved between
However, in larger environment, where virtualization is gradually implemented
in a series of controlled steps, the benefits of virtualization‟s flexibility clearly
outweigh the potential drawbacks of this type of added complexity. For a more
detailed discussion of advantages/disadvantages see “Why Use Virtualization”
on page 3.
This section examines a number of common questions and concerns regarding
hardware planning for virtualization. Much of this information – and more – is
presented in checklist format in “Appendix B: Virtualization Checklist”.
Note: This information is also useful for tuning and optimizing existing
virtualized environments. For more details, see Chapter 3.
Estimating Hardware Requirements
Initial Server/Application Sizing
The first step is to take a closer look at the applications that will be virtualized
to establish both a rough estimation of the required hardware as well as an
initial analysis of the performance profile.
Initial Sizing Estimations for Individual Virtual Machines
Start by reviewing existing best practices and sizing guidelines for the
application that will be virtualized to create a classic estimate of hardware
requirements. This should initially be done in the same way as if it was to be
implemented directly on physical servers, with the exception that you should
ignore minimum requirement imposed by available hardware. In other words,
if the basic sizing calculations suggest one CPU, this suggestion should be used
even if the minimal recommended physical server has a QuadCore CPU).
To simplify future steps it is important to gather the most critical information
in a format that makes it easy to analyze multiple applications and their
needs, side-by-side. For example:
Storage Network Comments
This information, when combined with the following more specific guidelines
and load estimations, can help you determine which virtual machines can be
co-located on the same host and/or in the same resource pool and which
should be divided into multiple virtual machines . For example, a database is
typically installed on its own virtual machine.
The sizing exercise is typically an iterative process and based on later findings
it is likely that the information that you gathered in this step will be updated
frequently during the planning phase. It can also be used as the basis for
future updates throughout the lifetime of the environment.
Estimating Hardware Requirements
Expected Peak Load (CPU/RAM/NIC/Storage)
In order to effectively allocate virtual machines to the appropriate host servers
it is critical to understand their performance profile. If you are moving an
existing application into a virtual environment it is highly recommended that
you carefully analyze any prior performance reports to understand when and
how this application uses resources.
If you are analyzing a new application it is still important to do a best effort
analysis of the expected performance profile based on existing best practices,
experiences with similar products and knowledge on how this product is
expected to be used.
The resources that are especially important to look at are: CPU, memory
(RAM), network and storage. With network and storage it‟s important to
consider both the number of I/O transaction, as well as the total amount of
space/bandwidth that is needed. To ensure that the numbers you are using
are meaningful it is important to measure these values over the course of a
month or more. This will allow you to identify periods of peak resource
The intent is to establish an estimate of how many resources the application
will need at different times in order to simplify scheduling of resources.
Depending on the application, the performance profile could be time-based
and/or event based and multiple virtual machines can also be closely
connected and affect each other.
Consider the following examples:
Restart of the environment.
This type of event can typically be controlled through process and
automation, but, if not done correctly, it is likely to cause a significant
peak in resource consumption.
Note: This is likely to cause a significant performance hit when just one
server is restarted. If multiple servers are restarted at the same time it is
critical that this is carefully planned.
Expected and reoccurring events
These are different types of processes that are expected to be triggered at
the same moment in time. These do not necessarily need to be connected
to each other in any other way but that they are likely to be triggered at
the same time. For example:
Multiple users logging into various systems and checking the status of
various application/projects in the morning.
Multiple users running reports, printing out documents, verifying
status of their projects, checking in and saving files, as well as logging
out from various systems before going home in the evening.
Estimating Hardware Requirements
Reports, Backup, and other batch updates are executed during
otherwise off-peak hours.
Complex reports are generated, printed and emailed during end of
month, quarter or year processing.
Events triggering multiple functions at the same time
A prime example of this is the events that occur in a management
infrastructure in response to an exception. Such as:
Network & System Fault Management peaks due to incoming events.
Automatic Root cause analysis and automation tools peaks since they
are trying to analyze and correct the cause of the problem.
Service Desk & Knowledge Tools peak while users try to find out if it‟s
a known problem and, if not, open issues.
Service Desk Analysts use a number of tools to troubleshoot the issue.
For example High Level Portals, CMDB, Asset Management, Network
and Systems Fault Management, etc…
Since virtual machines in the same host and/or resource pool affect each other
it is important to identify and plan for when multiple machines might
experience simultaneous peak demands for resources – particularly the same
Moving to a Virtual Environment
Although most modern enterprise class virtualization hosts include intelligent
methods for sharing over-allocated resources among guests, there are a
number of physical limitations to take into consideration. In situations where
resources are known bottlenecks, but where predictable response times are
required, it is a good idea to dedicate hardware for individual virtual machines
– or, at least, to make sure that there are always resources available.
To best take advantage of the hardware, it is often possible to over allocate
resources so that various guest OSs share a limited set of resources. In these
situations the host system is responsible for scheduling currently available
resources between the logical systems.
As noted previously, it is best to proceed cautiously if any of the virtual
machines are resource intensive and you require predictable response times.
However, when there are resources available, the hosts/hypervisors are
typically fairly good at efficiently sharing the over allocated resources.
Furthermore, it is critical to ensure that no single virtual machine can have
dedicated access to all of a host system‟s resources of a certain type as this
would block anyone else, including the host kernel, from accessing those
resources. For example, never allow a virtual machine to have 4 vCPU on a 4
CPU host or have private access to 4 Logical Network cards on a host system
with 4 physical NICs.
Estimating Hardware Requirements
In general, if you have a large host server with a significant amount of
available resources and a guest system that uses these resources at different
points of time, it is likely that the hardware will be able to efficiently host a
large number of VMs. If there is a risk that all the VMs will peak at the same
time, however, this can be a risky strategy.
Following are some considerations to keep in mind for various resource types.
CPU Concerns
It is more and more common to have servers with a massive amount of
available CPUs, particularly with modern hardware where Quad-, and Hexacore CPUs (and beyond) are becoming standard.
One question that is frequently asked is whether there is a difference in
performance between systems with, for example, 2 Quad-Cores CPU compared
to a system with 4 Dual-cores. The answer is “yes” – in the same way as
there are differences between all CPUs with different architectures this will also
introduce differences. In this case, the difference depends mostly on access to
the other resources, such as other cores, cache and external resources such as
memory. However, since these types of sizing estimates by their nature are
rough estimates, these differences can be ignored and a Hexa-core CPU
considered roughly comparable to 6 single-core CPUs. For this reason,
references to “CPU” going forward will refer to a single core within a CPU.
Hyper-threaded CPUs do add value since they have two instruction pipelines,
however, since there is only one execution pipeline and, therefore, only one
instruction that can be executed at any given point, you should only count this
as one CPU for the purposes of establishing rough sizing calculations.
Fast CPUs are obviously good, but you cannot focus too much on the CPU
frequency rating. Since different generations of CPUs, or CPUs from different
vendors are often able to perform different tasks during one clock cycle, CPU
frequency can be a very misleading performance indicator. While it is
important to have fast CPUs it is also important to ensure that the CPU has
large L2 and/or L3 processor caches. In fact, in a virtualized environment a
large cache is often more important than the CPU frequency. In addition
remember that modern CPUs often have features that allow them to better
utilize each clock cycle. In an environment with different types of CPUs,
however, these features are often disabled to allow hot migration between
different CPUs.
Aside from the type of CPU in use, it is equally important to ensure that it is
connected to a high performance server class motherboard. The performance
of the bus that connects the CPUs with memory, other CPUs on the same
motherboard and other peripheral component is critical to provide system with
high performance.
Estimating Hardware Requirements
In a virtual environment, the CPU is a resource that is almost always shared
between virtual machines. The VMkernel is responsible for scheduling the
available CPUs between the active virtual machines so that each VM has
exclusive access to a CPU for a short time before offering it back to the
scheduler. If a VM requests a CPU and they are all busy serving other VMs,
this VM will have to wait until one is released. For this reason, it is critical to
ensure that there is a sufficient amount of CPUs available in the host system.
In determining the number of required CPUs (cores) for a host server there
are a few important things to consider:
The host server always adds an overhead to the CPU usage. This
overhead, which is likely to be between 6-20% (commonly less than
10%), must be taken into consideration during the sizing.
In extreme cases where most virtual machines located on the same host
are likely to peak at the same time, you might need to have as many
physical CPUs available as the number of vCPU that are allocated to the
virtual machines located on this host.
If you, with certainty, can expect the guest OS to use resources at
different times of the day you can use this information to co-locate them
on an otherwise oversubscribed system.
Low end virtual machines, such as file and print servers, can often
massively oversubscribe to available resources, however you should
exercise caution when tuning these machines and carefully monitor the
system under expected peak load.
Most virtualization platforms support virtual machines with multiple vCPU
(SMP), however it is critical to realize that this often causes a significant
overhead due to the additional need for organized scheduling.
For more details, see “Virtual Machines with Multiple vCPUs (SMP)” on
page 55.
Fast CPUs with large L2 and L3 cache can often be used efficiently to
minimize the need for multiple CPUs. Keep in mind that comparing clock
frequencies between different CPU families can be misleading.
When multiple Virtual Servers share CPUs another concern is that the different
guest systems will affect the CPU cache and cause a worse cache hit ratio than
what would be expected in a physical environment. As a result, the
performance can be expected to become worse when the number of guest
OS‟s per host system and CPU increases. Advanced hypervisors are aware of
this problem and their scheduling algorithms are trying to combat the effect of
this in various ways. This can be partially addressed by using CPUs with larger
CPU cache.
Estimating Hardware Requirements
BIOS Configuration
Hardware vendors are adding more and more functions to support the efficient
use of virtualization. Some of these functions are always enabled, however
many are also configurable in the host system‟s BIOS. Commonly controlled
functions include direct Virtualization functions such as AMD-V / Intel-VT and
AMD Rapid Virtualization Indexing (RVI) / Intel Extended Page Tables (EPT),
as well as generic functions for cache and timers.
Typically, it is recommended that you enable all virtualization specific functions
that are supported by your hypervisor (such as AMD-V / Intel-VT and AMD-RVI
/ Intel-EPT) and, in some cases, these may be required. In addition, unless
the documentation provided with your hypervisor or virtualization guidelines
for your specific applications recommends otherwise, you should also enable
functions such as Hyperthreading and DCA (Direct Cache Access).
It may also be beneficial to enable HPET (High Precision Event Time).
Depending on hypervisor and implementation of HPET, however, this can
sometimes cause time drifts in virtual machines. If the HPET is significantly
misreporting its frequency, you must disable it.
Finally, it is also recommended that you disable any power saving functions as
well as any unneeded devices, such as serial and USB ports.
NOTE: Detailed guidelines for BIOS configurations depend on both the actual
hardware in use, the Hypervisor that are being used and to a lesser degree
what OS and types of applications that are being virtualized. It is highly
recommended to find solution specific recommendation for your environment.
Memory (RAM) Concerns
Even though some modern virtualization hosts have a very intelligent memory
management system, it might be unwise to extensively over-allocate memory
if your applications are memory constrained.
A few important things to consider when it comes to memory utilization in a
virtualized environment are:
The virtualization always adds an overhead, both for the host system itself
as well as for each one of the virtual machines.
For VMware this is:
272 - 800 Mb for the Service Console
Note: Service Console is not present in an ESXi environment.
100-200 Mb for VMkernel (estimate)
Depending on the required drivers.
Estimating Hardware Requirements
113 – 10328 Mb for each virtual machine
The actual requirement depends on factors such as OS, number of
vCPU and allocated RAM. A guest system with up to 2 vCPU and 4 GB
of RAM consumes 113 - 243 MB as overhead. See the vSphere
Resource Management Guide for additional details.
For Microsoft Hyper-V this is:
512 MB or more for the root partition
For each virtual machine you should assign 32 MB memory for
overhead for the first GB of virtual RAM and another 8 MB for each
additional GB.
Note: Since Hyper-V first allocates memory to the child partition, it is
critical that you have additional memory available for the root
partition. If you over-allocate memory the root partition will slow down
all I/O and other operations performed by the root partition.
uses a different and more expensive technique of memory mapping
it has more than 896 MB of physical memory available. Therefore,
possible, try to limit the memory to a maximum of 896 MB when
Linux as the guest operating system.
Some virtual engines are able to recognize if an identical page is already
loaded in memory. Since this also applies between VMs it allows virtual
machines with a similar profile (for example same OS) to share static
memory pages.
Through paravirtualization (drivers in the guest system that allow it to
communicate with the host) some virtualization hosts can also borrow
already allocated RAM from one virtual machine and re-allocate it to
another virtual machine. An example of this is called “ballooning” within
A significant risk with heavily oversubscribed memory is that it can cause
double paging - where the host server swaps out memory to disk that has
already been swapped out inside the virtual machine.
This will significantly affect the performance of the system when this
memory is once again addressed.
These points lead us to conclude that memory (RAM) can often be
oversubscribed. However, the degree to which this is possible depends highly
on the virtualization engines that are in use as well as the profiles of the guest
systems. Therefore, memory allocation should be approached with great
caution. For additional details on memory management see the following:
Memory Resource Management in VMware ESX Server
Performance Best Practices for VMware vSphere 4.0
Estimating Hardware Requirements
vSphere Resource Management Guide
“Memory Performance Best Practices” in Performance Tuning Best
Practices for ESX Server 3.
Performance Tuning Guidelines for Windows Server 2008 R2
Memory profiles can often be further tuned when you have access to the
actual system and its performance statistics during simulated or real peak
load. Details on how this can be done for Windows guests can be found in the
section “Correct Memory Sizing for Child Partitions” in Performance Tuning
Guidelines for Windows Server 2008 R2.
Network Bandwidth, I/O Concerns
NICs are often shared between virtual machines and, from a fault tolerance
and performance point of view, this can provide an advantage since the VMs
have access to a pool of teamed NICs. If a guaranteed response time is
required, however, you should consider allocating dedicated NICs to your
critical and network intensive applications.
Following are some important considerations regarding Network infrastructure
and NICs:
For efficient sharing of network resources it is recommended to use
multiple, server class rated NICs (typically multi port NICs) with good
Using multiple NICs can also provide another layer of fault tolerance. If
one of the teamed NICs, or the related Switch port, go down it does not
necessarily block any of the VMs from accessing the network.
Therefore, it is a good idea to have at least two physical cards. In other
words, two dual port cards might be preferable to one single Quad Port
The network interface cards/ports can typically be significantly
oversubscribed in the sense that multiple virtual machines can share a
smaller set of NICs.
It is critical to ensure that the sum of the required/expected network I/O
performance is available for all virtual machines at any given time. To get
a complete picture you need to look at both the amount of available
bandwidth as well as the number of transactions that can be handled per
Each pool of required NICs should also include an extra NIC for the
purposes of redundancy.
Estimating Hardware Requirements
Having access to multiple (often teamed) NICs also allows the Host to
schedule peak load efficiently over multiple NICs and, therefore, give
individual VMs better performance than they would have in a typical
physical environment.
Unless management traffic and hot migration events are infrequent, it is
considered best practice to have dedicated NICs for the iSCSI traffic, the
Service Console, and hot migration tools, such as VMOTION or Live
To minimize the CPU overhead in the host system it is recommended to
verify what offload mechanisms are supported by your virtualization
engine and network cards.
Typically, stateless features such as Large Send Offload (LSO) and,
Checksum Offload (CSO) and VLAN tagging (IEEE802.IQ), can be
supported by virtualization engines, while stateful features, such as TCP
Offload Engine (TOE) and Intel I/O Acceleration Technology (I/OAT), are
not typically supported in virtualized environments.
For more information see:
Performance Tuning Guidelines for Windows Server 2008 R2
What is a TOE NIC and does ESX support any TOE NICs?
Storage Concerns
Disk I/O is a common bottleneck and it is highly recommended that you have
dedicated physical high performance disks (preferably through SAN, based on
FCoE, iSCSI or fibre channel infrastructure).
Certain technologies for „thin provisioning of data storage assets‟ can
efficiently spread the load over multiple physical discs; however, this needs to
be carefully analyzed before use with business critical applications.
Following are several important arguments for using a SAN system:
Additional flexibility for the storage administrator enables easier allocation
of disk-space when it actually is needed.
This is, of course, much more efficient than a traditional model where all
disks that might be needed in a foreseeable future are allocated up-front.
Separating the disk system from the physical server allows the VMs to
quickly move between physical host servers. This can be used both for
dynamic load balancing as well as high availability solutions.
A high end SAN system is likely to have an advanced, large and quick
cache system that can significantly enhance the disk I/O.
Estimating Hardware Requirements
A common problem in smaller/simpler server configurations is the lack of I/O
performance to the disk when multiple I/O intensive virtual machines are
trying to access the same or a few disks at the same moment in time.
It is critical that each disk intensive virtual machine have private access to
at least one disk/Logical Unit Number (LUN).
When using a high performance disk systems and applications with limited
requirements on disk I/O you can often technically share LUNs between a
few VMs. In VMware ESX, this is done with one shared VMFS per LUN.
However, when doing this it is critical to carefully monitor the performance
since poor disk I/O quickly can cause serious performance issues for the
complete system.
Applications that have extremely high requirements for good disk I/O often
recommend multiple LUNs to provide optimal performance. This does not
change in a virtual environment and, to guarantee the performance, it‟s
important that the logical disks actually end up on separate and private
A typical example of this is high end MS-SQL installations, where a
common recommendation is to have separated private LUNs for:
Operating System
Application (can often be co-located with the OS)
MS SQL data files
Transaction Logs
Temp Database
For more detailed information about the requirement consult the best
practice guide for your specific disk intensive application.
Finally, nearly all operating systems use page files on disk to complement the
available memory (RAM). On a slow disk this can significantly slow down the
performance of the virtual machine. Paging can be optimized through
appropriate placement of the pagefile. Following are some recommendations
for high performance systems:
Locate the pagefile separately from other I/O intensive applications, such
as OS and frequently accessed data stores.
Do not locate the pagefile on a fault tolerant drive as this will typically slow
down the write access to the data. Either way if the disk fails you are
likely to have a system crash.
Use multiple physical disks or a disk array for paging.
Estimating Hardware Requirements
Advanced Configurations
The fact that virtual machines often share resources means that you need to
take this in account when planning the environment, as well as when
configuring the system for optimal performance and scalability. The primary
considerations during the design phase focus on the creation of a sufficient
infrastructure but it also includes ensuring that the individual virtual machines
are optimized. One factor that can make a significant impact is how virtual
machines handle and are assigned multiple vCPU.
In addition, there are also a number of methods for controlling how resources
are shared between the guest systems. This document will only discuss a few
examples. For more detailed information on this it is highly recommended
that you review the documentation provided for the virtualization engines that
you are planning to use. For VMware see, and For Microsoft Hyper-V
see ).
Virtual Machines with Multiple vCPUs (SMP)
In general, when using guest systems with multiple vCPU you should use as
few virtual CPUs (vCPUs) as possible and, if reliable/repeatable performance is
critical, ensure that you always have physical CPUs available for all scheduled
vCPUs. Applications/virtual machines that require multiple CPUs for optimal
performance can create specific challenges for virtualization. The underlying
reason for this is that operating systems and applications that take advantage
of multiple CPUs typically rely on them being readily and quickly available at
all times. If not handled correctly, delays in inter CPU communication can
cause either significant performance degradation or produce kernel panics/blue
screen of death (BSOD) in the guest systems.
One of the most basic and common methods for handling this is to make sure
that all vCPU that are allocated to a virtual machine are always scheduled
together as a group (co-scheduled) and, therefore, always accessible for the
virtual machine. This works fine if there is no or very limited oversubscription
to the CPUs and a sufficient number of waiting CPUs. In a more realistic
scenario, however, this will introduce a queue since the host will wait until it
has all allocated resources available before dispatching them. For example, if a
virtual machine is assigned 4 CPUs, the host cannot assign any additional
CPUs until all 4 CPU are available. In addition, a guest system that has been
assigned many vCPUs will tie up all of those CPUs even if it is only efficiently
using one or two of them.
Estimating Hardware Requirements
This is a well known problem that virtualization vendors have attempted to
resolve through tuning and other approaches. For example, In ESX 3.x,
VMware changed their scheduling from strict co-scheduling to what they call a
relaxed co-scheduling algorithm. This made the performance hit smaller, but
still significant and multiple vCPU should still only be used when the
application truly take advantage of them. For additional details see, and
Some important points to consider regarding the use of multiple vCPUs are:
When applicable, consider implementing multiple, smaller VMs, rather than
a few huge logical virtual servers.
A prime example of this is placing the database on a separate server
instead of including it on the same virtual machines as the application
using the database.
Only use multiple vCPUs when the application can truly take advantage of
this, and even then, use as few vCPU as possible.
If possible, test with one vCPU first and only add vCPU when needed.
Uniprocessor (UP) versions of the HAL/kernel have less overhead than the
corresponding SMP version. Always use the Uniprocessor version if you
only have one vCPU.
Note: Some of the newer operating systems, such as Windows Vista,
Windows 7 and Windows Server 2008, use the same HAL for UP and SMP
If using VMware hosting virtual machines with multiple vCPU it is highly
recommended to use the most recent version of ESX/ESXi. ESX 3.x / ESX
3i had some major updates, but the scheduler is constantly being
If reliable/repeatable performance is critical ensure that you always have
physical CPUs available for all scheduled vCPU (this cannot be repeated
often enough!).
SMP often scale better in a 64bits environment. Consider using this if your
application supports this type of environment.
A typical example of this is MS-SQL 2005 which, when tested with multiple
vCPU and high load, consistently scales better in a 64bits environment.
For more details see
Estimating Hardware Requirements
Controlling How Resources are Shared
Finally, we will also briefly cover a few common configuration options for
virtualized environments. Unless otherwise noted, the specifics mentioned
below pertain to VMware ESX / ESXi; however, most enterprise class
virtualization engines are likely to have somewhat similar functionality.
Many of the settings discussed below can be controlled for both individual
virtual machines as well as resource pools. Whenever possible, it is
recommended that you use resource pools since the management of individual
VMs can otherwise quickly get very complicated and hard to track.
In addition to the number of vCPUs allocated for a virtual machine this
resource can be controlled in the following ways:
Through shares you can define the priority for a virtual machine or a
resource pool. The shares only matter when CPUs are a sparse
Reservation allows you to reserve (guarantee) a certain amount of
CPU cycles for specific business critical systems.
Processor Affinity
Through processor affinity you can control on which physical CPU(s)
the virtual machine will running.
Note: Avoid using this option this unless you have compelling reasons
to do so. Affinity introduces additional overhead and it does not work
with VMotion.
Memory (RAM)
You can similarly control how RAM is shared between resources. It is the
VMkernel that allocates a specific amount of physical RAM to the VMs. The
allocations represent at least the reserved amount and not more than the
defined limit.
The VMkernel will often grant a virtual machine all of its configured RAM
when it is started and then dynamically reclaims some of its memory
if/when it‟s not needed.
The administrator can control the behavior using the following controls:
Configured RAM
The amount of RAM the virtualized machines OS reports
The maximum amount of RAM the VMkernel will allocate to this VM. By
default this is “unlimited” or, in other words, the same as Configured
Estimating Hardware Requirements
Using reservation the administrator can guarantee that a certain
amount of memory always is allocated.
This can be useful, for example, for databases that have significant
performance hits when there is insufficient memory.
As with CPUs, memory shares controls which priority this VM or
resource pool should have when the VMkernel need to prioritize who
should get a limited amount of RAM.
Network cards are often shared between multiple VMs. However it is
important to be aware that the virtual network infrastructure is highly
customizable in a number of ways:
Traffic Isolation – send various types of traffic to separated subnets.
Enhanced I/O performance and redundancy through NIC teaming
By using NIC teaming you can give a virtual NIC access to multiple
physical NICs to enhance performance and fault tolerance. If these
physical NICs are also connected to different switches you can
architect a very robust, fault tolerant solution.
Dedicate NICs to administrative functions such as iSCSI, Service
Console and VMOTION.
Consider to dedicate Teamed NICs to network intensive VMs or
resource groups.
Note that VMware Tools/Paravirtualization (especially the vmxnet
driver) can significantly enhance performance.
Enhanced VMXNET can be used to support Jumbo Frames. Note, this
also require specific version of OS (Windows 2003 EE or DE) and
additional configuration in this guest OS.
Configuring the storage system depends on a large number of factors,
including expected load, network, type of hardware, RAID system, cache,
and more. You are strongly encouraged to read the following documents
for additional details:
Performance Best Practices for VMware vSphere 4.0
Performance Tuning Best Practices for ESX Server 3 (“Storage
Performance Best Practices” section for generic best practices)
SAN Configuration Guide (“Using ESX Server with SAN: Concepts”
section for SAN Best Practices)
Estimating Hardware Requirements
Server Configuration Guide (“Advanced Networking” section for NFS
Best Practices and “Configuring Storage” section for iSCSI information)
For Hyper-V see the chapter “Performance tuning fir Virtualization
Servers” in the Performance Tuning Guidelines for Windows Server
For XenServer see the “Storage” chapter in the XenServer
Administrator's Guide 5.6.0”.
The hardware vendor‟s documentation of the specific disk/SAN system.
Chapter 3: Maintenance Considerations
It is important to track the performance profiles of the individual machines, as
well as the virtualization hosts, both before and during the lifecycle of any
virtualized environment in order to identify potential peak requirement
periods. During the design phase this information can help you determine the
most appropriate architecture for your solution. Continued analysis after
deployment can help pinpoint when tuning is required and when adjustments
need to be made to improve performance.
For example, consider a typical environment in which, at the end of every
workday, a majority of the users:
Send an email, synchronize email folders and then logout from the mail
Run reports to prepare for the following day‟s activities.
Print out these reports and, perhaps, additional supporting documents to
bring with them and study from home.
Make backup copies of a number of important files to a folder on a file
Another example is when unplanned events/faults occur which then trigger
activity on multiple systems:
A fault trigger fault management systems to alarm, do root cause analysis
and likely to handle event storms and certain automation tasks.
The end users notice the problem and uses knowledge tools and Service
Desk to find out if the problem is known and otherwise report it.
The operations and the helpdesk team get the alert from the fault
management and service desk system and connect to the Service Desk,
CMDB, Asset Management, Network and System Management Tools etc to
troubleshoot and correct the issue.
If the applications all share a common host system whose requirements are
based on ordinary usage you might expect that these VMs would slow down
substantially in response to the higher peak load resulting from the near
simultaneous performance hit from these activities by hundreds or thousands
of users.
By tracking the consumption of critical resources over time it is possible to
identify patterns of resource usage by servers and use that knowledge to pair
virtual machines that stress different types of resources or that stress the
system at different points in time.
Optimization Strategies
These performance profiles should be used to establish a baseline that can be
monitored so that you can see how resource utilization changes over time.
This knowledge can be used to:
Identify which virtual machines are requiring more or less resources over
time. This can be used for both strategic as well as tactical resource
Pinpointing servers that potentially aren‟t in use and, in this way, assist in
minimizing Virtualization Sprawl.
Most of the major virtualization vendors, including VMware, Microsoft and
Citrix, tend to focus more and more on tools to assist with management of the
virtualized environment and their performance; however, you often need
additional tools to correctly manage the bigger picture. Regardless of the tools
you select, you should be sure to incorporate careful planning, along with
personal experiences with how certain applications are likely to require
additional resources. This is especially important since many applications often
experience peak load at the same time and having multiple machines request
more resources at the same might put significant load on the host machine.
Optimization Strategies
Combining performance profiles with knowledge about the company‟s activities
allows the system manager to optimize the resources for individual virtual
machines as well as to make sure they are paired on hosts with other virtual
machines that, if at all possible, are using different resources or experience
peak load at different times.
It is important that the system manager have a deep understanding of the
overhead of various virtual machines and how tuning options affect the overall
health of the environment. Typical options for optimizing virtual resources
Allocating dedicated and shared resources
Re-allocating existing resources between VMs
Moving an existing VM to a new host
Optimizing and tuning the individual VMs
There are several documents available on this topic and it is highly
recommended that the system manager become familiar with them. Following
are a few useful links to consider:
“Memory Resource Management in VMware ESX Server”
Performance Best Practices for VMware vSphere 4.0
Optimization Strategies
Performance Best Practices and Benchmarking Guidelines (ESX/ESXi 3.5)
“Performance Tuning Best Practices for ESX Server 3”
( This
document references an additional document which includes further
VMware Resources (Whitepapers, Technical Papers, Documentation etc. )
Allocating Dedicated and Shared Resources
Although most modern enterprise class virtualization hosts include intelligent
methods for sharing over-allocated resources among guests, there are a
number of physical limitations to keep in mind. In situations where resources
are known bottlenecks, but where predictable response times are required, it
is wise to dedicate hardware for individual virtual machines – or, at least, to
make sure that there are always resources available.
It is important to identify which virtual machines require which type of
dedicated hardware and in what way shared resources can be controlled in
order to manage resource consumption. Important resources to monitor
include Storage (Physical Disks), CPU, Memory (RAM), Network Cards (NICs).
For more information on considerations for these resources, consult the
section “Moving to a Virtual Environment” on page 47.
Re-allocating Existing Resources Between VMs
Although similar to what is mentioned above, reallocating existing resources
between VMs requires a more thorough analysis of the ongoing and expected
resource consumption of the logical servers. VMware includes utilities to
handle this automatically but, typically, this requires intelligent automation
tools and/or manual intervention – and this is where performance profiles and
baselines can be truly useful. The key here is that we are talking about
reallocating resources. If you add resources to one virtual machine you
typically need to remove the corresponding resource from another logical
machine on the same host.
Move an Existing VM to a New Host
After analyzing the performance profiles for both virtual machines and the
actual host system you might consider reorganizing which virtual machines are
running on which host systems - or you may decide to move all virtual
machines to a new host to allow for maintenance.
Optimization Strategies
If you have systems with “hot migration” (such as VMOTION, XenMotion, Live
Migration or similar) and a well planned out disk storage system on a SAN this
is not a very complex task. However, it should normally not be done to handle
a short term peak. Rather, the ideal is to be proactive and to plan ahead to
see when a guest OS needs to be transferred to a new system.
Regardless of the optimization approach you take, it is important to realize
that virtualization always adds overhead. You cannot simply add the resource
requirements for the individual guests to derive an estimate for the host
system. You also need to consider peak period requirements and remember
that applications hit their peaks at the same time or during similar situations.
Other important items to consider are:
According to Network Computing (April 2nd 2007) the overhead of VMware
ESX is typically less than 10% (low of 6%, highs of 20%).
Make sure you provide sufficient memory for memory intensive
applications (such as IIS, and SQL depending on the query type).
However, avoid over-allocating it on applications that do not use it.
Having multiple applications which employ intensive disk-access (where
the bottleneck is I/O) will significantly affect performance unless you can
off-load each application‟s data storage to a dedicated physical disk
To be able to efficiently manage the VMs you need to have the virtual
disks on separate disk systems using high performance SAN solutions
based on iSCSI, FCoE or fibre channel. This will significantly simplify your
management of virtual machines and their disk requirement, both by
allowing you to grow/shrink required disk space and, more importantly, to
simplify any migration of virtual machines between host systems.
Optimizing and Tuning the Individual VMs
Although all of these measures are important, you should not overlook the
importance of analyzing the actual VM machine to determine if it would benefit
from basic internal tuning steps.
In a non-virtualized environment this type of tuning is recommended, but
often not critical; however, since any unnecessary usage of resources in a
virtualized environment penalizes other applications it becomes critical to
ensure this if the virtualized environment is to run efficiently.
Optimization Strategies
A few examples are:
Disable/uninstall screensavers and other unnecessary applications
During the creation of any server system you should avoid installing, or
even uninstall, any applications that are not going to be used. This applies
to all types of application and utilities since this minimizes the risk for
security exposures. However, it is especially important for tools that might
perform heavy calculations, such as 3D screensavers or multimedia tools.
Note: No server needs a 3D screensaver and very few servers require a
mediaplayer. This is true for both virtualized and non-virtualized servers.
Disable services and daemons that aren’t in use and/or required
One of the great advantages with virtualized servers is that it is easier to
have complete control over the system and, therefore, it is easier to
remove unused services and daemons from a virtual machine so it
becomes more like a “Virtual Appliance”. If this is done correctly it can
enhance both security and performance significantly.
Note that this does require quite a good understanding of both the
application as well as the guest operating systems and, any changes that
are made require a significant quality assurance effort.
Disable/disconnect unnecessary devices in host and guest systems
Devices connected to the guest and/or the host system consume various
types of resources and should, therefore, be disabled or disconnected on
systems that aren‟t using them.
A few examples of resources that might be considered for this are:
Serial (COM) and Parallel (LPT) ports
Floppy/CD/DVD drives
USB / FireWire Adapters
Network Interface Cards
Disabling these devices frees up IRQ resources and eliminates conflicts.
Many of these resources also consume CPU through polling especially in a
virtualized environment,. Finally, having multiple virtual machines polling
the same physical device can sometimes cause delays due to contention.
Note: When these changes are made on a host that is part of a load
balancing scheme it is important to make sure that none of the potential
guests requires the specific resource. If not, the migration of this guest will
likely fail.
Optimization Strategies
Schedule supporting back office jobs during off-peak hours
This is something that is likely to have been done long before any
virtualization project was implemented so the chances are good that a lot
of the basic data on when to run various procedures is already available.
However, this task is significantly more complex in a virtualized
environment since you now need to take into consideration the load from
all other virtual machines running on the same host. And, to complicate
this further, since the organization is also likely to be using some type of
dynamic load balancing (such as “hot migration”) this is a moving target.
As a result, scheduling procedures, such as antivirus scanning, software
updates and backups, in a virtualized environment is not a trivial task.
However, a good performance reporting tool can provide a huge
advantage when it comes to estimating the load on both the individual
virtual machines as well as the host system while the various back office
procedures are running.
Appendix A: References and Links
The following resources were used in this document:
Vendors Whitepaper, Homepages, technical notes etc…
3PAR Thin Provisioning
Citrix Essentials
Citrix XenServer
XenServer 5.6 Documentation
XenServer 5.5 Documentation
XenServer 5 Documentation
XenServer Knowledge Center
IBM Virtualization
Microsoft Virtualization Home Page
Introducing Windows Server 2008 Hyper-V
Microsoft Hyper-V Server 2008
Hyper-V: Guest Operating System Support
References and Links
Microsoft Technet on Hyper-V
Microsoft Technet: Hyper-V Hardware Consideration
Windows 2008 Server Update: Release Version of Hyper-V
Windows Server 2008 R2 Resources (including the Reviewers Guide)
Microsoft System Center Virtual Machine Manager
Managing SQL Server 2005 Peer-to-Peer Replication
by David Lindquist
Microsoft KB 918461
“The system time runs too fast on a Linux-based virtual machine that
is hosted in Virtual Server 2005 R2”
Oracle VM
Sun Microsystems Virtualization Solutions
SWSoft Virtuozzo - White Paper
“Top Ten Considerations for choosing a server virtualization technology”
VMware Whitepapers, technical notes etc…
Overview VMware specific technical resources
VMware Technical Resource Center – Technical Papers
VMware Documentation
Performance Best Practices for VMware vSphere® 4.0
References and Links
VMware vSphere 4 – the CPU Scheduler in VMware ESX 4
Configuration Maximums – VMware vSphere 4.0
What‟s New with VMware vSphere 4
Performance Tuning Best Practices for ESX Server 3, available at
This includes:
Mismatched HALs – KB Article 1077
IRQ Sharing – KB article 1290
playKC&externalId=1290 )
Idle Loop – KB article 1730
CPU Utilization – KB Article 2032
playKC&externalId=2032 )
Network Throughput between Virtual Machines – KB article 1428
Queue depth on QLogic – KB article 1267
Guest Storage Drivers - KB article 9645697
Disk Outstanding commands parameter - KB article 1268
Timekeeping in VMware Virtual Machines
Virtual SMP Best Practices – “Best Practices using Virtual SMP”
VMFS partitions – “Recommendations for aligning VMFS Partitions”
References and Links
Esxtop – Using esxtop to Troubleshoot Performance Problems”
SAN best practices – “SAN Configuration Guide”
NFS best practices – “Server Configuration Guide” and iSCSI best
practices – “Server Configuration Guide”
Memory allocation and Swap Space – “Resource Management
Details of What's New and Improved in VMware Infrastructure 3
version 3.5
Configuration Maximums - VMware Infrastructure 3
x.pdfVMware KB 1006113
“Time in Linux 2.6 guest operating system runs faster than real time
due to lost tick overcompensation”
VMware KB 2219
“Linux guest clock runs slowly on ESX Server 3.0”
VMware KB 1002742
“Time is Running Ahead/Too Fast in a Windows 2003 Virtual Machine”
What is a TOE NIC and does ESX support any TOE NICs?
References and Links
Research and Reports
Clabby Analytics Research
“CA's Unicenter Advanced Systems Management: Virtualization Cluster
Management for Heterogeneous Environments”
Forrester Research, Inc
“Server Virtualization Reaches A Majority Of Firms, Spurring Initial
Adoption Of Cloud Computing”
Gartner Inc.
Workloads Running in Virtual Machines
Virtualized Servers and security
Virtualization Trends
Information Technology Intelligence Corp.
The ITIC 2009-2010 Global Virtualization Deployment Trends Survey.
USENIX Association
Proceedings of the 5th Symposium on Operating Systems Design and
Implementation (Memory Resource Management in VMware ESX Server)
by Carl A. Waldspurger, VMware, Inc., available at:
Virtualization Magazines and Articles
Baseline (Where leadership meets technology)
March 2007 (issue 070) “Virtualization Beyond the Buzz” by Michael
References and Links
April 2007 (Issue 071),1540,2113063,00.asp
“Virtualization: For Servers, a Disappearing Act” (Less hardware is
good, but immature technology isn‟t. With new products on the
way, companies may find better methods to speed up virtual
server deployments and cut costs.) by Brian P. Watson
“Microsoft: Ramping Up” by Brian P. Watson
“VMware: Speeding Ahead” by Brian P. Watson
“XenSource: Aiming High” by Brian P. Watson
Channel Insider
February 27 , 2009
“Free Citrix XenServer for Everybody” by Sharon Linsenbach
CIO – Business Technology Leadership
June 15th 2007
“Thinking Inside the Boxes” or “How Server Virtualization Tools Can
Balance Data Center Loads” by Katherine Walsh
“ABC: An Introduction to virtualization”
“Taking Virtual Servers to the next level”
“Server Virtualization Snapshot”
“The Virtues of Virtualization”
“The Benefits of Consolidation and Virtualization”
July 15th 2007
“Virtual Possibilities” or “Taking Virtual Servers to the Next Level” by
Thomas Wailgum - same article as “Taking Virtual
Servers to the next level” from June 15th
References and Links
CommunicationsNews May 2007:
“Virtualization Takes Hold” (Enterprise data centers embrace new/old
technology to better utilize resources, but security, compliance and
mobility issues must be addressed.) by Jeff Jilg
“The Namespace Option” by Panos Tsirigotic:
“Virtual machines go mobile” (Optimization software shrinks files to
improve portability and performance.)
“Security Rules Have Changed” (New solutions are necessary to
protect virtualized networks.) by John Peterson
“The phantom menace: Security (Protecting the virtualized network is
different from previous network security practices)” by Allwyn
Related Online material:
“Virtualized versus traditional blade platforms” (Server
consolidation has become a key strategy for reducing data center
“Virtualization and IT service assurance” (Proper monitoring and
management of virtualized environments is essential to address
performance problems.)
“Virtually insecure” (Address the security implications of a
disruptive technology.)
“Common mistakes when consolidating servers” (Avoid potential
pitfalls by planning ahead.)
References and Links
November 2007 “CA Launches virtualization management tool” by Matt
Custom Systems Magazine
March 2007 “Fitting More Apps into fewer boxes” by David Gilbert.
eWeek (
November 27th 2006
“Unicenter Goes Virtual” By Paula Musich,1759,2064622,00.asp
March 12th 2007
“Competition heats up” (VMware, Virtual Iron, Parallels roll out
enhanced virtualization offerings) by Scott Ferguson
“Isilon boosts storage management” (Data migration between
multiple tiers of clustered storage) by Chris Preimesberger
April 2nd/9th 2007
“Xen Expansion” (Open Source Virtualization project moves from
bleeding edge to deployment ready) by Jason Brooks,1895,2107810,00.asp
“Iron-clad server virtualization” (Virtual Iron 3.5 offers a flexible
low cost solution),1895,2107811,00.asp
Linux Kernel to add VMI,1895,2107818,00.asp
May 7th 2007
“Stretching your resources” – ( elastic compute cloud
allows ad-hoc VM deployments) by Jason Brooks,1895,2124973,00.asp
Enomalism helps manage VMs,1895,2124901,00.asp
esxRanger ably backs up VMs,1895,2124944,00.asp
References and Links
May 21st 2007
“Virtualization comes into focus” (desktop users look for better pc
management) by Scott Ferguson,1895,2131524,00.asp
VMware adds Linux‟s Paravirt-ops Virtualization,1895,2128344,00.asp
Virtual Iron, provision networks take on desktop virtualization,1895,2114414,00.asp
uXcomm Takes on Virtualization with acquisition,1217,a=204426,00.asp
XenSource prepares latest Virtualization Release,1895,2109856,00.asp
Novell adds Virtuozzo Virtualization to SLES,1895,2104847,00.asp
June 11th 2007
“Expanding Virtualization‟s reach” or “Vendors are attempting to
expand the reach of virtualization” – (VMware rolls out utility
computing for hosting companies) by Jeffrey Burt & Scott Fergusson
“VMware expands Virtualization Options” by Jason Brooks,1895,2142436,00.asp
“VMware releases full version of ACE 2 Software” by Scott
“VMware tries it hands at utility computing” by Scott Ferguson,1895,2142149,00.asp
“ClearCube, VMware partner on Virtualized Desktops” by Scott
“VMware latest Virtualization Software supports Vista” by Scott
“VMware‟s VI3 Suite Delivers on Virtualizations promise” by Jason
References and Links
“IBM Launches new Virtualization Tools” by Scott Ferguson,1895,2094523,00.asp
“Adoption of Virtualization Continues to grow: Report” by Scott
May 7th 2008
Virtualization Evolves into Disaster Recovery Tool
November 25th 2008
“Cross-Platform Tools Needed to Combat Virtualization Sprawl” by
Cameron Sturdevant
December 2nd 2008
“Server Virtualization: A Five-Year Roadmap” by Chris Preimesberger
February 23rd 2009
“Citrix, Microsoft Aim to Corner Virtualization Market” By Nicholas
March 5th 2009
“Survey: Virtualization Takes Off, Cloud Computing on the Rise” By
Darryl K. Taft
Federal Computer Week
Dec 04, 2008 “6 tips for server virtualization”
References and Links
Information Week
Dec 18th/25th 2006 “Virtual Payoff In the Real World” by Charles
“Making the best of Both Worlds (Virtualization software brings the
same management challenges as physical serves to virtual
machines)” by Charles Babcock
“Microsoft Opens Virtualization Standard in Gambit Against
VMware (Microsoft has previously opened specs in only Web
services arena, where it faces tougher open standards
competition.)” by Charles Babcock
“Microsoft And Xen Team For Virtualization (With this move
Microsoft is expanding its support of virtualization in its most
advanced software, and it‟s doing so in a way that uses fewer
system resources than past approaches)” by Charles Babcock
March 12th 2007 “Desktop Virtualization: VMware Eyes New Pastures”
(Virtualizes hundreds or thousands of PCs and Notebooks, sends a set
of virtualized files over the network-executed locally, Remote Control,
Pocket ACE allows virtual desktops to be loaded on iPods or flash
drives…) by Charles Babcock
April 9th 2007 “Citrix Seizes The Moment For Desktop Virtualization”
(VMware ACE 2, Citrix Desktop Server to serve desktops for the end
users) by Charles Babcock
“VMware Accuses Microsoft of Restricting its Customers
(Microsoft‟s virtualization technology shuts out third parties, the
vendor claims)” by Charles Babcock (March 10 2007)
“VMware Looks To Virtualize The Desktop (Virtualization may make
desktops and laptops more secure and easier to manage)” by
Charles Babcock (March 10 2007)
June 11th 2007
“How 9 Hot Technologies can blow up in your face” / “Virtualization
Threats Ahead” and VMwares new equation (Virtualization + SAAS)by
Charles Babcock (
References and Links
June 25th 2007 “Virtual Desktop May Take Awhile To Become Real” by
Charles Babcock
HP, VMware Teaming Up To Use Server Virtualization To Replace
July 16th 2007 “A Virtualization Bargain” by Joe Hernick
Full Assessment: Find our testers notebook.
More Numbers: Get the complete result of our tests:
Take a Look:Screenshots at XenEnterprise:
Microsoft Play: Viridian coming soon, short some key features:
What‟s next? All eyes are on I/O virtualization technology:
July 23rd 2007
“Virtual Machines in motion: Live Migration Adds to Appeal” by Charles
It all adds up:The practical realities of virtual data centers:
Virtual XEN: open Source virtualization software is a bargain:
(same article as “A Virtualization bargain” from July 16th)
Friends in high places: Intel Invests $218 million as VMware preps
References and Links
August 13th 2007
“Virtualization: Key To Linux‟s Future or a Linux Killer” by Antones
Gonsalves (
Distribution lists
leID=199202005&cid=RSSfeed_IWK_News “SUN SEES
investment in its Live-Star project could translate into improved
software and security distribution models.)
March 2007 - “HP Enhances Virtualization, security”
By Kevin Komiega
June 2007 – “EMC Unites SRM, VMware” by Dave Simpson
InfoWorld Virtualization Homepage
Virtualization Report – David Marshall
Network Computing April 2nd 2007 “The Virtualization Drag (VMware can
help you save money and gain flexibility, but there will be trade-offs. We
took to the lab to determine where performance hits will come from, and
how to minimize them)”
by Michael Caton
References and Links
Network World
November 27th 2006
“CA Unicenter to manage Virtual Servers” –by Denise Dubie
June 11th 2007
“10 Free virtualization tools worth a look” (including links) by Dennis
Why Virtualization is cool - Virtualization is heavily over hyped
Podcast/MP3 – Ann Winblad interviewed by Beth Schultz
Microsoft “Shoot to high” on virtualization, says exec by John
Fontana, May 17th 2007
“Microsoft lays out Windows server road map” by John Fontana,
(May 16th 2007)
February 5, 2009
“Hyper-V vs. VMware: Which is cheaper” by Bridget Botelho,28914
Smart Enterprise
The Power of Virtualization
Virtualization is surging. But only with effective management can the
technology accelerate time to market, drive operational excellence,
and reduce both IT and business risk.
References and Links
Fall 2009 - "Virtualization Takes Shape"
As virtualization expands to take on mission-critical production
workloads, CIOs are making sure to manage physical and virtual
resources in a unified, integrated manner.
Winter 2009 - "Right Time, Right Technology"
Winter 2009 - "Data Center 2.0"
Fall 2007 - "Virtualization Goes Mainstream"
Spring 2007
“Virtually Efficient” (Virtual servers can bring greater efficiency and
flexibility. But CIOs must first have a strategy to effectively manage
these new environments.) by Amy Larsen DeCarlo
Virtualization Review
February/March 2009
“Lab Experiment: Hypervisors” by Rick Vanover
Appendix B: Virtualization Checklists
Any virtualization project requires thorough planning and careful consideration
of which applications to virtualize, in what order and pace to virtualize them,
what hardware to use, how to configure the environment and who should be
responsible for various parts of the project.
This appendix presents several checklists that can be used as a starting point
for planning your virtualization project. These checklists are far from
complete, however, our intent is to highlight some of the more important
questions that the project team needs to consider. It is highly recommended
that the project team conduct additional brainstorming meetings to further
evaluate other factors that are important for your organization‟s particular
Identify Virtualization Candidates
A key part of any virtualization project deciding which servers / applications
should be virtualized and prioritizing when and in what order they should be
It is highly recommended that all of these considerations be included in the
plan, but the actual virtualization implementation should be realized in phases
using an open project plan that can take advantage of any lessons learned.
List and Prioritize Servers/Applications/Solutions
List all Servers / Applications / Solutions that you are planning to virtualize:
Server /
Timeframe Priority
References and Links
For each one of these, answer and/or consider the following questions:
Generic Questions for Guest Systems
List all applications that will be included in this
Virtual Machine.
Note: Unless the applications require or benefit
significantly from being co-located it is
recommended that you separate applications into
private guest systems.
Is the application(s) supported in a virtualized
environment and specifically in the virtualization
environment that you are planning to use?
Acceptance from primary application owner/users?
Status/prior experience with these applications? For
Is it a new application?
Will a new release of the application to be
installed in virtual environment?
Will an identical release of the application be
moved into a virtualized environment?
Note: If possible/applicable gather performance data
from an existing implementation of the application.
To get a complete load profile, including when peak
loads are expected, try to collect this data over a
period of time during which such peaks would occur.
Also, take note of other caveats and experiences
from earlier implementations.
References and Links
What are the business drivers for virtualization?
Saving on Hardware Budget
Saving Floor Space
Saving Energy / Green IT
Maintenance / Management
High Availability
Load Balancing / Flexibility
Improved Service / Agility
Note: Document all applicable business drivers, but
prioritize them to indicate order of importance.
Classify/describe these applications and identify
where they fit into “Areas where virtualization
provides quick value” as described in “Virtualization
Best Practices”.
Examples could be:
Test Environments / QA / Support
Demo Environment
Low utilized application server
Worker nodes for applications that can scale
out on additional nodes.
Application Server with predictable load
Application Server with unpredictable load
Application Server with consistent high load
Specify expected load on the system:
If possible reference back to historic data
Specify peak period and expected fluctuation
during off-peak periods
Specify events that are expected to trigger
high load
References and Links
Will the virtual machine always be active/enabled?
If not, document the expected schema or rules of
engagement when it will be active.
Does the application have real time or near real time
Note: Virtual machines are typically not suited for
real time applications.
Configuration of Guest System
Operating System for the virtual machine
Ensure that the OS listed above is supported by the
host system.
How many vCPUs should be assigned to the guest?
Caution: Multiple CPUs can be used; however, it will
cause a significant overhead. Do not over allocate
the number of vCPUs without a good reason.
Also, make sure you have the latest version of your
virtualization engine and servers where CPU isn‟t a
scarce resource.
Configure virtual machines that only use one CPU to
use a Uniprocessor version of the HAL/kernel.
Note: Some OS, such as Windows 2008 Server, do
have a common HAL for both UP and SMP systems.
How much RAM will be associated with this guest?
Caution: If a predictable result is required, ensure
that all configured RAM is available when needed (for
VMware look at Shares vs. Reservation of
resources). Hypervisors often have an intelligent
memory management system; however overallocation of resources introduces a significant risk to
affect performance.
References and Links
If feasible, avoid allocating more than 896 Mb to
Linux based guest systems.
This to make the memory management in the Linux
kernel more efficient.
How many NICs are needed by this guest and of
what speed ? Will they be using dedicated or shared
physical NICs?
Note: Sharing physical NICs between guest systems
is often acceptable, but dedicated NICs are
recommended for network intensive applications that
require predictable performance.
Use a minimalist OS
If Windows Server 2008 is used, and the
virtualized application supports it consider
using the CORE version.
If using Linux/Using consider disabling the
windows manager and other components
that aren‟t required.
Disable or uninstall unnecessary applications.
This can include:
All screensavers
Multimedia tools
Gadgets that are auto started but not
Caution: Make sure these aren‟t required for any
part of the application.
References and Links
Disable Services / Daemons that aren‟t required.
A few examples to consider are:
Web Servers (IIS, Apache, etc)
Indexing Servers
File and Printer Sharing
Caution: Make sure these aren‟t required for any
part of the application.
Disable or disconnect unnecessary devices on guest
and host systems.
This will free up IRQs and minimize the risk for
queuing and collisions. In addition it will also free up
CPU resources since these would otherwise need to
be polled by the virtual machines.
Devices to consider are:
Serial & Parallel ports
Floppy/CD/DVD/BlueRay Drives
USB/Firewire Adapters
Unused Network Interfaces
Caution: Make sure these aren‟t required for any
part of the application.
Schedule supporting back office jobs during off-peak
Note: Off peak should be calculated globally on the
complete host and not just in each individual guest.
References and Links
Operating System with Tightened Security / Limited Functionality
It is not unusual for Virtual Machines to have a tight lock down schema applied
to them or to have certain functionality disabled to save resources and
enhance security.
This can be done by blocking certain functions or by disabling functions, such
as windows managers or various services /daemons. When this is done it is
critical that you verify that this doesn‟t adversely affect the applications that
are running on this guest system.
To reduce the chances for error, you should gather the following information:
List all non-standard security lock down settings on the guest server
Examples of this could be:
Encryption modules
Modified Enhanced File system security
Hardened requirement on passwords
Limited access to Administrator / root account
Local/Private Firewall functionality
List all Services / Daemons that are not activated on the guest system
Examples of this could be:
File and Printer Sharing
List all other functionality that is disabled on this system
Examples of this could be:
Windows manager
Multimedia applications
USB / Firewire adapters
Floppy/CD/DVD/BlueRay Devices
Note: The examples listed above are not, in any way, intended to be a
complete list. Rather, they are merely representative of the type of changes
that are of interest.
For each one of these list items verify that the changes do not affect any part
of the hosted applications and that the application still is fully supported after
these changes are made.
References and Links
Summary/Overview of Guest System in the Environment
Summarize the information that has been gathered into a simplified table
listing the most critical information in a format that makes it easy to analyze
multiple virtual machines and their requirement side-by-side.
For example, consider the following worksheet:
Storage Network Comments
This list will, to a large degree, match the corresponding list in the section “List
and Prioritize Servers/Applications/Solutions” on page 83. Note, however, that
is not unlikely that some of the servers have been divided up into multiple
virtual machines.
References and Links
Guidelines for Host Systems
The following guidelines apply to host systems.
General Questions for Host Systems
What type of virtualization engine is being used?
Examples: ESX 4, ESXi 4.1, Hyper-V Server 2008
R2, XenServer 5.6, etc…
What guest systems will typically run on this host?
Note: This should be mapped to the guest system
specified in the section above.
Are the guest-systems statically located on this host
or are there plans to dynamically re-allocate them
between hosts?
If so, what methods are planned to be used for this?
Manual Steps / Scripts
Quick Migration…
VMotion, XenMotion, Live Migration
Other Tools
References and Links
Basic Hardware Configuration
How many CPUs / Cores will be used?
Total number of simultaneously used vCPUs
allocated to guest systems from this host.
Caution: Do NOT excessively over-commit process
The acceptable ratio depends on the load on the
individual guest system. It is important to
remember that the virtualization itself adds a 620% overhead.
BIOS Configurations:
Note: Following are some general
recommendations regarding BIOS configurations. It
is highly recommended that you follow the
documented guidelines provided with your specific
hypervisor/hardware solution.
Enable CPU Virtualization Support:
Depending on BIOS and CPU these settings might
have different names, referring to CPU functions
such as AMD-V / Intel-VT and AMD-RVI / Intel-EPT.
Also note that not all of these options are supported
by all hypervisors.
Enable Hyperthreading:
Hyperthreading does not provide the same effect as
a separate CPU/Core but it will provide a
performance improvement.
Enable DCA – Direct Cache Access:
This method enables delivery of inbound I/O data
directly into processor caches.
HPET – High Precision Event Timer:
Enabling this might provide better performance for
certain applications, however one disadvantage is
that time drifts in virtual machines can sometimes
be caused by e HPET misreporting its frequency. If
the HPET is significantly misreporting its frequency,
you must disable the use of the HPET.
References and Links
Are all hosts in a single Hot Migration pool
(VMotion, Live Migration, XenMotion) using the
same CPU architecture?
Consult the documentation provided with the
specific virtualization engine to determine the exact
limits. Typically, the CPU requires the same
architecture, but minor details, such as clock
frequency, can differ.
Note: Some host systems can be configured for
compatibility mode where the servers are grouped
up front and only those functions that are available
on all CPUs are enabled on these systems.
How much RAM will be available on this host?
For predictable performance make sure the host has
more RAM than the total amount of memory that
will be used by the host system plus the sum of the
guests systems.
Note: Hypervisors have intelligent memory
management techniques; however, over-allocation
of memory can force swapping which significantly
reduces the performance.
How many NICs are available and with what
performance specification?
Having multiple high performance server class NICs
available is highly recommended.
Dedicated NICs are highly recommended for guest
systems with significant network requirements in
order to guarantee a predictable performance.
Ensure the NIC drivers in the host and guest are
correctly configured when it comes to:
Auto-negotiated speed or the set speed
Half or full duplex mode
Multiple network adapters configured for NIC
teaming provides increased performance and
References and Links
Configure the system to have dedicated NIC for the
host systems management part (for example the
Service Console in VMware)
To ensure best performance the recommendation is
to use network adapters supporting the following
hardware features:
TCP Checksum offload
TCP segmentation offload (TSO)
Handling of high memory DMA (i.e. 64-bit
DMA addresses)
Handle multiple Scatter/Gather elements
per Tx frame
References and Links
Disk Configuration
What type of disk system will be used ?
For example: Fibre Channel, FCoE or iSCSI based
SAN, NAS or Direct Attached Storage.
Note: A SAN solution is highly recommended in
order to take full advantage of the virtualized
If an iSCSI based SAN is used:
Use Gigabit network- if possible, 10 Gigabit
Multiple server class network adapters with
good I/O performance ensure better speed
and redundancy.
The TCP/IP Offload Engine (TOE) or Host Bus
Adapter (HBA) offloads the iSCSI and TCP/IP
encapsulation from the CPU. An HBA also
allows the system to boot from the SAN.
Note: A software-only initiator should be
avoided since it consumes a significant
amount of CPU.
If iSCSI HBA is used, configure it for
maximum queue depth.
Tune the cache for the disk subsystem
Ensure that Write through cache is enabled
Identify amount of available cache?
Caution: Write back or other write caching
mechanisms are a potential point of failure which
can, in a worst case, corrupt a database.
References and Links
What level of RAID are you using?
RAID 0: Data Striping
RAID 1: Data Mirroring
RAID 5: Block Striping with distributed parity
RAID 1+0: Mirrored sets in a striped set
Note: A RAID 5 or RAID 1+0 system is
recommended for any mission critical system. RAID
0 is sufficient for a cache or other systems that
require high speed but for which reliability isn‟t
Make sure any disk intensive applications or
subsystems have access to a private disk (or, more
precisely, a private disk arm). In general, it is often
better to have many small disks than a few huge
Examples of application/sub-applications that should
have private disks are:
Operating System
Any major application
(Depending on the application this might be
separated onto multiple disks)
Temp areas / cache areas with high I/O
Database data files
Database Transaction logs
Database TempDb
Database table with high load
Note: Implementing a SAN is good and it makes
managing this easier, but it‟s not a magic bullet. You
still need to follow the recommendation listed above.
Make sure the virtual machine‟s swap files are
located on a high speed storage system.
Note: Memory swapping should be avoided,
whenever possible; however, when required, this
step minimizes the performance hit.
References and Links
For each of these application/sub-applications
identify the following:
How many I/O per second (IOPS) is
What is the maximum acceptable response
Ensure that the provided disk system can guarantee
these requirements - even in a failover situation.
Ensure that sufficient storage is allocated – or even
better, can be easily added when required.
Note: Plan so that you never utilize more than 80%
of the available disk space.
Ensure all devices included in a Hot Migration Pool
(VMotion, Live/Quick Migration, XenMotion) with
good performance can reach all required disk
Management Infrastructure
Management of business critical applications has always been important. In a
virtualized environment, however, it is even more important since each system
can affect the others‟ scalability and since an unplanned interruption of a host
system now can affect multiple business critical applications.
With good management practices you can minimize these downtimes by
finding out when you need more resources and quickly provisioning a new
server or making sure the critical application gets all the resources it needs.
The first step is to list the management products you are planning to use to
manage your virtual environment. The following checklist only lists a few
common examples; specify any other tools where applicable.
Products / Management area
CA Virtual Assurance for Infrastructure Managers /
CA Virtual Systems Performance for Infrastructure
Managers (formerly CA Virtual Performance
CA Virtual Assurance
References and Links
Products / Management area
CA Virtual Automation
CA Virtual Configuration
CA Spectrum Automation Manager
VMware Virtual Center
Microsoft Virtual Machine Manager
Performance Management Tools
These are tools that manage performance of guest
systems as well as the complete host and,
preferably, have the functionality to correlate this
CA Technologies has several performance
management tools, including;
CA Virtual Assurance for Infrastructure
CA Virtual Systems Performance for
Infrastructure Managers
CA Spectrum Automation Manager
CA Nimsoft
CA Spectrum Infrastructure Manager
Wily Introscope & Wily CEM
Change Control / Change Management Tools
CA Service Desk
CA Cohesion
CA Harvest CCM\CA Software Change
Manager (SCM) for Distributed Systems
Tools to manage Virtual Machine Sprawl
CA Virtual Performance Management
CA Spectrum Automation Manager
Client Management Solution
Other Tools…
References and Links
Just as important as which tool you use are the procedures you use to control
and manage your environment and how the virtual images are created and
used. Make sure you have a well defined process for this, including several
distinct stages for Development, Test/Quality Assurance, Gold Images, Archive
of older images, Configuration and, finally, Production.
Cost Analysis
Last, but not least, you need to consider the true costs connected to the
virtualized environment. A complete analysis requires a close look at your
organization‟s situation and specific requirements; however, the following
checklist represents a good starting point and highlights several key points
that you need to consider:
Cost Area
Server Hardware
Storage Solution / Infrastructure
Education and potential new hire
Redeployment of existing and working solutions
New Management Tools (license, hardware, services)
Virtualization Engine and Tools
License Costs
Need for additional licenses for Operating
System and back office products (such as
security and other management
tools/agents). This since virtualization often
leads to the deployment of more, but smaller
logical servers.
Application licenses that are bound to the
number of physical CPUs on the hosting
Licenses that are limited to a single named
physical server. If you have any of these,
determine if you need additional licenses to
handle load migration between host systems
Licenses required to support life cycle
management, images stored in environments
such as development, test/QA etc.
Application Virtualization
There are several definitions for “Application Virtualization” some of which are significantly different
from each other. Following are two common interpretations:
A technique that aims to improve stability and security of the systems by using abstraction
layers between the application and the actual hardware. This technique is used in most
modern operating system to enable protection of the operating system, as well as other
applications, from an application that has been poorly written.
Application service virtualization is also referred to as Application Virtualization and refers to
running software on a central server rather than distributed to each of the users‟ computers.
Except for a very thin generic client and communication protocols (that often can be a
standard web browser) no changes are made to the local computer‟s file system or registry.
Containers (Solaris Zones / Containers)
Sun Microsystems have their own implementation of operating system virtualization abstraction that is
called “Solaris Zones.” Although the term “Containers” is often used interchangeably with “Zones”, the
correct definition of a container is a zone that is also using the OS resource management facility.
Each systems have a global-zone that has a dual role. It is the default zone for the system as well as
the zone that is used for all administration (configured, installed, managed, or uninstalled) of nonglobal zones.
There are two types of non-global Zones (often referred to as just Zones):
Whole Root Zone, where the complete OS and all related packages are implemented in the
zone. This provides maximum flexibility since the administrators have access to and can
customize all of its soft resources/file system.
Sparse Root Zone, where only a subset of the packages is installed directly in the zone. Other
operating system functions are shared through read only loopback file systems.
DLPAR (Dynamic LPAR)
DPM (VMware Distributed Power Management)
VMware Distributed Power Management (DPM) is an experimental component that works together with
DRS to reduce power consumption by intelligently balance the workload and automatically power off
servers whose resources aren‟t needed and return power to these when they later are needed.
DRS (VMware Distributed Resource Scheduler)
VMware Distributed Resource Scheduler (DRS) allows dynamic allocation/reallocation of resources and
shares based on rules and policies. DRS is included in vSphere 4 Enterprise and Enterprise Plus (as
well as VI3 Enterprise).
Emulated device
A virtualized device that is designed to behave like a physical device and, therefore, can be used by
native device drivers that typically are shipped with the guest operating system.
References and Links
Essentials (Citrix Essentials)
Citrix Essentials provides extended enterprise level management of XenServer and Hyper-V
environments including lab automation, storage management, provisioning services, workflow
automation and high availability.
ESX (VMware ESX)
VMware‟s production class “bare metal” hypervisor that partition physical servers into multiple virtual
machines. In most cases ESX/ESXi uses Full Virtualization and runs unmodified versions of the
Operating systems in the virtual machines. In a few cases (such as Ubuntu) paravirtualization are
required and therefore some minor updates to the guests operating systems have to be done.
ESXi (VMware ESXi)
VMware ESXi has the same basic functionality as the ESX server, however the Linux based service
console has been removed and replaced with a new remote command line interface and adherence to
systems management standards. This has reduced the size of the hypervisor to 32MB.
FCoE (Fibre Channel over Ethernet)
FCoE is a storage networking protocol which encapsulates native Fibre Channel frames into Ethernet
packets. This mapping allows native fibre channel traffic to pass over an Ethernet infrastructure.
Hot Migration
Generic name for technologies that allow virtualized environments to move between host systems
while they are still running. This functionality greatly enhances the advantages of virtualization by
minimizing (or even eliminating) application downtime when environments are moved to manage load
balancing or during hardware maintenance.
The VMware solution for this is VMOTION and for Citrix XenSource it is XenMotion. Microsoft‟s hot
migration solution is called Live Migration.
A hypervisor is a basic virtualization component that provides an abstraction layer between the
hardware and the “guest” operating systems. A hypervisor has its own kernel and is installed directly
on the hardware. It can be considered as a minimalist operating system that controls the
communication between the guest OS and the hardware. Hypervisor are sometimes also called
“Virtual Machine Monitors”.
A virtualized environment without a true hypervisor (sometimes referred to as Type 2 Hypervisors)
needs to have a primary OS in between the hardware and the Virtualization Engine, which can add
significant overhead.
Hyper-V is Microsoft‟s latest virtualization product. A beta version (RC0) of Hyper-V was shipped with
Windows Server 2008 x64. An updated final version was released in June 2008 and is available for
Windows Server 2008 x64 users.
It supports up to 4 CPUs per virtual machines, has a true Hypervisor architecture, support for Quick
Migration and support for 32 and 64 bit guest systems running Windows or Linux.
A future version is expected to support host systems with up to 64 CPUs and will include features such
as Live Migration and hot-add of resources such as storage, networking, memory and CPUs.
References and Links
iSCSI is a network protocol standard (transport layer) that allows use of SCSI protocol over TCP/IP
networks. Building iSCSI based Storage Area Networks (SANs) using this protocol, together with
Gigabit Ethernet, is a significantly cheaper alternative to the traditional Fibre Channel based SANs
Live Migration
Live Migration is Microsoft‟s solution for Hot Migration (See Hot Migration above).
LDOM (Solaris Logical Domains)
Logical Domains (LDOM) is a Sun Microsystems technology that divides the physical hardware into
logical domains. Each domain is allocated a reconfigurable set of the existing hardware and has its
own operating systems running inside the domain.
The logical domains are associated with one or more roles, which included: Control Domain, Service
Domain, I/O domain or, finally, Guest Domain. The Guest domains include the actual virtualized
environments while the other roles provide supporting infrastructure. The Control and Service
function can be combined in one domain, however, to protect stability and performance it is not
recommended to run user applications within Control or Service domains.
LPAR (Logical Partition)
Logical Partitions (LPAR) are a hardware/firmware function that divides the existing hardware into
completely separate partitions (LPARs), with each one of these partitions housing its own Operating
System. This was first developed for IBM mainframe but is now also available on many of IBMs nonmainframe servers, such as pSeries and iSeries servers.
Typically, hardware resources cannot be shared between partitions, however memory chips can be
shared as long as the allocated memory addresses don‟t overlap. With the later introduction of micropartitioning (sometimes called “mPAR”) one CPU can be shared between multiple partitions.
An extension to this is Dynamic LPAR (DLPAR) where resources (RAM, CPU capacity & I/O interfaces)
can be dynamically reallocated between LPARs without shutting down or restarting the operating
systems running in them.
Micro-partition (mPAR)
NIC Teaming
Multiple Network Interface Cards (NIC) can be configured to work in parallel and be addressed like it
was one single NIC. Since this “virtual” NIC now can have access to multiple cables, ports and even
can be connected to different switches this will both increase the network bandwidth as well as
providing redundancy for high availability.
Other terms for this includes "EtherChannel", "Ethernet trunk", “Link Aggregation”, "Link Bundling",
"Multi-Link Trunking (MLT)", "NIC bonding", "Network Fault Tolerance (NFT)", "Port Channel", "Port
Teaming", "Port Trunking".
Operating System (OS) Virtualization
OS virtualization allows isolated partitions, or virtual environments (VE), to be located on the same
physical server and operating system. Multiple VEs share a common operating system that they
communicate with through an “OS virtualization Layer”, This layer is responsible for ensuring security
and complete isolation of dedicated resources and data owned by a specific VE.
VEs are sometimes called “virtual private servers (VPS)”, “jails”, “guests”, “zones”, “vservers” or
“containers”, to name a few.
References and Links
P2V (Physical to Virtual)
P2V is a short name commonly used for tools that are used to convert physical servers into
corresponding virtual servers.
Paravirtualization is a technique where the “guest” operating systems utilize software interfaces
through the hypervisor that aren‟t identical to the underlying hardware (though, typically, similar).
This can make certain calls more efficient and it can certainly simplify the role of the virtual engine;
however, it requires the operating system to be aware of and to use the specific Virtualization Engine
Passthrough disk access
A physical disk or LUN that is directly connected to the virtual machine. The data and instructions to
the disk are sent directly to the physical disk without any intervening processing by the hypervisor.
Quick Migration
A Microsoft solution that enables migration of guest systems to other Hyper-V servers. This is not the
same as Live migration since this solution requires some downtime. This downtime is typically short
but it depends on factors such as I/O performance to the SAN and the size and usage of the virtual
SAN (Storage Area Network)
A Storage Area Network (SAN) is an architecture that allows remote storage devices to be attached to
servers in such a way that the operating system perceives it to be a locally attached device. This
significantly enhances the virtual environments since you can now easily separate the storage of the
virtual images from the rest of the hardware and, thereby, simplifies any type of Live Migration.
Traditionally, SAN was implemented with Fibre Channel, however lately it has become more and more
common with to see cheaper iSCSI or FCoE solutions being used in this capacity.
Server Core
A Server Core installation of Microsoft Windows Server 2008 is a minimal installation that avoids extra
overhead. This greatly limits the roles that can be performed by the server but it also improves
security and reduces management costs. The Server Core is trimmed down in a number of ways but
the most obvious is that the Graphical User interface is removed. It is, instead, administered from the
command prompt or a remote administrative interface.
SMP – Symmetric Multiprocessing
Symmetric Multiprocessing is a computer architecture where two or more CPUs are connected to a
common shared memory. Since the processors share memory the operating system can easily balance
the workload by moving tasks between them. SMP is currently the most common architecture used by
multiprocessor machines. Examples of competing architectures include NUMA (Non-Uniform Memory
Access), ASMP (asymmetric multiprocessing) or computer clustered multiprocessing (e.g. Beowulf).
CA Spectrum Automation Manager (CA Spectrum AM)
CA Spectrum Automation Manager (formerly CA Data Center Automation Manager) is a policy-based
solution that automatically monitors, reconfigures and provisions virtualized as well as physical
resources to dynamically meet the load demands of the modern data center.
References and Links
Storage Virtualization
Storage Virtualization refers to various technologies that allow you to present logical pools of data so
that it seems like one single physical disk even though it might be physically located across a large
numbers of servers. In fact, the actual disk space might not even be available as long as the solution
can guarantee that it will be available when needed.
Storage VMotion (VMware)
VMware Storage VMotion simplifies maintenance of the storage arrays by allowing live migration of
virtual machines disk files across heterogeneous storage arrays without any interruption in the service
for business critical applications.
Synthetic Device
A virtualized device without a specific physical analog. This is a form of paravirtualization since the
guest system typically requires a specific driver to access this device. The synthetic device can often
be made more efficient than an emulated device since it is aware of the virtualized environment.
System Center (Microsoft System Center)
Microsoft System Center is Microsoft‟s umbrella suite for managing physical and virtual network and
Windows Servers and desktops. One of the tool included in the suite are “Virtual Machine Manager”
that manages virtual environment.
Thin Provisioning (of storage resources)
Thin provisioning is a technique that allows disk space to be allocated to servers or users on a “just
enough” as well as a “just in time” basis. This addresses a problem where servers and users often
exaggerate their current need to account for the need for additional space in the near future.
vCenter Server (formerly Virtual Center Server) is VMware‟s management tool for its VI3 and vSphere
infrastructure. It also provides a toolset for the end user that includes a number of interfaces for 3rd
party tools and is, therefore, required to support many 3rd party integrations.
vCPU – Virtual CPU
Virtual CPUs (vCPUs) are used to allocate computing power in the form of CPU to a virtual machine.
The Hypervisor typically schedule private access to one CPU-core for each allocated vCPU for a short
time slice when a virtual machine requests this resource.
Virtual machines with multiple vCPUs allocated often need to have them co-scheduled to enable
access to all of its CPU at the same moment in time.
VDI – Virtual Desktop Infrastructure
Virtual Desktop Infrastructure (VDI) utilizes virtualization techniques to provide end users with their
desktop environments. This technique is similar to server virtualization, however it also presents its
own unique set of advantages and challenges.
References and Links
VI / VI3 – VMware Infrastructure
VI3 is the former generation of VMware vSphere 4. See the entry on vSphere for information about
the latest version.
VI3 consists of a VMware ESX/ESXi Server 3.x and related distributed services. The VMware
Infrastructure 3 (VI3) is divided into three different editions that each include the ESX/ESXi server and
all functionality in the more basic editions. VI Foundation includes Consolidated Backup, Update
Manager and Virtual Center Agent. VI Standard also includes the High Availability Option and VI
Enterprise adds VMotion, Storage VMotion, Distributed Resource Scheduler (DRS) and an experimental
version of Distributed Power Management (DPM).
Virtual Appliance
Similar to ordinary software appliances virtual appliances are minimalist packages with everything you
need to provide a specific service. A virtual appliance is delivered in the form of a pre-configured
virtual machine that includes an OS and application that are optimized. This simplifies the install and
can greatly enhances security, since unnecessary services, daemons, protocols, etc. can be disabled.
Virtual Machine Manager (Microsoft System center Virtual Machine Manager)
Virtual Machine Manager is a Microsoft‟s virtual management solution optimized for Windows Server
2008, Microsoft Virtual Server, and VMware infrastructures (through VMware Virtual Center). Amongst
other the tools include features for performance and resource management, tools to convert VMware
VMDK to VHD format and assistance for provisioning new virtual machines.
Virtual Machine Monitor (VMM)
See Hypervisor.
CA Virtual Assurance
CA Virtual Assurance is a comprehensive stand-alone, lightweight Systems Management solution,
designed to provide; Streamlined appliance deployment and configuration, Automatic discovery and
visualization of virtual environments through an topology map, Comprehensive performance
management of virtual components, Rich visibility into application traffic responsiveness in the virtual
environment, Real-time detection of dynamic resource changes in virtual environments and Intuitive
workflows to help facilitate increased operator productivity as well as reduced mean time to repair.
CA Virtual Assurance for Infrastructure Managers (formerly Performance Management)
CA Virtual Assurance for Infrastructure Managers (includes Systems Performance for Infrastructure
Managers) is an add-on product to CA Assurance and Automation Managers that delivers an integrated
physical and virtual management for multi-platform, multi-vendor server technologies such as
VMware. Support for Clusters, Sun, Citrix and IBM virtual platforms forthcoming.
CA VPM includes features such as Real-time Discovery and topology mapping, Single Pane of Glass for
virtual and physical environments, dynamic optimization of virtual resources to proactively respond to
changing business demands, performance management and reporting and the ability to drive security
compliance through role-based management.
References and Links
CA Virtual Automation
CA Virtual Automation is designed to make it easier for administrators to centralize computing
resources, eliminate virtual sprawl, reduce time to deploy new systems and optimize utilization of
existing hardware infrastructure. Some of its important features are Policy-based management of
resource pools, Discovery and tracking of virtual machines, Self service portal for user initiated
provisioning, Capacity management of your virtual environment, Chargeback and showback reporting
and finally the ability to burst to public Amazon EC2 clouds.
CA Virtual Configuration
CA Virtual Configuration is a comprehensive configuration discovery and change management solution
designed to provide; Discovery of your virtual hosts and their applications so as to identify, inventory
and baseline application dependencies and relationships, Change management and configuration
control that allows you to validate configurations and establish policies and "gold standards" for your
environment, Monitoring of your established gold standards to help identify configuration drift and
automation capabilities to take action to remediate it and finally CIS based compliance checking and
reporting against predefined industry best practice standards as well as your corporate policies.
CA Virtual System Performance for Infrastructure Managers
See CA Virtual Assurance for Infrastructure Managers above.
VHD (Virtual Hard Disk)
A virtual machine encapsulates an entire server or desktop environment in a file.
The Microsoft VHD file format specifies a virtual machine hard disk that can reside on a native host file
system encapsulated within a single file. Microsoft has made the VHD Image Format Specification
available to third parties under a royalty-free license, however they still own the standard and they
reserve the right to revise or rewrite it.
Viridian was the codename Microsoft used for Hyper-V before it was released. For additional details
see “Hyper-V” above.
Virtual Machine
A virtual machine is a self contained software environment that works on top of a host operating
system through a set of well defined interfaces. These interfaces can either be specific to this
virtualization (see Paravirtualization) or can use an abstraction layer that catches the calls the
virtualized software environment normally would communicate with its operating system and/or
underlying hardware infrastructure.
VMFS (Virtual Machine File System)
VMFS is VMware‟s cluster file system and it is used only with ESX server. VMFS allows multiple virtual
machine disk images to be stored in a way that can be accessed (read/write) by multiple servers
simultaneously (currently up to 32). VMFS is required for VMOTION to work.
VMDK (Virtual Machine Disk Format)
A virtual machine encapsulates an entire server or desktop environment in a file.
VMware‟s VMDK specification describes and documents the virtual machine environment and how it is
stored. VMware has made the specification for VMDK available to the public; however they retain the
right to revise or rewrite it.
References and Links
VMOTION is VMware‟s solution for Hot Migration (See Hot Migration above).
Windows Server Virtualization (WSV)
Windows Server Virtualization (WSV) is the name Microsoft previously used for its server virtualization
product Hyper-V. For additional details see “Hyper-V” above.
vSphere 4
vSphere is VMware‟s virtual server infrastructure and it consists of a VMware ESX/ESXi Server and
related distributed services. VMware vSphere 4 is available in 7 different editions ranging from the
free ESXi Single Server to an Enterprise Plus edition that includes the full spectra of functionality that
vSphere offers. See for a
comparison of the different editions. The former generation of this infrastructure was called VI3.
vSphere Client
The VMware vSphere Client (formerly called Virtual Infrastructure Client) is VMware‟s Windows based
graphical user interface for interactive configuration of VMware vSphere. It is the primary interface to
the VMware infrastructure and it allows the user to connect to the guest system‟s console, individual
ESX hosts or the VMware vCenter™ for multi-host management.
XenCenter is a Citrix management platform that, together with and in parallel with the CLI, allows you
to manage all aspects of the Citrix XenServer environment.
XenMotion is XenSource solution for Hot Migration (See Hot Migration above).
Zones (Solaris Zones)
See Containers.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF