Datasheet
Chapter 1: Overview of Virtualization
22
The solution to this sort of problem is detailed planning. When designing a virtual machine – based IT
infrastructure, it is very important to make sure that you plan for availability and failover whenever
possible. Some common approaches are the following:
Set up redundant hardware such as network interface cards in the host system and bond them
together so that the failure of a single card is transparent to the virtual machines.
Purchase and maintain duplicate hardware for the physical systems that host important virtual
machines. The cost of having a spare power supply, motherboards, network interface cards, and
so on sitting on a shelf is insignificant compared to the costs to your organization of having to
wait until a vendor ships you replacement parts.
Replicate virtual machines that host critical services across multiple physical systems so that you
can survive the failure of a single physical machine and associated downtime by failing over to
alternate servers.
Run centralized system-monitoring software to alert you to emerging hardware and software
problems before they become critical. This provides a window of opportunity for you to
migrate existing virtual machines to other physical hosts, bring up new physical hosts if
needed, and so on.
Centralized failures, such as power or network outages in your cage or machine room, will always be
potential problems, and are not significantly different in virtualization environments. Your disaster
recovery plans should already include information about how to deal with these types of problems
through redundancy and collocation.
Server Sharing and Performance Issues
Planning for growth and increased demands is easy to overlook when creating any IT infrastructure.
“Cost - conscious corporate computing” is a phrase that easily rolls off the tongue of bean counters, and it
is important to make the case for capacity planning when specifying hardware requirements and
designing any associated IT infrastructure. Capacity planning can be even more important when
designing a virtualization - based IT infrastructure because the extent to which your virtual servers can
handle increased loads and are portable across multiple physical host systems is largely dependent on
how they are configured.
While approaches to server virtualization such as paravirtualization provide significant abstraction of
the underlying hardware, you must be careful to design your virtual servers so that they are as
independent of specific physical constraints as possible. For example, using local physical storage will
always be relatively inflexible. The storage requirements of virtual servers can always provide a
potential problem unless they, too, are abstracted from physical systems, either through the use of
networked filesystems or through some storage virtualization technique. Similarly, applications that
depend on the latest, greatest processor extensions may run slowly in a virtualization environment
because they cannot get direct access to the hardware that they require.
In terms of capacity planning, the type of work that your users do on virtual servers can change the
requirements for those virtual servers. For example, adding more users to existing virtual machines or
performing more processor - intensive tasks on those systems can significantly increase the amount of
memory that a virtual machine requires, as well as the amount of memory that the physical host system
can allocate to it. Similarly, performing more data - intensive tasks on your virtual servers can change the
❑
❑
❑
❑
c01.indd 22c01.indd 22 12/14/07 3:57:26 PM12/14/07 3:57:26 PM