SharePoint 2010 High Availability - SPC2C

60
Architecting a Fault Tolerant and High Performance SharePoint 2010 Farm Michael Noel Convergent Computing (CCO.com) @MichaelTNoel

description

SharePoint High Availability and Performance presentation from SharePoint Coast to Coast Conference.

Transcript of SharePoint 2010 High Availability - SPC2C

Page 1: SharePoint 2010 High Availability - SPC2C

Architecting a Fault Tolerant and High Performance SharePoint

2010 Farm

Michael Noel

Convergent Computing (CCO.com)

@MichaelTNoel

Page 2: SharePoint 2010 High Availability - SPC2C

Michael Noel

• Author of SAMS Publishing titles “SharePoint 2010 Unleashed,” “SharePoint 2007 Unleashed,” “SharePoint 2003 Unleashed”, “Teach Yourself SharePoint 2003 in 10 Minutes,” “Windows Server 2008 R2 Unleashed,” “Exchange Server 2010 Unleashed”, “ISA Server 2006 Unleashed”, and many other titles .

• Partner at Convergent Computing (www.cco.com / +1(510)444-5700) – San Francisco Bay Area based Infrastructure/Security specialists for SharePoint, AD, Exchange, Security

Page 3: SharePoint 2010 High Availability - SPC2C

What we will cover

• SharePoint 2010 Infrastructure Improvements• SharePoint 2010 Databases and Database

Optimization• SharePoint 2007 vs. SharePoint 2010 Roles• SharePoint 2010 Virtualization Guidelines and

Models• Rearchitecture of Site Collections and Content

DBs• Restructuring and Migration of Content• SQL Database Mirroring for High Availability

Page 4: SharePoint 2010 High Availability - SPC2C

SharePoint 2010 Infrastructure Improvements

Page 5: SharePoint 2010 High Availability - SPC2C

SharePoint 2010 Infrastructure ChangesVersion and Edition Changes

SharePoint 2007 SharePoint 2010

Windows SharePoint Services (WSS) 3.0

SharePoint Foundation 2010

Microsoft Office SharePoint Server (MOSS) 2007: Standard

SharePoint Server 2010: Standard Client Access License

Microsoft Office SharePoint Server (MOSS) 2007: Enterprise

SharePoint Server 2010: Enterprise Client Access License

SharePoint Internet Connector License SharePoint Server 2010 for Internet Sites, Standard

* SharePoint Server 2010 for Internet Sites, Enterprise

FAST Search for SharePoint* FAST Search Server 2010 for SharePoint

SharePoint Designer 2007 SharePoint Designer 2010

Office Groove 2007 SharePoint Workspace 2010

Page 6: SharePoint 2010 High Availability - SPC2C

• SSP concept replaced with Service Applications• Each service runs independently, providing

application isolation• All SSP functionality moved to databases, so

they can be consumed from multiple servers more easily

• New products use this framework

SharePoint 2010 Infrastructure ChangesGoodbye Shared Services Provider! (and good riddance…)

Page 7: SharePoint 2010 High Availability - SPC2C

• Ribbon interface added• Still a Site Collection in a dedicated Content

DB, so Best practices still apply as follows:● Make redundant (install on multiple web role servers

and Load Balance)● Configure for Kerberos● Configure for SSL (to protect PWs)

• PowerShell is King!

SharePoint 2010 Infrastructure ChangesImprovements to Central Admin Interface and PowerShell

Page 8: SharePoint 2010 High Availability - SPC2C

SharePoint 2007 vs. 2010 Roles

Page 9: SharePoint 2010 High Availability - SPC2C

SharePoint 2007 vs. 2010 RolesRole Comparison

SharePoint 2007 SharePoint 2010

Web Web

Query Query/Index

Index * (moved into Query)

* (Web used for Crawl) Crawl

Database (SQL x86, x64 - 2000, 2005, 2008)

Database (SQL x64 - 2005, 2008, 2008 R2)

Page 10: SharePoint 2010 High Availability - SPC2C

Web, Service App, and Data Tiers

