For the organization that
chooses to leverage the capabilities of Windows Server 2008 R2
virtualization, a few moments should be spent to determine the proper
size, capacity, and capabilities of the host server that would be used
as the virtual server host system. Many server system applications get
installed with little assessment on resource requirements of the
application itself, because most servers in a data center are running
less than 10% server utilization, so there is plenty of excess server
capacity to handle server workload capabilities.
With Hyper-V, however,
because each guest session is a discretely running operating system, the
installation of as few as three or four high-performance guest sessions
could quickly bring a server to 50% or 60% of the server performance
limits. So, the planning phase is an important step in a Hyper-V
implementation.
Sizing Your Windows
Server 2008 R2 Server to Support Virtualization
Although the minimum
requirements for server compatibility for Windows Server 2008 R2
applies, because server virtualization is the focus of this server
system, the minimum Windows Server 2008 R2 server requirements will not
be sufficient to run Hyper-V virtualization.
Additionally, although Windows
Server 2008 R2 supports up to 64 processor cores, 1TB of RAM, and 384
concurrently running virtual machines, the reality on the scaling of Windows
virtualization comes down to the raw capabilities of network I/O that
can be driven from a single host server. In many environments where a
virtualized guest system has a relatively low system utilization and
network traffic demand, a single host system could easily support a
dozen, two dozen, or more guest sessions. Other environments where a
virtualized guest session has an extremely high system utilization, lots
of disk I/O, and significant server network I/O, the organization might
find that a single host server would maximize its capacity with as few
as seven or eight guest sessions.
RAM for the Host Server
The rule of thumb for
memory of a Windows Server 2008 R2 server running Hyper-V is to have 2GB
of RAM for the host server, plus enough memory for each guest session.
Therefore, if a guest session needs to have 2GB of RAM, and there are
three such guest sessions running on the host system, the host system
should be configured with at least 8GB of RAM. If a guest session
requires 8GB of memory and three of those systems are running on the
system, the server should be configured with 24GB of memory to support
the three guest sessions, plus at least 2GB of memory for the host
system itself.
Processors for the Host
Server
The host server itself in
Windows Server 2008 R2 virtualization has very little processor I/O
requirements. In the virtualized environment, the processor demands of
each guest session dictate how much processing capacity is needed for
the server. If a guest session requires two cores to support the
processing requirements of the application, and seven guest sessions are
running on the system, the server should have at least 15 cores
available in the system. With quad-core processors, the system would
need four physical processors. With dual-core processors, the system
would need at least eight physical processors.
With Windows Server 2008 R2
virtualization, each guest session can have up to 64 cores dedicated to
the session, or processing capacity can be distributed, either equally
or as necessary to meet the performance demands of the organization. By
sharing cores among several virtual machines that have low processing
needs, an organization can more fully utilize their investment in
hardware systems.
Disk Storage for the
Host Server
A host server typically has the
base Windows Server 2008 R2 operating system running on the host system
itself with additional guest sessions either sharing the same disk as
the host session or the guest sessions virtual disks being stored on a
storage area network (SAN) or some form of external storage.
Each guest session takes up at
least 7GB of disk space. For guest sessions running databases or other
storage-intensive configurations, the guest image can exceed 10GB, 20GB,
or more. When planning disk storage for the virtual server system, plan
to have enough disk space to support the host operating system files
(typically about 7GB of actual files plus space for the Pagefile) and
then disk space available to support the guest sessions.
Running Other Services
on the Hyper-V System
On a system running Hyper-V, typically an organization
would not run other services on the host system, such as making the host
server also a file and print server, making the host server a
SharePoint server, or so on. Typically, a server running virtualization
is already going to be a system that will maximize the memory,
processor, and disk storage capabilities of the system. So, rather than
impacting the performance of all the guest sessions by having a
system-intensive application like SharePoint running on the host system,
organizations choose to make servers running virtualization dedicated
solely to the operation of virtualized guest sessions.
Of course, there are
exceptions to this general recommendation. If a system will be used for
demonstration purposes, frequently the host system is set up to run
Active Directory Domain Services, DNS, DHCP, and other domain utility
services. So, effectively, the host server is the Active Directory
system. Then, the guest sessions are created to run things like
Microsoft Exchange 2010, SharePoint 2007, or other applications in the
guest sessions that connect back to the host for directory services.
Other organizations might
choose to not make the host system the Active Directory server, but
rather put the global catalog functions in yet another guest session and
keep the host server dedicated to virtualization.
Planning for the Use of
Snapshots on the Hyper-V System
A technology built in to
Hyper-V is the concept of a snapshot. A snapshot uses the Microsoft
Volume Shadow Copy Service (VSS) to make a duplicate copy of a file;
however, in the case of virtualization, the file is the virtual server
guest virtual disk.
The first time a snapshot
is taken, the snapshot contains a compressed copy of the contents of RAM
on the system along with a bitmap of the virtual disk image of the
guest session. If the original guest image is 8GB in size, the snapshot
will be significantly smaller in size; however, the server storage
system still needs to have additional disk space to support both the
original disk image, plus the amount of disk space needed for the
contents of the snapshot image.
Subsequent snapshots can
be taken of the same guest session; however, the way VSS works, each
additional snapshot just identifies the bits that are different from the
original snapshot, thus reducing the required disk space for those
additional snapshots to be just the same as needed for the incremental
difference from the original snapshot to the current snapshot. This
difference might be just megabytes in size.