Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Best Practices For Virtualised Share Point T02 Brendan Law Nathan Mercer
1. Best Practices for Virtualised SharePoint Brendan Law Blaw@td.com.au @FlamerNZ Flamer.co.nz/spag/ Nathan Mercer Nathan.Mercer@microsoft.com @NathanM blogs.technet.com/nmercer/
2. Agenda Why Virtualise? Hardware Licensing Storage Virtualisation Technologies SharePoint Roles Backup Development and Testing Environments Management Tools
3. Introduction Virtualisation is huge 95.7% virtualise SharePoint development environments 50% virtualise their production environment Performance is competitive 7.2% less throughput on 8GB virtual vs 32GB physical Web Front Ends 4.4% slower page response times
4. Why Virtualise? Consolidate hardware Reduce power consumption Reduce cooling costs Reduce environmental impact Increase server utilisation Improve development and testing environment lifecycle Increase development environment flexibility with snapshots
5. Hardware Use the System Centre Capacity Planner Assessment Planning (MAP) Toolkit for Hyper-V Virtual Machine hosts should be 64 bit Memory and CPU benefits; Guests benefit from being x64 too RAM is the biggest factor for guest performance Use SAN attached storage Use latest operating system on guests Understand ‘support’ and ensure software is certified via Windows Server Virtualisation Validation Program (SVVP) http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpwizard.htm
6. Licensing Hyper V Server (host free only) Windows Standard Server (host + 1 VMs) Windows Enterprise Server (host + 4 VMs) Windows Server Virtualisation Calculator http://www.microsoft.com/Windowsserver2008/en/us/hyperv-calculators.aspx
17. Planning Partitioning Which will be on SAN, pass through disk? Farm Topology Split roles across multiple hosts? Disaster Recovery What happens if a host fails? High Availability Use virtual infrastructure as fail over for physical?
18. Storage Virtual hard disks are large Deduplication Linked clones Virtual Templates RAID SAN storage for performance Or dedicated pass through disks for isolation Specify performance requirements for disks Archive testing environments Don’t just delete them!
19. Virtualisation Technologies A lot of variety out there Bare Metal Hypervisor Windows Server 2008 Hyper-V VMWare ESX Server Hosted Hypervisors Virtual Server 2005 R2 VMWare Server Virtual PC
22. Windows Server 2008 R2 – Hyper-V Live Migration Cluster Shared Volumes with I/O Fault Tolerance 64 Logical Processor (Core) Support Core Parking Processor Compatibility Mode Hot Add/Remove Storage Second Level Address Translation Leveraging new Virtualisation technology built into next generation of Intel (EPT) / AMD (NPT) chips Boot from VHD Networking Improvements Jumbo Frames & TCP Offload Virtualised I/O
23. SharePoint Roles Good Virtualisation Candidates: Web server role Query role Other application roles With some planning: Index role Database role MOSS Performance and capacity requirements for Hyper-V http://technet.microsoft.com/en-us/library/dd277865.aspx
24. Web Front End Responsible for rendering of content with low amount of disk activity Multiple web role servers are common for redundancy and scalability Best Practices Be sure to keep all components, applications, and patch levels the same Network Load Balancing (NLB) Hardware -> Offload NLB to dedicated resources Software -> CPU and Network usage on WFE For minimum availability split your load balanced virtual web servers over two physical hosts RAM CPU DISK NETWORK
25. Query Server Process search queries Requires propagated copy of the index 10%- 30% of total sise of documents indexed Best Practice Large Indexes – Prefer dedicated physical LUN on SAN over dynamic expanding virtual hard disk Don’t put your query and index servers on the same underlying physical disk Combine or split Web/Query role? It depends on your environment. Web and Query performance requirements RAM CPU DISK NETWORK
26. Indexer Memory, CPU, Disk I/O and network intensive Best Practices Give most amount of RAM out of front ends Potentially keep as physical machine Use Index server to be dedicated crawl server. Avoids hop. Prefer physical LUN on SAN to virtual hard disk RAM CPU DISK NETWORK
27. Other Roles Excel Services, document conversions services are good candidates for virtualisation Additional servers can simply be added into the farm No additional hardware investment required RAM CPU DISK NETWORK
28. Database Server SQL Server 2005/ 2008 virtualisation fully supported Memory, CPU, Disk I/O and network intensive Assess first using Microsoft Assessment and Planning Toolkit (www.microsoft.com/map). SQL Alias flexibility Argument for Physical: SQL Server is already a consolidation layer Disk I/O activity Performance, performance, performance! Longer response times impacts ALL downstream roles in a SharePoint farm RAM CPU DISK NETWORK
29. Database Server If you decide to virtualise database layer: Assign as much RAM and CPU as possible Offload the Disk I/O from the virtual machines Prefer pass through disks over virtual disks SQL Clustering : Either virtualise the entire database layer or keep all physical. Do not virtualise the passive node. Not recommended. RAM CPU DISK NETWORK
30. Backup Virtual Machine Hard Disk Backup Databases Content Databases are highest priority Use SQL Maintenance Plans Backup Search Index and Database together Use built in tools (STSADM or Central Admin) Snapshots/Undo Disks Only on your development environments
31. Development Environments Developer Workstations Virtual PC/VMWare Workstation Plenty of RAM Use Sysprep to create re-usable VMs SQL does not like machine renames SharePoint Farm Configuration Scripts Grab them from Ben Curry - Mindsharp Snapshots/Undo Disks
32. Testing Environments Mirror production topology To give a valid test of deployment/solution Can be archived after development has finished But should be kept up to date Disaster Recovery testing with P2V/V2V Can be used to simulate failure Restore backups in test environment to recover individual items
33. Management Tools System Centre Virtual Machine Manager (VMM) Multi-Vendor Virtualisation Platform Support Performance and Resource Optimisation (PRO) Self Service, Delegation, P2V VMWarevCenter Virtual Machine templates Provisioning Monitoring of multiple hosts Physical to Virtual conversions
34. Virtual Machines Hosts Actions -> VM Details
41. Conclusion Virtualisation adoption is only going to increase Make sure you know how to get the most of it Use the free planning tools Get more information Blogs, Forums, Search, Twitter Questions?
I have been working for Thomas Duryea in Melbourne, a VMWare Premier partner which has given me the opportunity to get some experience with an alternative virtualisation vendorHave been working with SharePoint for 4 yearsStarted off as a developer on the 2003 versionNow I specialise in solution design and implementations
Why should we virtualise, what benefits does it give us?What do we need in terms of hardware?Nathan is going to tell us how the licensing works, and what will we need?Where are we going to store our hard disk files?What are our software options?And which SharePoint roles should be virtualised?How are we going to back up our environments once we have them set up?And, what I think is the best use of Virtualisation in SharePoint, Development environmentsFinally, we’ll have a look at some of the management tools available to try and relieve some of the administrative burden
These statistics speak for themselves reallyIn a recent survey: http://www.wictorwilen.se/Post/SharePoint-Virtualization-Survey-results.aspx
Virtualisation can:Allow you to run multiple machines on one host machine, perfect for a Testing or Development environmentAnd since you don’t have those other machines consuming power and needing to be cooled, energy costs can be reducedMost servers average between 1-5% CPU utilisation, so hosting them on one machine means more efficiencyAnd in my opinion, the best use of virtualisation, is for development and testing machinesVirtualisation means that dev machines can be built, copied, syspreped, archived, backed up and moved around between all sorts of environments
The SCCP is a free tool from Microsoft which can help give you an idea of the specifications you’ll need for your virtual SharePoint boxes, and it also creates diagrams that you can save as Visio documents64 bit host machines allow native hyper-visorsSVVP – Xen Server, Cisco Virtual Blades, ESX Server, vSphereCheck http://www.windowsservercatalog.com/svvp.aspx for latestMicrosoft has a Virtualization Support Wizard on the internet that can help them find out if a virtualization configuration is supported without calling Microsoft support.· The URL of the Wizard is http://www.windowsservercatalog.com/svvp.aspx?svvppage=svvpwizard.htm· There are also external resources available through the Virtualization Troubleshooting and Support TechCenter on TechNet at: http://technet.microsoft.com/en-us/virtualization/cc150661.aspx
Come see my session tomorrow where we go into the environmental best practicesYour VM hard drive files should already be on a fast disk subsystem, but there are roles that will benefit from special planningIf you only have one VM host, this will be a single point of failure for your SharePoint Farm, and it will make scheduling outages difficultAlso, a virtual high availability solution can be easily built using virtual servers as stand by for your physical servers
Storage of your virtual hard drives can quickly become an issue if not well planned, but there are some techniques to reduce the overall size requiredDedup – reduces space needed by keeping only one copy of each files (also knows as single instance storage) Linked clones allow creation of duplicate virtual machines without affecting the original VM Virtual Templates enable quick creation of new servers from a standardised templateSANs or storage area networks are becoming more common, which provide economies of scale in terms of performance and redundancyTo determine what type of disk you will need, specify what latency is acceptable, and then perform benchmarking against your proposed designIf you think of the amount of work that has gone into creating a testing environment, this will need to be re done if changes need to be made to productionAlso, testing environments can be useful for restoring individual documents and testing disaster recovery plans
No matter which virtualisation vendor you are using, there are some common themes to take into accountNew host machines should be capable of running native hyper visors and should have plenty of space for additional RAMESX Server is based on unix, which can make some advanced administrative tasks challenging for a Windows only shopVMWare Workstation however has some of the best support for guest operating systems, and great snapshot features
On par with WS2008 R2 Enterprise1 TB RAM (up from 32GB)64 Logical Processor (Core) Support (up from 24)Cluster Shared VolumesHot-Add / Remove StorageFailover Clustering & Live MigrationFreeDoesn’t require dedicated management productManage from WS2008 R2 GUI / Win 7 RSAT
Index and database servers can be virtualised if their intensive disk usage behavior is kept in mind.To get the best performance, use separate physical (pass through) disks for database and log storage, and for the full text catalog
Virtualisation of the SharePoint Web RoleVirtualised Web Role ServersThe Web Role is the most commonly virtualised role in a SharePoint farm, by nature of its smaller memory and disk requirements and by the ease in which a new web front-end can be added into an existing farm.The SharePoint Web Role, responsible for the rendering of content, is the most ideal virtualisation candidate in a SharePoint farm. Each front-end has comparatively lower memory requirements, and there is a generally a lower amount of disk activity that occurs on web front-ends than on some of the other roles. Subsequently, many organisations are finding it highly useful to virtualise Web Role servers in farms of many sises and configurations. Multiple web front-end servers in a farm can be load balanced, either with built-in Windows Network Load Balancing or by using hardware based load balancer. Because of this fact, multiple web front-ends can easily be provisioned into a SharePoint environment and added into a load-balanced pool. This provides for both high availability in the event of a failure of an individual server but also provides for distribution of the load across the web front-ends. Virtualisation adds another layer to this as SharePoint architects are no longer limited to individual physical boxes, but can instead be distributed across multiple virtual guests. In the event that the load increases in a SharePoint farm, additional web role servers can be quickly provisioned to distribute the load.For example, where previous physical architecture would dictate two or more physical servers with a large amount of memory and processor capabilities, current flexibility with virtualisation technologies allow for a larger number of virtual servers that use less memory and processor than their physical counterparts. Indeed, recent testing performed by Microsoft has found that throughput on virtual web roles with 8GB of RAM allocated to them performed was only 7.2% less than a physical web role server with 32GB of RAM allocated to it. In the same testing, page response time was only 4.4% slower on the Hyper-V web front-end than the physical server. This type of testing illustrates how virtualizing the web role has little impact on overall performance compared to physical web role servers.Software, such as Network Load Balancing (NLB) services in the Microsoft Windows Server 2003 operating systemuses TCP/IP to route requests. impact on system resources is not great, and a software solution can handle up to 32 front-end Web servers. Hardware, such as a router or switch box. Load balancing hardware uses your network to direct Web site traffic between your front-end Web servers. Load balancing hardware is more expensive to set up than softwareround-robin load balancing with Domain Name System (DNS). Round-robin DNS load balancing can use significant resources on the front-end Web servers, is slower than load-balancing software or hardwareNetwork is becoming more and more important as orgs consolidate distributed deployments into centralised deployments. Problem occurs when RPS reaches a point where the resultant traffic is more than your wan can handle = drop in performance, timeouts, frustrated usersLAN – 100mbits/sec- 1Gbits/sec;WAN-T3 – 44mbits or T1 1536Kbits/sec; PLUS latency – Before you know it you are max on the traffic e.g. 5000KBSoftware NLBWindows NLBRound robin is not recommendedHardware F5 BIG-IP Load Balancer (LTM Web Accelerator)Citrix NetscalerCisco Content SwitchHardware has advantages over SoftwarePROSWFE not doing extra workEfficientGlobal load balancing – directed to local sharepoint implementation by load balancerCONSMore expensiveENABLE STICKINESS (Use same wfe – stop multiple auth promptsNetwork Load Balancing Across Virtual HostsSharePoint Web-front end server use network load balancing to provide for high availability of SharePoint content. To be able to provide for the fullest level of physical server fault-tolerance, virtual web role servers should be split across multiple Hyper-V hosts. This way, if a single host were to fail, the other host would keep the other web server role running.Clustering Virtual GuestsWindows Server 2008 Hyper-V is fully cluster aware, and supports scenarios where cluster nodes are installed on one more more Hyper-V servers
Virtualisation of the SharePoint Query RoleThe Query role, responsible for searches performed by users, is another possible candidate for virtualisation, as long as SharePoint architects take a few key factors into consideration. 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 SharePoint and outside of SharePoint, the Index sise can be quite large. Query PropagationIf the Query role resides on the same server as the Index Role, there cannot be any additional Query servers in the farm as SharePoint will not propagate the Index. For virtualised environments, this can mean fewer disk requirements for the Index corpus.The Index Corpus can vary in sise from 10% to 30% of the total sise of the documents being indexed, so SharePoint architects will need to take this into account when designing a virtual server solution. For large indexes, it is generally recommended that each index server use a physical disk volume that is dedicated to the individual query server, rather than a virtual disk (VHD) file. Hyper-V fully supports this scenario, and it provides for faster disk performance than a VHD file does. SharePoint architects often combine the web and the query role onto the same servers, and this model is supported in a virtualisation environment as well, as long as the propagated index considerations listed above are taken into account. Because of the ease of provisioning new servers, and the ability to deploy multiple servers on a small number of physical hosts, however, many SharePoint architects find it advantageous to break off the query role from the web role and virtualise them as separate sessions. For example, a pair of Web/Query servers in a physical farm could instead become four separate servers, two web and two query. The key is that Hyper-V provides for this type of flexibility, and if the Query role performance suffers in the future, the SharePoint architect can always break the role off onto a separate server in the future if needed.
The Index server role in a SharePoint farm is often times the most memory intensive role, making it a less ideal candidate for virtualisation. This by no means rules it out as a candidate to be virtualised, 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.Crawling RecommendationIt can be advantageous to have the index server be the dedicated crawl server for a farm, as it eliminates the extra hop required to crawl content in a traditional scenario when other web servers are used. To do this, the web role must be added to the server and the farm must be configured to use a dedicated server.As with the Query role, the Index role requires enough drive space to store the index corpus. Depending on the sise of documents being indexed, this could be a volume of significant sise. If large enough and for performance reasons, it is often best to attach directly to a physical volume directly connected to the host server, rather than to a VHD virtual disk file. If the environment is small, is a test or dev environment, or does not crawl significant amounts of content, the 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. SharePoint architects can start an environment with a physical server and then virtualise at a later time using Physical to Virtual (P2V) tools that are part of the System Center Virtual Machine Manager (VMM) product discussed later in this document.
Virtualisation of Application RolesThe 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 virtualised in many environments. As the resource requirements of the individual application increase, additional servers to assist with that application can simply be added into the farm. Indeed, the flexibility of the virtualisation 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.
MAP Microsoft Assessment and Planning Toolkit http://technet.microsoft.com/en-us/library/bb977556.aspxSQL Alias FlexibilityWhen provisioning a new SharePoint farm, it is highly recommended to use an alias to connect to the SQL server, as this provides for greater flexibility to move the SharePoint databases to a new server. For example, if starting with a smaller virtual SQL database server, then scaling out to a larger physical cluster in the future, the migration process can be simplified by using an alias during the installation.The least common role that is virtualised in production scenarios is the SharePoint database role, mainly because this role has the highest amount of disk IO 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 SQL server virtualised in test farms, QA farms, DMZ farms, or smaller SharePoint environments. The litmus test for whether or not to virtualise SQL servers is whether or not 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 IO requirements of an existing farm if determining whether or not to virtualise that environment.
Download Microsoft Assessment and Planning Toolkit
To ensure a full backup of your virtualised servers, simply backup the entire virtual hard diskVirtualised database server’s system partitions can also be backed up this way, but normal SQL backup procedures should be used for database contentUse maintenance plans, But don’t include tasks to shrink databases, as this can cause file system fragmentation.Search full text catalog, and the search database need to be restored as a setAlternatively, if your search corpus is relatively small, or crawls can be completed quickly, the content can be re-indexed without restoring from backupIf you use the snapshot feature on a production environment, there is a risk that the timer services and the search application may become unsynchronised during the snapshot processHowever, this is perfect for Development machines to test out deployments and configuration changeshttp://technet.microsoft.com/en-us/library/cc816955.aspx
If you aren’t doing this already, Virtualisation is the perfect technology for your development environmentsDeveloper’s work stations should have plenty of RAM installed so that they can run one or more Virtual Dev environmentsThis allows developers to create environments with all the tools and technologies needed for a particular project or solution, and then re-set the environment back to standard once development has been completedIt is possible to create a development VM template that is syspreped and scripted so that new machines are uniquely named and installed to organisational standardUse the scripts from Mindsharp’s Ben Curry, downloadable from their website. You need to register for free, as this is under the premium content section
Building up a testing environment is an essential part of a development project’s lifecycle, and Virtualisation makes this easierIt is a lot simpler and cheaper to mirror a production configuration on a virtual platform, and it also means that deployments can be tested over and overThe same virtual host platform can be used for multiple development projects, as older environments can be archived and moved off the host serverAs well as DR testing, the test platform can be used for item level restores, and testing of patches and service packs