Web

Service Apps

Data

Page 11: SharePoint 2010 High Availability - SPC2C

• 2007

• Web/Query/Index/DB

SharePoint 2007 vs. 2010 RolesAll-in-One Farm (Architecture Similar)

2010

Web/Query/Crawl/DB/Search Admin

Page 12: SharePoint 2010 High Availability - SPC2C

• 2007

SharePoint 2007 vs. 2010 RolesDedicated SQL Database Server (Also Similar)

2010

Page 13: SharePoint 2010 High Availability - SPC2C

• 2007

SharePoint 2007 vs. 2010 RolesSmallest Highly Available Farm

2010

Page 14: SharePoint 2010 High Availability - SPC2C

SharePoint 2007 Farm ArchitectureFarm Scalability Limited by Index and SSP

Page 15: SharePoint 2010 High Availability - SPC2C

• 2 Web/Query Servers• 2 Service Application Servers• 2 Database Servers

(Clustered or Mirrored)• 2 Query components for

each index partition• 2 Crawlers for the Crawl DB,

one on each Crawl server• Search Admin Service on

one Crawl server

SharePoint 2010 Architecture‘The Six Server Farm’

Page 16: SharePoint 2010 High Availability - SPC2C

SharePoint 2010 ArchitectureLarge Farm

• Multiple Dedicated Web Servers• Multiple Dedicated Query Servers• Multiple Dedicated Crawl Servers, with multiple Crawl DBs to increase parallelization of

the crawl process• Multiple distributed Index partitions (max of 10 million items per index partition)• Two query components for each Index partition, spread among servers

Page 17: SharePoint 2010 High Availability - SPC2C

SharePoint 2010 Databases

Page 18: SharePoint 2010 High Availability - SPC2C

Proliferation of Databases

• SharePoint 2010 has moved a large number of services to the data tier

• End result is a significantly higher number of databases, often more than 20 in a single farm

• Database IO needs also increase

Page 19: SharePoint 2010 High Availability - SPC2C

SharePoint Databases by Version (1 of 3)

SharePoint Foundation

SharePoint Server 2010 Standard

SharePoint Server 2010 Enterprise

Project Server 2010

PowerPivot

FAST Search

Configuration X X XCentral Administration content X X XUsage and Health Data Collection

X X X

Business Data Connectivity X X XApplication Registry service * (BDC Upgrade)

X X X

Subscription Settings service * (PowerShell Enabled)

X X X

Content Database(s) X X XSearch – Search Administration X XSearch - Crawl X XSearch - Property X X

Page 20: SharePoint 2010 High Availability - SPC2C

SharePoint Databases by Version (2 of 3)

SharePoint Foundation

SharePoint Server 2010 Standard

SharePoint Server 2010 Enterprise

Project Server 2010

PowerPivot

FAST Search

User Profile - Profile X X

User Profile - Synchronization X X

User Profile – Social Tagging X X

Web Analytics - Staging X X

Web Analytics - Reporting X X

Secure Store X X

Stage X X

Managed Metadata X X

Word Automation Services X X

PerformancePoint X

Page 21: SharePoint 2010 High Availability - SPC2C

SharePoint Databases by Version (3 of 3)

SharePoint Foundation

SharePoint Server 2010 Standard

SharePoint Server 2010 Enterprise

Project Server 2010

PowerPivot

FAST Search

Project Server - Draft X

Project Server - Published X

Project Server - Archive X

Project Server - Reporting X

PowerPivot Application DB X

Search Administration X

Page 22: SharePoint 2010 High Availability - SPC2C

SQL Database Optimization

Page 23: SharePoint 2010 High Availability - SPC2C

SQL Database OptimizationContent Databases Distributed Between Multiple Volumes

DB-AFile 1

DB-BFile 1

Volume #1

DB-AFile 2

DB-BFile 2

Volume #2

DB-AFile 3

DB-BFile 3

Volume #3

DB-AFile 4

DB-BFile 4

Volume #4

Tempdb File 1 Tempdb File 2 Tempdb File 3 Tempdb File 4

