Virtualizing the index role
The index role’s responsibility is to maintain an up-to-date index by crawling the index corpus using the configured incremental and full crawl schedules. It then needs to propagate the index to all the query servers. The Index server role in a SharePoint farm is often times the most memory intensive role, making it a less ideal candidate for virtualization if SharePoint already consumes all the memory the physical server has available. 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.
To increase index role suitability for virtualization might entail increasing memory the physical host server has available, therefore taking advantage of the consolidation effects with other workloads. Alternatively the virtualized index server could be moved to a larger system to host it side by side with other workloads of the SharePoint farm. In the end this really depends on the available infrastructure as well as the deployment goals of the SharePoint farm.
- Crawling recommendation: Use index server to be dedicated crawl server to avoid network hop.
- For best performance, use fastest disk infrastructure possible: Prefer dedicated physical volumes on underlying SAN infrastructure using the “pass through” disk feature of Hyper V or fixed disk VHD on that LUN over dynamically expanding virtual hard disks.
- Physical or Virtual Machine?: If the environment is small, is a test or dev environment, or does not crawl significant amounts of content, it is perfectly viable to use virtual disk files for the Index role. For very large production SharePoint farms, or for farms that are crawling a significant amount of content, the memory requirements and disk IO activity may prompt SharePoint architects to install the index role on a physical server.