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, USA Bay Area based Infrastructure/Security specialists for SharePoint, AD, Exchange, Security
What we will cover SharePoint 2010 Structure and which components can be made redundant / highly available Recap and comparison with SharePoint 2007 High Availability Sample Architecture of Redundant/Highly Available Deployments Smallest redundant/highly available farm Mid-sized farms Large farms Virtualization farm architecture SQL Mirroring of Content Databases Synchronous Mirroring in Single Site Model Synchronous Mirroring in Highly Connected DR Site Model Asynchronous Mirroring in DR Site Model Backup/Restore Tips, including info on DPM 2010 Snapshot-based backup for SharePoint
SharePoint 2010 Component Redundancy Each SharePoint 2010 server type has different redundancy/availability concerns. Web Server Search Service Application Role Other Service Application Roles Database Server
SharePoint 2010 Component RedundancyWeb Servers Redundancy/HA can be achieved by adding multiple web servers to farm Network Load Balancing can then be configured between the servers Software NLB (Windows NLB) is possible, Hardware NLB (F5, CSS, NetScaler) is preferable Be sure to enable ‘stickiness’ or your users will be prompted to authenticate multiple times and may have functionality break!
SharePoint Component Redundancy‘Search Service Application Role Replaces both Index and Query Roles from 2007 into one Role Processes query results for Web servers Holds the index, either in entirety or a partial copy when using ‘index partitions’ Runs the query processor, which merges search results from multiple index partitions, performs security trimming, and other search tasks. Adding multiple Query servers creates redundancy Each Query Server requires a large drive set for the Index partitions. Be sure to set aside enough space! The index size may be from 5% to 30% of the size of the content being indexed. Don’t forget external content sources!
SharePoint Component RedundancyQuery Servers: Index Partitions Portion of the entire Index Can be spread across multiple query servers Multiple index partitions = faster search queries Query mirrors (second copy of an index partition) can be deployed across query servers for redundancy.
SharePoint Component RedundancyCrawl Servers Runs the Crawl component, which creates index partitions and propagates them to query servers Typically used to house the Search Administration component Multiple crawl servers provide High Availability for the crawl architecture Crawl database(s) and Property Database(s) utilized for crawl information and history, and properties for crawled data Multiple crawlers can be associated with each crawl database Can be run on a server with Web role or Query role
SharePoint Component RedundancyDatabase Role Shared Storage Clustering (MSCS) can be used for local server High Availability Mirroring of Content Databases to remote SQL instance is supported (and recommended) More on this… SQL Server 2005/2008 Standard Edition supports two-node Cluster and synchronous mirroring. SQL Server 2005/2008 Enterprise Edition supports more than two-nodes, asynchronous mirroring, and Transparent Data Encryption (SQL 2008 only) SQL Server must be x64 for SharePoint 2010
SharePoint Component RedundancyRedundancy/HA of Database Server Instance Use SQL Client Aliases for Config DB Server (i.e. spsqlfarm.companyabc.com) Use a second SQL Client Alias for Content DBs (i.e. spsqlcontent.companyabc.com) Loss of SQL Server can be mitigated by simply pointing the alias to a new SQL instance. SQL Server Client tools (Legacy 32bit tools) must be installed on the Web servers to create the aliases
SQL Aliasfor SharePoint A SQL Alias will help you if you need to change your DB location. For example, if your SQL server name is ‘SQL1’, use something like ‘SPSQL’ to connect, and have DNS point to the proper server location. This makes it MUCH more flexible. Use the SQL Native Client 10.0 Configuration (32bit) node to create the alias
SharePoint Component RedundancyNotes on SharePoint 2007 Redundancy SharePoint 2007 could only have one index per Shared Services Provider (SSP); now 2010 can have multiple redundant, and scalable index partitions and crawlers SSP Concept gone in favor of Services Architecture Query role in 2007 could not be on same server as Index Server if you needed high availability; this is no longer the case in 2010 Database considerations generally the same, although 2010 has significantly more DBs from the start
Highly Available and Redundant 2010 Farm Architecture Examining Several HA and DR Designs for SharePoint 2010 Farms
Farm ArchitectureAll-in-One Farm (No Redundancy) All SharePoint roles and SQL Server on the same box For very small environment without a lot of load SQL contention with SharePoint Easy to deploy, but highest potential for contention
Farm ArchitectureDedicated SQL Database Server (Better Performance / No HA) Dedicated SQL Server All SharePoint roles on single box Disk IO contention lessened by moving SQL off SP Server Greater performance can be gained by breaking SharePoint roles onto separate servers
Farm ArchitectureSmallest Highly-Available Farm 2 Web/Query/Crawl Servers 2 Database Servers (Clustered or Mirrored) 2 Query components for each index partition 2 Crawlers for the Crawl DB, one on each server Search Admin Service on one server
Farm ArchitectureMedium Sized Farm 2 Web/Query Servers 2 Crawl 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
Farm 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
Virtualized Farm ArchitectureBest Practice Virtual/Physical with HA/Perf
Highest transaction servers are physical
Multiple farm support, with DBs for all farms on the SQL cluster
Virtualized Farm ArchitectureLarge Virtual Farms
Content Database and Site Collection DR and ScalabilityDistribute by Default Start with a distributed architecture of content databases from the beginning, within reason (more than 50 per SQL instance is not recommended) Distribute content across Site Collections from the beginning as well, it is very difficult to extract content after the face Allow your environment to scale and your users to ‘grow into’ their SharePoint site collections
Database Mirroring Using SQL 2005/2008 Mirroring for SharePoint Content Databases
SQL Database MirroringHA Solutions using Mirrored Copies of SharePoint Databases New in SQL 2005, available in both Standard and Enterprise editions, improved in SQL 2008 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
SQL Database MirroringSQL Mirroring Modes High Performance (Enterprise Edition only) Asynchronous Mirroring Safety level = OFF Failure of principal server may result in data loss High Availability Synchronous Mirroring Safety level = ON Dual-commit process ensures no data loss Third witness server required High Protection Synchronous Mirroring Safety level = ON Manual failover, no witness server
SQL Database MirroringSQL Mirroring Options Recovery level of databases must be set to FULL SQL System databases cannot be mirrored Synchronous (safety level is FULL) can result in slowness or performance issues if WAN gets congested For Performance reasons, max of 50 SharePoint Databases mirrored per Principal/Mirror Pair is Recommended. Requires unique instances on both principal server and mirror server Backup and Restore database from principal server to mirror server before establishing initial sych.
SQL Database MirroringSQL Mirroring Options Mirroring across farms is only supported on Content Databases (Synchronous of all DBs within a farm is OK) Failover of a Content Database from one instance to another has to be performed through the SharePoint Central Admin tool, PowerShell, STSADM, or with a SQL Client Alias Prerequisite checklist: SQL Services running with identical service accounts on both instances Backup of content databases must be done in ‘NORECOVERY’ mode A full backup and a logs backup must be performed Encryption on endpoints is enabled by default, can be disabled by typing ALTER ENDPOINT Mirroring DISABLED (Mirroring is the name of the endpoint created, must be performed on both sides.
SQL Mirroring DesignsVarious SharePoint Mirrored DB Options Single Site HA Mirrored Farm Synchronous Replication All Servers in one Physical Location Cross Site Mirrored HA Farm Synchronous Replication Servers split across highly connected physical sites Two Farm / Mirrored Content DBs Asynchronous Replication Content Databases Mirrored Only Manual Failover Process
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
Cross-Site Mirrored HA Farm Two Sites 1 ms Latency 1GB Bandwidth Farm Servers in each location Auto Failover
Two Farm / Mirrored Content DBs Two Sites Two Farms Mirror only Content DBs Failover is Manual Must Re-index More details…
Two Farm / Mirrored Content DBs Failover Options In the event of a failure Witness server can automatically fail content databases to DR farm SQL server Script can be written to attach content databases to farm, this can be automated stsadm -o addcontentdb -url “http://sp.companyabc.com" -databasename "yourdbname" -databaseserver “YourDBserverinDR“ Script should include dnscmd command line utility to delete DNS records for SharePoint and for SSP, then recreate them (with a small TTL) to point to DR location dnscmddnsservername /recorddelete companyabc.com spwebappname A 10.10.10.2 /f dnscmddnsservername /recordadd companyabc.com spwebappname 10 A 10.20.10.2 Script can also include final command to initiate a re-index of the content (since it is new to the DR farm)
Two Farm / Mirrored Content DBs Advantages and Key Notes ‘Traditional’ failover has various ill effects on Search and other services. Key things to note about this model: It is extremely import to keep farm servers in both main and DR locations at same patch level, same solutions installed, and configuration within SharePoint Central Admin the same! A good change control process can help here. Create your DNS records with a low TTL (i.e. 10 seconds) in advance. You can’t do this from the GUI, you need to use DNSCMD. This forces clients to refresh their local cache. Mirrored DBs can be set to read-only statusand Indexed on Failover farm. Immediately following failover, Search capability will be down until the re-indexing is finished, unless read-only DBs have been indexed Failing back to the old farm (main) involves a reversal of the process, making it a mirror, then failing over and re-indexing.
Backup and Restore Guide for SharePoint Backup SQL Databases (SQL Maintenance Plan or Third-party agent.) Backup OS, System State, and 12-Hive on Front-ends (not needed to backup often) Perform catastrophic backup using Central Admin or PowerShell Do individual site backups using Central Admin or PowerShell Backup IIS metaverse using iisback.vbs Look at third party backup solutions (AvePoint, Commvault, Quest, Symantec, Metalogix, etc…) Consider System Center Data Protection Manager (DPM) 2010 for SharePoint aware backup/restore and item-level recovery
Microsoft System Center Data Protection Manager (DPM 2010) for SharePoint
Features of DPM for SharePoint Item-level recovery of Documents and List Data VSS Snapshot Integration, can snapshot SQL Databases every 15 minutes Backup to Disk (near-term), Backup to Tape (long-term) – Direct integration Not only SharePoint, but File Data, Exchange, SQL, and Bare-metal recovery (Using SRT)
Summary Highly consider Database Mirroring to improve DR capabilities Look at the Mirrored Farm Models for failover Consider a third-party product for improved DR and HA solutions At a minimum, make the SharePoint front-end roles redundant, especially web and query. Mirroring and clustering don’t require expensive software, can use standard edition of SQL/Windows SharePoint Backup and Restore can be greatly enhanced and simplified with DPM 2010
For More Information SharePoint 2010 Unleashed and SharePoint 2007 Unleashed (SAMS Publishing) (http://www.samspublishing.com) Microsoft SQL Mirroring for SharePoint 2007 Whitepaper (http://tinyurl.com/mirrorsp) Microsoft SQL Mirroring for SharePoint 2007 Case Study (http://tinyurl.com/mirrorspcs) Microsoft Virtualizing SharePoint 2007 Whitepaper (http://tinyurl.com/virtualsp) Microsoft SharePoint 2010 Search Architecture Diagrams (http://tinyurl.com/searchsp)
Dúvidas? Michael Noel Twitter: @MichaelTNoel www.cco.com Por favor preencha a avaliação