virtualizing sharepoint for performance and availability

43
Virtualizing SharePoint for Performance & Availability Damir Bersinic Senior Platform Advisor Microsoft Canada Inc. [email protected] Twitter: @DamirB http://blogs.technet.com/b/canitpro

Upload: damir-bersinic

Post on 20-May-2015

1.352 views

Category:

Technology


5 download

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

Page 1: Virtualizing Sharepoint for Performance and Availability

Virtualizing SharePoint for Performance & AvailabilityDamir BersinicSenior Platform AdvisorMicrosoft Canada [email protected] Twitter: @DamirB http://blogs.technet.com/b/canitpro

Page 2: Virtualizing Sharepoint for Performance and Availability

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

Page 3: Virtualizing Sharepoint for Performance and 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

Page 4: Virtualizing Sharepoint for Performance and Availability

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

Page 5: Virtualizing Sharepoint for Performance and Availability

Which SharePoint Role Should I Virtualize?

Page 6: Virtualizing Sharepoint for Performance and Availability

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

Page 7: Virtualizing Sharepoint for Performance and Availability

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

Page 8: Virtualizing Sharepoint for Performance and Availability

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

Page 9: Virtualizing Sharepoint for Performance and Availability

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

Page 10: Virtualizing Sharepoint for Performance and Availability

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

Page 11: Virtualizing Sharepoint for Performance and Availability

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

Page 12: Virtualizing Sharepoint for Performance and Availability

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

Page 13: Virtualizing Sharepoint for Performance and Availability

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

Page 14: Virtualizing Sharepoint for Performance and Availability

Performance Best Practices

Page 15: Virtualizing Sharepoint for Performance and Availability

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

Page 16: Virtualizing Sharepoint for Performance and Availability

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

Page 17: Virtualizing Sharepoint for Performance and Availability

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.

Page 18: Virtualizing Sharepoint for Performance and Availability

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

Page 19: Virtualizing Sharepoint for Performance and Availability

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

Page 20: Virtualizing Sharepoint for Performance and Availability

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

Page 21: Virtualizing Sharepoint for Performance and Availability

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!

Page 22: Virtualizing Sharepoint for Performance and Availability

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

Page 23: Virtualizing Sharepoint for Performance and Availability

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.

Page 24: Virtualizing Sharepoint for Performance and Availability

High-Availability Considerations

Page 25: Virtualizing Sharepoint for Performance and Availability

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

Page 26: Virtualizing Sharepoint for Performance and Availability

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

Page 27: Virtualizing Sharepoint for Performance and Availability

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

Page 28: Virtualizing Sharepoint for Performance and Availability

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

Page 29: Virtualizing Sharepoint for Performance and Availability

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

Page 30: Virtualizing Sharepoint for Performance and Availability

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

Page 31: Virtualizing Sharepoint for Performance and Availability

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

Page 32: Virtualizing Sharepoint for Performance and Availability

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

Page 33: Virtualizing Sharepoint for Performance and Availability

Key Takeaways

Page 34: Virtualizing Sharepoint for Performance and Availability

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

Page 35: Virtualizing Sharepoint for Performance and Availability

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

Page 36: Virtualizing Sharepoint for Performance and Availability

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

Page 37: Virtualizing Sharepoint for Performance and Availability

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

Page 38: Virtualizing Sharepoint for Performance and Availability

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

Page 40: Virtualizing Sharepoint for Performance and Availability

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

Page 41: Virtualizing Sharepoint for Performance and Availability

Q & A

Page 42: Virtualizing Sharepoint for Performance and Availability

Virtualizing SharePoint for Performance & AvailabilityDamir BersinicSenior Platform AdvisorMicrosoft Canada [email protected] Twitter: @DamirB http://blogs.technet.com/b/canitpro

Page 43: Virtualizing Sharepoint for Performance and Availability

© 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.