Page 24: SharePoint 2010 High Availability - SPC2C

SQL Database OptimizationContent Databases Distributed Between Multiple Volumes

• Break Content Databases and TempDB into multiple files (MDF, NDF), total should equal number of physical processors (not cores) on SQL server.

• Pre-size Content DBs and TempDB to avoid fragmentation

• Separate files onto different drive spindles for best IO perf.

• Example: 100GB total Content DB on Four-way SQL Server would have four database files distributed across four sets of drive spindles = 25GB pre-sized for each file.

Page 25: SharePoint 2010 High Availability - SPC2C

SQL Database OptimizationTempDB Tips

• TempDB is critical for performance• Pre-size to 20% of the size of the largest content

database.• Break into multiple files across spindles as noted• Note there is a separate TempDB for each

physical instance• Note that if using SQL Transparent Data

Encryption (TDE) for any databases in an instance, the tempDB is encrypted.

Page 26: SharePoint 2010 High Availability - SPC2C

Remote BLOB Storage (RBS)

• Remote BLOB Storage (RBS) allows for the documents (BLOBs) to be stored outside of the content DB, resulting in DBs that are 80-90% smaller.

• BLOBs can be stored on lower tier of disk• Really a data management tool, less of a

performance tool• Must be managed and understood• Can use FILESTREAM, but preference is to use

third party

Page 27: SharePoint 2010 High Availability - SPC2C

SharePoint 2010 Service Applications

Page 28: SharePoint 2010 High Availability - SPC2C

Service Application Matrix

Service applications Description SharePoint Foundation 2010

SharePoint Server 2010 Standard

SharePoint Server 2010 Enterprise

Access Services Lets users view, edit, and interact with Access 2010 databases in a Web browser. X

Business Data Connectivity service

Gives access to line-of-business data systems. X X X

Excel Services Application Lets users view and interact withExcel 2010 files in a Web browser. X

Managed Metadata serviceManages taxonomy hierarchies, keywords and social tagging infrastructure, and publish content types across site collections.

X X

PerformancePoint Service Application

Provides the capabilities of PerformancePoint.

Search service Crawls content, produces index partitions, and serves search queries. X X

Secure Store service Provides single sign-on authentication to access multiple applications or services. X X

State service Provides temporary storage of user session data for SharePoint Server components. X X

Usage and Health Data Collection service

Collects farm wide usage and health data, and provides the ability to view various usage and health reports.

X X X

User Profile serviceAdds support for My Site Web sites, profile pages, social tagging and other social computing features.

X X

Visio Graphics Service Lets users view and refresh published Visio 2010 diagrams in a Web browser. X

Web Analytics service Provides Web service interfaces. X X

Word Automation Services Performs automated bulk document conversions. X X

Microsoft SharePoint Foundation Subscription Settings Service

Provides multi-tenant functionality for service applications. Tracks subscription IDs and settings for services that are deployed in partitioned mode. Deployed through Windows PowerShell only.

X X X

Page 29: SharePoint 2010 High Availability - SPC2C

Additional Service Applications

• Office Web Apps● Excel Calculation Services● Word Viewing Service● PowerPoint Service

• Project Server 2010• Third Party (Newsgator, etc.)

Page 30: SharePoint 2010 High Availability - SPC2C

Service Application Groups

• Can be granular per Web Application

• Multiple Instances of a Service App can be Deployed in a Farm

• Can create custom Service App ‘Group’ to target specific ones to Web Apps

Page 31: SharePoint 2010 High Availability - SPC2C

Physical Isolation for Service Apps

• Use different application pools to isolate the service app pool.

• Uses significantly more resources for each app pool (800MB+ RAM)

Page 32: SharePoint 2010 High Availability - SPC2C

Cross-farm Service Applications

• Service Applications can be shared across multiple farms

• Create cross-farm service application connections

Page 33: SharePoint 2010 High Availability - SPC2C

Service Apps that Access External Data Sources

• Delegated Windows Identity used for the following Service Apps:● Excel Services● PerformancePoint Services● InfoPath Forms Services● Visio Services

