Virtualization
requirements vary by server role. It is subsequently important when
designing that you understand the individual requirements of each role.
Virtualization of the Web Role
The best candidate
for virtualization is the SharePoint server that has the web role, which
means it runs Microsoft IIS and handles all web requests sent to
SharePoint. Table 1 shows resource guidelines for virtualized SharePoint servers that have the web and other roles.
Table 1. SharePoint Server Role Resource Guidelines
Roles | Virtual Processors | Minimum RAM | Recommended RAM |
---|
Web role only | 2 | 6GB | 8GB+ |
Service application role only | 2 | 6GB | 8GB+ |
Search role only | 4 | 8GB | 10GB+ |
Combined web, service application, and search roles | 4 | 10GB | 12GB+ |
Database role | 4 | 8GB | 12GB+ |
As you can see in Table 1,
a SharePoint server that holds only the web role (otherwise known as
the web server) should be allocated at least two virtual processors and a
minimum of 6GB of RAM (preferably at least 8GB of RAM), along with a
single VHD for the OS. If a web server needs to handle more web traffic,
you can simply allocate additional web servers that have the same
specifications. The size of the host OS disk should be at least 12GB
plus three times the total amount of memory allocated to the VM, but
it’s good practice to size this volume larger (typically around 50GB to
100GB) to allow the host OS to grow in size.
Virtualization of the Application Roles
The next likely candidates
for virtualization include the SharePoint server with one or more
service application roles (otherwise known as the application server).
Application servers can include various service applications, such as
Access Services, PerformancePoint Services, and the Managed Metadata
Service. For purposes of design, this excludes the search services,
which are technically service applications, but for architectural
purposes are usually classified as part of a different server role.
As Table 12.1
shows, the typical virtualized application server consists of a VM with
two virtual processors and a minimum of 6GB of RAM allocated to it. It
needs a single VHD that’s presized in the 50GB to 100GB range for the
guest OS. Note that these numbers can vary, depending on how many
service applications are installed on a single machine and how many
people use the applications.
In smaller organizations, the
application role and the web role are often combined onto a single
SharePoint server. Combining the roles will increase the memory and
processor requirements of the guest session.
Virtualization of the Search Role
Third in line for
virtualization is the SharePoint server or servers that hold the search
role (otherwise known as the search server), which provides SharePoint’s
indexing and querying functionality. SharePoint 2010 doesn’t have the
same single-index restrictions that SharePoint 2007 did, which makes
this role more scalable and allows for more distributed deployment
models.
The typical virtualized search server consists of a VM with four virtual processors and 8GB of RAM allocated to it (see Table 12.1),
assuming that SharePoint 2010’s out-of-box search functionality is
being used. If FAST Search Server 2010 is used, the RAM requirements
will be in the 12GB to 16GB range. Like the application server numbers,
the search server numbers can vary, depending on how many items are
being indexed and how heavy the search requirements are.
The
search server needs a single VHD that’s presized in the 50GB to 100GB
range for the guest OS and another VHD for the index and query corpus.
The size of this VHD will vary, depending on how much full text is
indexed from various sources.
The crawler component is used
by SharePoint to crawl documents for search purposes. Multiple crawl
components can be created on different servers for redundancy.
In smaller organizations, the
search role is often combined with the web role. Combining these roles
can increase the memory and processor requirements of the guest session.
Virtualization of a Server with All Three Roles
Many organizations combine the
web, application, and search roles on a single virtualized SharePoint
server. This is often the case in smaller organizations that want to
deploy SharePoint across two guest sessions to be highly available but
have a smaller number of guests.
Although combining the
three roles results in additional load on an individual server session,
many of the same processor and memory guidelines that apply to a
dedicated web role server apply to a combined server, as Table 12.1 shows.
The typical virtual
web/query/search server role system consists of a VM with four virtual
processors and 10GB to 16GB of RAM allocated to it, depending on how
many users the system will support. It has a single VHD presized in the
50GB to 100GB range for the guest OS and another VHD for the index and
query corpus.
SharePoint administrators
familiar with SharePoint 2007 might be dismayed at the memory
requirements of SharePoint 2010, but the fact is that SharePoint 2010
requires much more memory than earlier versions. RAM requirements can be
lessened, however, by turning off nonessential service applications. In
general, to reduce the overall requirements of the SharePoint servers,
it is recommended to turn on only those service applications required by
the business.
Virtualization of the Database Role
The SQL Server database role
is the last but most challenging server role to virtualize. The server
with the database role (otherwise known as the database server) needs
the lion’s share of RAM and processor allocation. A minimum of four
virtual processors and 8GB of RAM should be allocated to the database
server. For best performance, though, at least 12GB of RAM should be
allocated.
Like SharePoint VMs,
SQL Server VMs require either fixed-sized or pass-through VHDs. The same
disk considerations that apply to physical SQL Server machines apply to
virtual SQL Server machines. So, be sure to allocate enough disk
spindles for the database and logs volumes. In addition, be sure to
follow standard best practices for SharePoint–SQL Server optimization,
such as presizing the tempdb and moving it to fast disk volumes.
Keep in mind that these
guidelines are simply guidelines. Actual performance will be dictated by
the type of disk, hardware architecture, and other factors. Some
organizations calculate their hardware requirements and then just add RAM or reduce the number of databases on a single SQL Server session.
Microsoft supports both
SQL mirroring and clustering as high-availability options in a
virtualized SQL Server environment. In addition, host failover options
such as Hyper-V Live Migration are supported for SQL Server VMs. One
fact to note, however, is that all SQL Server databases within a
SharePoint farm need to be restored from the same point in time as the
other databases. This applies to virtualization snapshot technology or
storage area network (SAN)-based snapshots of SQL Server databases.