Windows Server 2008 Hyper-V virtualization provides a great deal of design flexibility for SharePoint architects. Each server role operates in a different way, and each has different memory and disk requirements, so it is important to understand in which scenarios the most benefits can be obtained from virtualizing SharePoint servers and in which scenarios it may not be ideal.
1).Virtualization of the SharePoint Web Role
The SharePoint Web role, responsible for the rendering of content, is the most ideal virtualization candidate in a SharePoint farm. Each front-end has comparatively lower memory requirements and there is generally a lower amount of disk activity that occurs on Web front-ends than on some of the other roles. Subsequently, many organizations are finding it highly useful to virtualize Web role servers in farms of many sizes and configurations.
2). Virtualization of the SharePoint Query Role
The query role, responsible for searches performed by users, is another possible candidate for virtualization, as long as SharePoint architects consider a few key factors. First and foremost, each query server in a farm must have a propagated copy of the index stored on a local drive. Depending on the amount of data that is being indexed, both within and outside SharePoint, the index size can be quite large.
3). Virtualization of the SharePoint Index Role
The index server role in a SharePoint farm is often the most memory-intensive role, making it a less ideal candidate for virtualization. This by no means rules it out as a candidate to be virtualized. It simply reduces the advantages that can be gained by virtualizing the server, as more of the host’s resources will need to be dedicated to the task.
As with the query role, the index role requires enough drive space to store the index corpus. Depending on the size of documents being indexed, this could be a volume of significant size. If large enough and for performance reasons, it is often best to attach directly to a physical volume connected to the host server, rather than to a VHD virtual disk file.
4). Virtualization of Application Roles
The application roles of Excel® Services and InfoPath® Forms Services are sometimes installed on dedicated servers, depending on their usage. These roles are similar to the Web server role in that they also can be easily virtualized in many environments. As the resource requirements of the individual application increase, additional servers to assist with the application can simply be added to the farm. Indeed, the flexibility of the virtualization model makes it easier for SharePoint architects to simply break out the application roles onto their own dedicated servers without having to invest in additional hardware.
5).Virtualization of the SharePoint Database Role
The least common role that is virtualized in production scenarios is the SharePoint database role, mainly because this role has the highest amount of disk I/O activity and can often have very high memory and processor requirements. This rule of thumb generally only applies to production SQL databases, however, and it is very common to see the SQL Server virtualized in test farms, quality assurance (QA) farms, demilitarized zone (DMZ) farms, or smaller SharePoint environments. The litmus test for whether to virtualize SQL Servers is whether a high level of usage is expected from the server itself. Gathering performance metrics using a tool such as System Center Operations Manager 2007 can be a useful way to determine the disk I/O requirements of an existing farm if determining whether or not to virtualize that environment.
Figure 1: Sample Multi-Farm Physical and Virtual SharePoint Architecture
In Figure 1, the organization chose to virtualize three front-ends as part of their production farm, but to maintain a dedicated physical index server. They then chose to virtualize the rest of the farms, including QA and two Development farms, and to host all of the databases from each of the farms on a physical set of SQL Servers.
Virtualization of the SQL database role, whether using SQL Server 2005 or SQL Server 2008, is fully supported for a SharePoint farm. With this in mind, a SharePoint architect can examine whether it makes sense to virtualize a SQL environment for SharePoint or whether it is more logical to choose the more traditional physical server model for the SQL farm that a production SharePoint environment will use.