• If not in the same domain, access to external data will fail from these data sources

• Use the Secure Store Service to store service credentials to access these data sources

Page 34: SharePoint 2010 High Availability - SPC2C

Caution: Do NOT Enable All Service Applications unless Needed!

• Do NOT use the Configuration Wizard for production farms

• Configuration Wizard assumes defaults, creates GUID databases, etc.

• Too easy to enable all Service Applications• Only turn on those Service Applications that you

need! Memory and Proc are used for every one that is turned on

• Just because you’ve purchased it doesn’t mean it needs to be turned on.

Page 35: SharePoint 2010 High Availability - SPC2C

Service App Architecture Example:Simple Farm

Page 36: SharePoint 2010 High Availability - SPC2C

Service App Architecture Example:Distributed Admin

Page 37: SharePoint 2010 High Availability - SPC2C

Service App Architecture Example:Distributed Admin

Page 38: SharePoint 2010 High Availability - SPC2C

Service App Architecture Example:Intranet / Complex

Page 39: SharePoint 2010 High Availability - SPC2C

Service App Architecture Example:Dedicated Service App Farm

Page 40: SharePoint 2010 High Availability - SPC2C

Service App Architecture Example:Central Corporate Services Model

Page 41: SharePoint 2010 High Availability - SPC2C

SharePoint 2010 Virtualized Farm Architecture

Page 42: SharePoint 2010 High Availability - SPC2C

SP2010 Role Virtualization

• Excellent Virtualization Candidate• Can be easily provisioned via templatesWeb

• Higher proc/mem requirements, but still good candidate• Often paired with SP2010 Web Role• Requires 2nd Disk for Index

Query

• Higher proc/mem requirements, but still good candidate• Low disk requirements compared to other rolesCrawl

• Requires the most memory, proc, and disk IO• Be cautious when virtualizing, make sure host is scaled• If virtual, be sure to use pass-through or fixed size disks

DB

Page 43: SharePoint 2010 High Availability - SPC2C

Allows organizations that wouldn’t normally be able to have a test environment to run one

Allows for separation of the database role onto a dedicated server

Can be more easily scaled out in the future

Virtualized Farm ArchitectureCost-effective Virtual Environment / No HA

Page 44: SharePoint 2010 High Availability - SPC2C

High-Availability across Hosts

All components virtualized

Uses only two Windows Ent Edition Licenses

Virtualized Farm ArchitectureFully Redundant Farm with only Two Servers

Page 45: SharePoint 2010 High Availability - SPC2C

Highest transaction servers are physical

Multiple farm support, with DBs for all farms on the SQL cluster

Virtualized Farm ArchitectureBest Practice Virtual/Physical Farm with HA and Performance

Page 46: SharePoint 2010 High Availability - SPC2C

SQL Database Mirroring for High Availability and Disaster Recovery

Page 47: SharePoint 2010 High Availability - SPC2C

Mirroring vs. Clustering

• Clustering is Shared Storage, can’t survive storage failure, makes Mirroring more attractive

• Clustering fails over quicker• Mirroring is not supported for all

databases, but Clustering is• Both Clustering and Mirroring can be used

at the same time

Page 48: SharePoint 2010 High Availability - SPC2C

• Introduced in SQL 2005 SP1• Greatly improved in SQL 2008 and now SQL 2008 R2• Available in Enterprise and Standard (Synchronous only)

editions• Works by keeping a mirror copy of a database or databases on

two servers• Can be used locally, or the mirror can be remote• Can be set to use a two-phase commit process to ensure

integrity of data across both servers• Can be combined with traditional shared storage clustering to

further improve redundancy• SharePoint 2010 is now Mirroring aware!

SQL Database MirroringProviding for HA and DR for SharePoint Content

Page 49: SharePoint 2010 High Availability - SPC2C

SQL Database MirroringSQL Mirroring Modes

• Synchronous Mirroring (no data loss)• Manual Failover

High Protection

• Synchronous Mirroring (no data loss)• Third ‘witness’ server required, auto

