virtualizing sharepoint for performance and availability
DESCRIPTION
Are you prepared to change the way you look at availability? Have you thought about how SharePoint works with Hyper-V Live Migration or vMWare's vMotion? As you architect your SharePoint farm virtually, knowing how to structure it correctly and leverage both physical and virtual elements effectively is a must. In this session, we’ll cover how and when to use virtualization availability features, Windows Failover Clustering and SQL Server technologies and the impact of combining them. We’ll also discuss how you can combine SharePoint, SQL Server and Windows Server features to help you ensure your SharePoint environment is available 24x7 365 days a year.TRANSCRIPT
Virtualizing SharePoint for Performance & AvailabilityDamir BersinicSenior Platform AdvisorMicrosoft Canada [email protected] Twitter: @DamirB http://blogs.technet.com/b/canitpro
Session Objectives and Takeaways• Session Objective(s): • Configure virtualization environments properly
to support SharePoint• Implement availability features in virtual
environments, SQL Server, and SharePoint• Key Takeaways:• All SharePoint Roles Can and Should be
Virtualized• Virtualization Can Increase Availability
Let’s All Get On The Same Page • Assumptions:
• You know how to deploy SharePoint on physical servers• You have done a basic install of Hyper-V and created a VM• You customers are currently working with Windows Server 2008R2 Hyper-V
and/or VMware• General Rules
• Architecting SharePoint correctly means doing the right things for SharePoint whether on physical hardware or in virtual environments
• Most of what I will be talking about applies to Hyper-V and VMware• Hyper-V is the best platform to run SharePoint workloads!
• AND IT GETS BETTER WITH WINDOWS SERVER 8 HYPER-V
Virtualization Software Best Practices• Use latest operating system for guest OS• Management tools make the difference• Understand support and ensure software is certified
via Windows Server Virtualization Validation Program (SVVP)
• Understand operating system licensing (Standard, Enterprise, Datacenter)• Applies to all virtualization software!
• Understand SharePoint Licensing – no change
Which SharePoint Role Should I Virtualize?
Role Virtualization ConsiderationsRole
VirtualizationDecision
Considerations and Requirements
Web RoleRender Content
Ideal• Easily provision additional servers for load balancing and
fault tolerance
Query RoleProcess Search Queries
Ideal• For large indexes, use fixed sized VHD• Requires propagated copy of local index
Application RoleExcel Services, etc
Ideal• Provision more servers as resource requirements for
individual applications increase
Index RoleCrawl Index
Consider• Environments where significant amount of content is not
crawled• Requires enough drive space to store the index corpus
Database Role Consider• Environments with lower resource usage requirements• Implement SQL Server® alias for the farm required
Web Role• Responsible for rendering of content • 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
DISK NETWORK
CPU RAM
Web Role - Using NLB in Hyper-V• To configure VMs in a Network Load Balancing cluster, enable MAC
address spoofing• This ensures the virtual switch will not learn MAC addresses, a
requirement for NLB to function correctly• VMQ does not work with NLB
• NLB changes the Virtual MAC Addresses which prevents Hyper-V from dispatching the packets directly to the guest’s queue
Query Role• Process search queries• Requires propagated copy of the index
• 10%- 30% of total size 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
DISK NETWORK
CPU RAM
Index Role• Memory, CPU, Disk I/O and network
intensive• Best Practices• Give most amount of RAM out of front ends• Potentially keep as physical machine in
larger environments• Use Index server to be dedicated crawl
server. Avoids hop.• Use fixed-size VHDs or physical LUN on
iSCSI SAN for best performance
DISK NETWORK
CPU RAM
Application Server Roles • Excel Services, PerformancePoint
Services, Access Services, Visio Services, etc. are good candidates for virtualization
• Additional servers can simply be added into the farm
• No additional hardware investment required
DISK NETWORK
CPU RAM
Database role • SQL Server 2005/ 2008/2008R2 virtualization 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
DISK NETWORK
CPU RAM
SharePoint Farm – Database role• If you decide to virtualize
database layer:• Assign as much RAM and CPU as possible• Offload the Disk I/O from the virtual machines
• Use fixed-size VHDs or physical LUN on an iSCSI SAN
• SQL Clustering: When virtualizing, consider making use of Guest Clustering in Hyper-V
• SQL Database Mirroring: Fully supported in SharePoint 2010 in physical or virtual database role environments
DISK NETWORK
CPU RAM
Performance Best Practices
CPU Best PracticesPHYSICAL• Performance is governed by processor
efficiency, power draw and heat output
• Faster versus efficient processor – hidden power consumption cost
• Beware of built in processor software such as performance throttle for thermal thresholds
• Prefer higher number of processors and multi core
• Prefer PCI Express to limit bus contention & CPU utilization
VIRTUAL• Configure a 1-to-1 mapping of virtual C
PU to physical CPU for best performance
• Be aware of the virtual processor limit for different guest operating systems and plan accordingly
• Beware of “CPU bound” issues, the ability of processors to process information for virtual devices will determine the maximum throughput of such a virtual device. Example: Virtual NICS
Memory Best PracticesPHYSICAL• Ensure there is sufficient memory
installed on the physical computer that hosts the Hyper-V virtual machines
• Factor in Hypervisor memory overhead over and above standard virtual machine memory requirements.
• Use SLAT-based hardware for lowest memory management overhead
VIRTUAL• Configure the correct amount of mem
ory for guests. (memory configuration is hardware specific).
• NUMA Memory Considerations (see next slide)
• Watch out for page file / swap file. Disk is always slower than RAM. Ensure enough memory is allocated to each virtual machine.
• If using VMware, avoid over committing memory as it may cause virtual machine to swap to disk which is slower than RAM.
• In Hyper-V consider whether or not to use Dynamic Memory
NUMA Memory Limitations Non-Uniform Memory Access (NUMA) Boundaries exist at the
hardware level. Virtual guests that are allocated more memory than exist within a
single NUMA memory boundary have significantly impacted performanceExample:
NUMA boundaries vary by processor and motherboard vendor, but good rule of thumb to calculate boundaries is to divide the amount of memory in the system by the total number of CPUs
i.e. 4 CPU host with 32GB of RAM on the host would mean NUMA boundary is 32/4 or 8GB
In this example, allocating more than 8GB for a single virtual machine would result in performance drops.
Physical NUMA• NUMA (Non-uniform memory
access)– Helps hosts scale up the number of
cores and memory access
– Partitions cores and memory into “nodes”
– Allocation and latency depends on the memory location relative to a processor
• High performance applications detect NUMA and minimize cross-node memory access Host NUMA
Memory
Processors
NUMA node 1 NUMA node 2
Physical NUMA Implementation – GOOD!• This is optimal…– System is balanced
– Memory allocation and thread allocations within the same NUMA node
– Memory populated in each NUMA node
Host NUMA
Memory
Processors
NUMA node 1 NUMA node 2
Memory
Processors
NUMA node 3 NUMA node 4
Physical NUMA Implementation – BAD!!• This isn’t optimal…
– System is imbalanced
– Memory allocation and thread allocations across different NUMA nodes
– Multiple node hops
– NUMA Node 2 has an odd number of DUMMS
– NUMA Node 3 doesn’t have enough
– NUMA Node 4 has no local memory (worst case)
Memory
Processors
NUMA node 1 NUMA node 2
Memory
Processors
NUMA node 3 NUMA node 4
Host NUMA
What NUMA Means to SharePoint
Keeping NUMA boundaries in mind, this means that you will get significantly better performance provisioning two SharePoint front-ends with half the amount of RAM as a single front-end with twice as much RAM.
This applies to any virtualization platform, as the limitation is hardware specific!
Disk Best PracticesPHYSICAL• Ensure you are using the fastest SAN
infrastructure: Attempt to provide each virtual machine with its own IO channel to shared storage using dual or quad ported HBAs and Gigabit Ethernet adapters.
• Use iSCSI SANs for if considering guest clustering
• Ensure your disk infrastructure is as fast as it can be. (RAID 10; 15000 RPM) – Slow disk causes CPU contention as Disk I/O takes longer to return data.
• Put virtual hard disks on different physical disks than the hard disk that the host operating system uses
VIRTUAL• Prefer SCSI controller to IDE controller. • Prefer fixed size to dynamically expanding
(more info here) • Prefer direct iSCSI SAN access for disk-bound
roles• Beware of underlying disk read write contention
between different virtual machines to their virtual hard disks
• Ensure SAN is configured and optimized for virtual disk storage. Understand that a number of LUNs can be provisioned on the same underlying physical disks
Network Best PracticesPHYSICAL• Use Gigabit Ethernet adaptors and Gigabit
switches • Increasing network capacity – Add a number
of NICs to host.
VIRTUAL• Ensure that integration components
(“enlightenments”) are installed on the virtual machine
• Use the Network Adapter instead of the Legacy Network Adapter when configuring networking for a virtual machine
• Prefer synthetic to emulated drivers as they are more efficient, use a dedicated VMBus to communicate to the Virtual NIC and result in lower CPU and network latency.
• Use virtual switches and VLAN tagging for security and performance improvement and create and internal network between virtual machines in your SharePoint farm. Associate SharePoint VMs to the same virtual switch.
High-Availability Considerations
Failover Clustering + Hyper-V• To increase the availability of VM’s and the applications they
host:• Hardware health detection• Host operating system health detection• Virtual machine health detection• Application/service health detection• Automatic recovery
• VM mobility
Clustering keeps you from putting all your VM eggs in 1 basket
Shared StorageiSCSI
Guest Cluster
Guest Cluster
1 2
Redundant Paths to storage
Shared StorageiSCSI, SAS, Fibre
LiveMigration
1 2
Host cluster
1 2
High Availability & Clustering• Consolidation Increases the importance of High Availability Features• Consolidation serves to increase cost for a single system failure • Increasing focus on planned outages vs. unplanned outages
Guest Clustering Live Migration & Host Clustering
What Host Clustering Delivers• Host Clustering Benefits:
• Avoids a single point of failure when consolidating• Survive Host Crashes
• VMs restarted on another node
• Restart VM Crashes• VM OS restarted on same node
• Recover VM Hangs• VM OS restarted on same node
• Zero Downtime Maintenance & Patching• Live migrate VMs to other hosts
• Mobility & Load Distribution• Live migrate VMs to different servers to load balance
• Ideal for most SharePoint server roles
SAN
Cluster
What Guest Clustering Delivers• Guest Clustering Benefits:
• Application Health Monitoring• App or service within VM crashes or hangs and moves to another VM
• Application Mobility• Apps or services moves to another VM for maintenance or patching of guest OS
• Ideal for SQL Server in SharePoint 2010 environments
iSCSI
Cluster
Combining Host & Guest Clustering • Best of both worlds for flexibility and protection
• VM high-availability & mobility between physical nodes• Application & service high-availability & mobility between VMs
• Increases complexity
CLUSTER CLUSTERiSCSI
Guest Cluster
SAN SAN
Failover Cluster Support Policy• Flexible cluster hardware support policy• Use any hardware configuration
• Each component has a Windows Server 2008 R2 logo• Servers, Storage, HBAs, MPIO, etc…
• It passes Validate• It’s that simple!
• Commodity hardware• No special list of proprietary hardware• Connect your Windows Server 2008 R2 logo’d hardware• Do not fail any test in Validate
• It is now supported!• If you make a change, just re-run Validate
• Details: http://go.microsoft.com/fwlink/?LinkID=119949
Distribute VMs Across Hosts• Cluster AntiAffinityClassNames property
• Groups with same AACN try to avoid moving to same node
• http://msdn.microsoft.com/en-us/library/aa369651(VS.85).aspx
• Enables VM distribution across host nodes• Better utilization of host OS resources• Failover behavior on large clusters:
KB 299631• Scenarios
• Keep similar VMs off the same host• Guest cluster nodes• DCs or infrastructure servers
• Separate tenets
SQL Server HA/DR & SharePoint• SQL Server High Availability • Database Mirroring
• Supported in SharePoint 2010• Not an option if using FILESTREAM
• Clustering (Host or Guest)
• Disaster Recovery• Easy to setup virtual DR farm! • Data: Log Shipping or SQL Mirroring • Use management tools to setup a disaster recovery farm
• System Center Virtual Machine Manager 2008R2 or 2012
Key Takeaways
SharePoint Virtualization Best PracticesBest Practices and Recommendations
CPU• Configure a 1-to-1 mapping of virtual processor to logical processors for best performance • Be aware of “CPU bound” issues
Memory • Ensure enough memory is allocated to each virtual machine
Disk• Be aware of underlying disk read write contention between different virtual machines to their virtual hard disks • Ensure SAN is configured correctly
Network • Use VLAN tagging for security • Associate SharePoint® virtual machines to the same virtual switch
Others
• Ensure that integration components are installed on the virtual machine • Do not use other host roles (use server core)• Avoid single point of failure: load balance your virtual machines across hosts and cluster virtual machines
Really Important Stuff…
• Understand the impact of your virtualization vendor feature set!
• Don’t let governance slip in your virtualized SharePoint environment
• Snapshots are not supported• Beware of over subscribing host servers• Do not exceed physical server RAM by more than
15% if using Hyper-V’s dynamic memory• Host is a single point of failure
Even More Important Stuff..
• Don’t fight SharePoint, you’ll lose! • Virtualization allows you to cut costs, consolidate
equipment, and take greatest advantage of hardware resources.
• Understand your hardware and use the correct processor architecture and operating system
• Plan for availability• Continually measure and optimize configuration to
achieve optimal performance of your SharePoint farm
Next Steps• Download System Center 2012 Eval
Software (http://technet.microsoft.com/en-us/evalcenter/hh505660)
• Join Microsoft Virtual Academy and take some courses (www.microsoftvirtualacademy.com)
• Download Windows Server “8” Beta
Session Resources• Microsoft Virtual Academy• TechNet: Virtualization for SharePoint Server 2010• Download: Planning Guide for Server Farms & Enviro
nments for SharePoint Server 2010• Microsoft ‘Virtualizing SQL Server’ Whitepaper• Optimizing SQL Server for Private Cloud
40
Session Resources (continued)• Books:• SharePoint 2007 Unleashed • SharePoint 2010 Unleashed• Windows Server 2008 R2 Unleashed • Windows Server 2008 R2 Hyper-V: Insider’s Guide
• Licensing Microsoft Server Products in Virtual Environments
• SharePoint 2010 Advanced IT Pro Training
In Review: Session Objectives and Takeaways
• Session Objective(s): • Virtualization Performance Best Practices• High Availability Considerations
• Key Takeaways:• All SharePoint Roles Can and Should be
Virtualized• Virtualization Can Increase Availability
Q & A
Virtualizing SharePoint for Performance & AvailabilityDamir BersinicSenior Platform AdvisorMicrosoft Canada [email protected] Twitter: @DamirB http://blogs.technet.com/b/canitpro
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this
presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.