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.
Virtualizing Sharepoint for Performance and Availability
1. Virtualizing SharePoint for
Performance & Availability
Damir Bersinic
Senior Platform Advisor
Microsoft Canada Inc.
damirb@microsoft.com
Twitter: @DamirB
http://blogs.technet.com/b/canitpro
2. 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
3. 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
4. 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
6. Role Virtualization Considerations
Virtualization
Role Considerations and Requirements
Decision
Web Role • Easily provision additional servers for load balancing and fault
Ideal
Render Content tolerance
Query Role • For large indexes, use fixed sized VHD
Ideal
Process Search Queries • Requires propagated copy of local index
Application Role • Provision more servers as resource requirements for individual
Ideal
Excel Services, etc applications increase
Index Role • Environments where significant amount of content is not crawled
Consider
Crawl Index • Requires enough drive space to store the index corpus
• Environments with lower resource usage requirements
Database Role Consider • Implement SQL Server® alias for the farm required
7. Web Role CPU RAM
• Responsible for rendering of content
Low amount of disk activity
DISK NETWORK
•
• 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 NLBto dedicated resources
• Software ->CPUand Network usage onWFE
• For minimum availability split your load balanced virtual web servers over two
physical hosts
8. 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
9. Query Role
• Process search queries CPU RAM
• Requires propagated copy of the index
• 10%-30% of total size of documents indexed DISK NETWORK
• 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
10. Index Role CPU RAM
• Memory, CPU, Disk I/O and network intensive DISK NETWORK
• 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
11. Application Server Roles CPU RAM
• Excel Services, PerformancePoint Services, DISK NETWORK
Access Services, Visio Services, etc. are good
candidates for virtualization
• Additional servers can simply be added into
the farm
• No additional hardware investment required
12. Database role CPU RAM
• SQL Server 2005/ 2008/2008R2 virtualization fully
supported DISK NETWORK
• 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
13. SharePoint Farm – Database role CPU RAM
• If you decide to virtualize database DISK NETWORK
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
15. CPU Best Practices
PHYSICAL VIRTUAL
• Performance is governed by processor • Configure a 1-to-1 mapping of virtual CPU to
efficiency, power draw and heat output physical CPU for best performance
• Faster versus efficient processor – hidden • Be aware of the virtual processor limit for
power consumption cost different guest operating systems and plan
• Beware of built in processor software such as accordingly
performance throttle for thermal thresholds • Beware of “CPU bound” issues, the ability of
• Prefer higher number of processors and multi processors to process information for virtual
core devices will determine the maximum
• Prefer PCI Express to limit bus contention & throughput of such a virtual device.
CPU utilization Example: Virtual NICS
16. Memory Best Practices
PHYSICAL VIRTUAL
• Ensure there is sufficient memory installed on • Configure the correct amount of memory for
the physical computer that hosts the Hyper-V guests. (memory configuration is hardware
virtual machines specific).
• Factor in Hypervisor memory overhead over • NUMA Memory Considerations (see next
and above standard virtual machine memory slide)
requirements. • Watch out for page file / swap file. Disk is
• Use SLAT-based hardware for lowest always slower than RAM. Ensure enough
memory management overhead 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
17. 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 performance
Example:
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.
18. Physical NUMA
NUMA node 1 NUMA node 2
• NUMA (Non-uniform memory access)
– Helps hosts scale up the number of cores Processors
and memory access
– Partitions cores and memory into “nodes” Memory
– 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
19. Physical NUMA Implementation – GOOD!
NUMA node 1 NUMA node 2
• This is optimal… Processors
– System is balanced Memory
– Memory allocation and NUMA node 3 NUMA node 4
thread allocations within Processors
the same NUMA node Memory
– Memory populated in
each NUMA node
20. Physical NUMA Implementation – BAD!! NUMA node 1 NUMA node 2
Processors
• This isn‟t optimal…
– System is imbalanced Memory
– Memory allocation and thread allocations
across different NUMA nodes
– Multiple node hops NUMA node 3 NUMA node 4
– NUMA Node 2 has an odd number of Processors
DUMMS
– NUMA Node 3 doesn‟t have enough Memory
– NUMA Node 4 has no local memory
(worst case)
Host NUMA
21. 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!
22. Disk Best Practices
PHYSICAL VIRTUAL
• Ensure you are using the fastest SAN infrastructure: • Prefer SCSI controller to IDE controller.
Attempt to provide each virtual machine with its own IO • Prefer fixed size to dynamically expanding (more info
channel to shared storage using dual or quad ported here)
HBAs and Gigabit Ethernet adapters.
• Prefer direct iSCSI SAN access for disk-bound roles
• Use iSCSI SANs for if considering guest clustering
• Beware of underlying disk read write contention between
• Ensure your disk infrastructure is as fast as it can be. (RAID different virtual machines to their virtual hard disks
10; 15000 RPM) –Slow disk causes CPU contention as
Disk I/O takes longer to return data. • Ensure SAN is configured and optimized for virtual disk
storage. Understand that a number of LUNs can be
• Put virtual hard disks on different physical disks than the provisioned on the same underlying physical disks
hard disk that the host operating system uses
23. Network Best Practices
PHYSICAL VIRTUAL
• Use Gigabit Ethernet adaptors and Gigabit switches • Ensure that integration components (“enlightenments”)
• Increasing network capacity –Add a number of NICs are installed on the virtual machine
to host. • 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 VMBusto 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.
25. 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
26. 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
Cluster
Guest
Cluster
Live
1 2 1 Migration
1 2
2
Host cluster
Shared Storage
iSCSI Shared Storage
Redundant
iSCSI, SAS, Fibre
Paths to storage
Guest Clustering Live Migration & Host Clustering
27. What Host Clustering Delivers
• Host Clustering Benefits:
• Avoids a single point of failure when consolidating
• Survive Host Crashes
• VMsrestarted onanothernode
• Restart VM Crashes
• VMOSrestarted onsame node
• Recover VM Hangs
• VMOSrestarted onsame node Cluster
• Zero Downtime Maintenance & Patching SAN
• Livemigrate VMs toother hosts
• Mobility & Load Distribution
• Livemigrate VMs todifferent servers to load balance
• Ideal for most SharePoint server roles
28. 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
Cluster
iSCSI
29. 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
Guest Cluster
CLUSTER CLUSTER
iSCSI
SAN SAN
30. 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
31. 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
32. 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
34. SharePoint Virtualization Best Practices
Best Practices and Recommendations
• Configure a 1-to-1 mapping of virtual processor to logical processors for best performance
CPU
• Be aware of “CPU bound” issues
Memory • Ensure enough memory is allocated to each virtual machine
• Be aware of underlying disk read write contention between different virtual machines to their
Disk virtual hard disks
• Ensure SAN is configured correctly
• Use VLAN tagging for security
Network
• Associate SharePoint® virtual machines to the same virtual switch
• Ensure that integration components are installed on the virtual machine
• Do not use other host roles (use server core)
Others
• Avoid single point of failure: load balance your virtual machines across hosts and cluster
virtual machines
35. 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
36. 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
37. 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
38. Session Resources
• Microsoft Virtual Academy
• TechNet: Virtualization for SharePoint Server 2010
• Download: Planning Guide for Server Farms & Environments
for SharePoint Server 2010
• Microsoft „Virtualizing SQL Server‟ Whitepaper
• Optimizing SQL Server for Private Cloud
39. 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
40. 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