failover

High Availability

• Asynchronous Mirroring (possible data loss)

• Enterprise Edition only• Useful for WAN failover scenarios

High Performance

Page 50: SharePoint 2010 High Availability - SPC2C

Mirroring Guidelines

• Use the same version of SQL on Principal and Target• Copy Security from Principal to Target• Each Mirrored DB uses two threads…don’t overload the

server• Database model must be set to FULL (Watch for logs

growth.)• Set the mirror location of each DB by using PowerShell

● $db = get-spdatabase | where {$_.Name -eq "database name"}

● $db.AddFailoverServiceInstance("mirrored database name")

● $db.Update()

Page 51: SharePoint 2010 High Availability - SPC2C

Mirroring Limitations

• Some Service Apps store data outside of the data tier, including:● Excel Services Application● Access Services

• If a Service App Server hosting these functions goes down, the end user is affected (for that session only.) They can still use another server to re-initiate the session

Page 52: SharePoint 2010 High Availability - SPC2C

Mirroring Database Supportability Matrix (1 of 2)

Synchronous Mirror Support

Asynchronous Mirror Support

Configuration XCentral Administration content XContent Databases X XUsage and Health Data Collection

Business Data Connectivity XApplication Registry service * (BDC Upgrade)

Subscription Settings service * (PowerShell Enabled) XSearch – Search Administration XSearch - Crawl XSearch - Property X

Page 53: SharePoint 2010 High Availability - SPC2C

Mirroring Database Supportability Matrix (1 of 2)

Synchronous Mirror Support

Asynchronous Mirror Support

User Profile - Profile XUser Profile - Synchronization

User Profile – Social Tagging

Web Analytics - Staging

Web Analytics - Reporting XSecure Store X XStage XManaged Metadata XWord Automation Services XPerformancePoint X

Page 54: SharePoint 2010 High Availability - SPC2C

SQL Database Mirroring3 SharePoint SQL Mirror Models

• Synchronous Mirroring• All Servers in one physical location• Automatic Failover

Single Site HA Mirrored

Farm

• Synchronous Mirroring• Servers span highly connected (1GB

Bandwidth, < 1ms latency) Sites• Automatic Failover

Cross Site HA Mirrored

Farm

• Asynchronous Mirroring• Content DBs Mirrored alone• Manual Failover

Dual Farm / Mirrored

Content DBs

Page 55: SharePoint 2010 High Availability - SPC2C

Single Site HA Mirrored Farm

• Single Site• Synchronous

Replication• Uses a SQL

Witness Server to Failover Automatically

• Mirror all SharePoint DBs in the Farm

• Use a SQL Alias to switch to Mirror Instance

Page 56: SharePoint 2010 High Availability - SPC2C

Cross-Site Mirrored HA Farm

• Two Sites• 1 ms

Latency• 1GB

Bandwidth• Farm

Servers in each location

• Auto Failover

Page 57: SharePoint 2010 High Availability - SPC2C

Two Farm / Mirrored Content DBs

• Two Sites• Two

Farms• Mirror only

Content DBs

• Failover is Manual

• Must Re-index

• More details…

Page 58: SharePoint 2010 High Availability - SPC2C

Session Takeaways

• Build SharePoint 2010 Environment in Tandem with SharePoint 2007

• Plan for the increased number of databases in SharePoint 2010

• Design 2010 to be Highly Available and Redundant• Consider FAST Search for enhanced Search

Functionality• Highly Consider Virtualization for the SharePoint Roles• Consider Site Collection and Content DB Restructuring• Migrate / Upgrade with restructuring in mind if possible• Highly Consider SQL Database Mirroring for SharePoint

2010 Databases

Page 59: SharePoint 2010 High Availability - SPC2C

Your Feedback is Important

Please fill out a session evaluation form drop it off at the conference registration

desk.

Thank you!

Page 60: SharePoint 2010 High Availability - SPC2C

Thanks for attending!Questions?

Michael Noel

Twitter: @MichaelTNoel

www.cco.com