Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SharePoint 2010 High Availability - SPC2C


Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

SharePoint 2010 High Availability - SPC2C

  1. 1. Architecting a Fault Tolerant and High Performance SharePoint 2010 Farm<br />Michael Noel<br />Convergent Computing (<br />@MichaelTNoel<br />
  2. 2. Michael Noel<br />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 .<br />Partner at Convergent Computing ( / +1(510)444-5700) – San Francisco Bay Area based Infrastructure/Security specialists for SharePoint, AD, Exchange, Security<br />
  3. 3. What we will cover<br />SharePoint 2010 Infrastructure Improvements<br />SharePoint 2010 Databases and Database Optimization<br />SharePoint 2007 vs. SharePoint 2010 Roles<br />SharePoint 2010 Virtualization Guidelines and Models<br />Rearchitecture of Site Collections and Content DBs<br />Restructuring and Migration of Content<br />SQL Database Mirroring for High Availability<br />
  4. 4. SharePoint 2010 Infrastructure Improvements<br />
  5. 5. SharePoint 2010 Infrastructure ChangesVersion and Edition Changes<br />
  6. 6. SharePoint 2010 Infrastructure ChangesGoodbye Shared Services Provider! (and good riddance…)<br />SSP concept replaced with Service Applications<br />Each service runs independently, providing application isolation<br />All SSP functionality moved to databases, so they can be consumed from multiple servers more easily<br />New products use this framework<br />
  7. 7. SharePoint 2010 Infrastructure ChangesImprovements to Central Admin Interface and PowerShell<br />Ribbon interface added<br />Still a Site Collection in a dedicated Content DB, so Best practices still apply as follows:<br />Make redundant (install on multiple web role servers and Load Balance)<br />Configure for Kerberos<br />Configure for SSL (to protect PWs)<br />PowerShell is King!<br />
  8. 8. SharePoint 2007 vs. 2010 Roles<br />
  9. 9. SharePoint 2007 vs. 2010 RolesRole Comparison<br />
  10. 10. Web, Service App, and Data Tiers<br />
  11. 11. SharePoint 2007 vs. 2010 RolesAll-in-One Farm (Architecture Similar)<br />2007<br />Web/Query/Index/DB<br />2010<br />Web/Query/Crawl/DB/Search Admin<br />
  12. 12. SharePoint 2007 vs. 2010 RolesDedicated SQL Database Server (Also Similar)<br />2007<br />2010<br />
  13. 13. SharePoint 2007 vs. 2010 RolesSmallest Highly Available Farm<br />2007<br />2010<br />
  14. 14. SharePoint 2007 Farm ArchitectureFarm Scalability Limited by Index and SSP<br />
  15. 15. SharePoint 2010 Architecture‘The Six Server Farm’<br />2 Web/Query Servers<br />2 Service Application Servers<br />2 Database Servers (Clustered or Mirrored)<br />2 Query components for each index partition<br />2 Crawlers for the Crawl DB, one on each Crawl server<br />Search Admin Service on one Crawl server<br />
  16. 16. SharePoint 2010 ArchitectureLarge Farm<br />Multiple Dedicated Web Servers<br />Multiple Dedicated Query Servers<br />Multiple Dedicated Crawl Servers, with multiple Crawl DBs to increase parallelization of the crawl process<br />Multiple distributed Index partitions (max of 10 million items per index partition)<br />Two query components for each Index partition, spread among servers<br />
  17. 17. SharePoint 2010 Databases<br />
  18. 18. Proliferation of Databases<br />SharePoint 2010 has moved a large number of services to the data tier<br />End result is a significantly higher number of databases, often more than 20 in a single farm<br />Database IO needs also increase<br />
  19. 19. SharePoint Databases by Version (1 of 3)<br />
  20. 20. SharePoint Databases by Version (2 of 3)<br />
  21. 21. SharePoint Databases by Version (3 of 3)<br />
  22. 22. SQL Database Optimization<br />
  23. 23. SQL Database OptimizationContent Databases Distributed Between Multiple Volumes<br />Volume #1<br />Volume #2<br />Volume #3<br />Volume #4<br />DB-A<br />File 1<br />DB-B<br />File 1<br />DB-A<br />File 2<br />DB-B<br />File 2<br />DB-A<br />File 3<br />DB-B<br />File 3<br />DB-A<br />File 4<br />DB-B<br />File 4<br />Tempdb File 1<br />Tempdb File 2<br />Tempdb File 3<br />Tempdb File 4<br />
  24. 24. SQL Database OptimizationContent Databases Distributed Between Multiple Volumes<br />Break Content Databases and TempDB into multiple files (MDF, NDF), total should equal number of physical processors (not cores) on SQL server.<br />Pre-size Content DBs and TempDB to avoid fragmentation<br />Separate files onto different drive spindles for best IO perf.<br />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.<br />
  25. 25. SQL Database OptimizationTempDB Tips<br />TempDB is critical for performance<br />Pre-size to 20% of the size of the largest content database.<br />Break into multiple files across spindles as noted<br />Note there is a separate TempDB for each physical instance<br />Note that if using SQL Transparent Data Encryption (TDE) for any databases in an instance, the tempDB is encrypted.<br />
  26. 26. Remote BLOB Storage (RBS)<br />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.<br />BLOBs can be stored on lower tier of disk<br />Really a data management tool, less of a performance tool<br />Must be managed and understood<br />Can use FILESTREAM, but preference is to use third party<br />
  27. 27. SharePoint 2010 Service Applications<br />
  28. 28. Service Application Matrix<br />
  29. 29. Additional Service Applications<br />Office Web Apps<br />Excel Calculation Services<br />Word Viewing Service<br />PowerPoint Service<br />Project Server 2010<br />Third Party (Newsgator, etc.)<br />
  30. 30. Service Application Groups<br />Can be granular per Web Application<br />Multiple Instances of a Service App can be Deployed in a Farm<br />Can create custom Service App ‘Group’ to target specific ones to Web Apps<br />
  31. 31. Physical Isolation for Service Apps<br />Use different application pools to isolate the service app pool.<br />Uses significantly more resources for each app pool (800MB+ RAM)<br />
  32. 32. Cross-farm Service Applications<br />Service Applications can be shared across multiple farms<br />Create cross-farm service application connections<br />
  33. 33. Service Apps that Access External Data Sources<br />Delegated Windows Identity used for the following Service Apps:<br />Excel Services<br />PerformancePoint Services<br />InfoPath Forms Services<br />Visio Services<br />If not in the same domain, access to external data will fail from these data sources<br />Use the Secure Store Service to store service credentials to access these data sources<br />
  34. 34. Caution: Do NOT Enable All Service Applications unless Needed!<br />Do NOT use the Configuration Wizard for production farms<br />Configuration Wizard assumes defaults, creates GUID databases, etc.<br />Too easy to enable all Service Applications<br />Only turn on those Service Applications that you need! Memory and Proc are used for every one that is turned on<br />Just because you’ve purchased it doesn’t mean it needs to be turned on.<br />
  35. 35. Service App Architecture Example:Simple Farm<br />
  36. 36. Service App Architecture Example:Distributed Admin<br />
  37. 37. Service App Architecture Example:Distributed Admin<br />
  38. 38. Service App Architecture Example:Intranet / Complex<br />
  39. 39. Service App Architecture Example:Dedicated Service App Farm<br />
  40. 40. Service App Architecture Example:Central Corporate Services Model<br />
  41. 41. SharePoint 2010 Virtualized Farm Architecture<br />
  42. 42. SP2010 Role Virtualization<br />
  43. 43. Virtualized Farm ArchitectureCost-effective Virtual Environment / No HA<br /><ul><li>Allows organizations that wouldn’t normally be able to have a test environment to run one
  44. 44. Allows for separation of the database role onto a dedicated server
  45. 45. Can be more easily scaled out in the future</li></li></ul><li>Virtualized Farm ArchitectureFully Redundant Farm with only Two Servers<br /><ul><li>High-Availability across Hosts
  46. 46. All components virtualized
  47. 47. Uses only two Windows Ent Edition Licenses</li></li></ul><li>Virtualized Farm ArchitectureBest Practice Virtual/Physical Farm with HA and Performance<br /><ul><li>Highest transaction servers are physical
  48. 48. Multiple farm support, with DBs for all farms on the SQL cluster</li></li></ul><li>SQL Database Mirroring for High Availability and Disaster Recovery<br />
  49. 49. Mirroring vs. Clustering<br />Clustering is Shared Storage, can’t survive storage failure, makes Mirroring more attractive<br />Clustering fails over quicker<br />Mirroring is not supported for all databases, but Clustering is<br />Both Clustering and Mirroring can be used at the same time<br />
  50. 50. SQL Database MirroringProviding for HA and DR for SharePoint Content<br />Introduced in SQL 2005 SP1<br />Greatly improved in SQL 2008 and now SQL 2008 R2<br />Available in Enterprise and Standard (Synchronous only) editions<br />Works by keeping a mirror copy of a database or databases on two servers<br />Can be used locally, or the mirror can be remote<br />Can be set to use a two-phase commit process to ensure integrity of data across both servers<br />Can be combined with traditional shared storage clustering to further improve redundancy<br />SharePoint 2010 is now Mirroring aware!<br />
  51. 51. SQL Database MirroringSQL Mirroring Modes<br />
  52. 52. Mirroring Guidelines<br />Use the same version of SQL on Principal and Target<br />Copy Security from Principal to Target<br />Each Mirrored DB uses two threads…don’t overload the server<br />Database model must be set to FULL (Watch for logs growth.)<br />Set the mirror location of each DB by using PowerShell<br />$db = get-spdatabase | where {$_.Name -eq "database name"}<br />$db.AddFailoverServiceInstance("mirrored database name")<br />$db.Update()<br />
  53. 53. Mirroring Limitations<br />Some Service Apps store data outside of the data tier, including:<br />Excel Services Application<br />Access Services<br />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<br />
  54. 54. Mirroring Database Supportability Matrix (1 of 2)<br />
  55. 55. Mirroring Database Supportability Matrix (1 of 2)<br />
  56. 56. SQL Database Mirroring3 SharePoint SQL Mirror Models<br />
  57. 57. Single Site HA Mirrored Farm<br />Single Site<br />Synchronous Replication<br />Uses a SQL Witness Server to Failover Automatically<br />Mirror all SharePoint DBs in the Farm<br />Use a SQL Alias to switch to Mirror Instance<br />
  58. 58. Cross-Site Mirrored HA Farm<br />Two Sites<br />1 ms Latency<br />1GB Bandwidth<br />Farm Servers in each location<br />Auto Failover<br />
  59. 59. Two Farm / Mirrored Content DBs<br />Two Sites<br />Two Farms<br />Mirror only Content DBs<br />Failover is Manual<br />Must Re-index<br />More details…<br />
  60. 60. Session Takeaways<br />Build SharePoint 2010 Environment in Tandem with SharePoint 2007<br />Plan for the increased number of databases in SharePoint 2010<br />Design 2010 to be Highly Available and Redundant<br />Consider FAST Search for enhanced Search Functionality<br />Highly Consider Virtualization for the SharePoint Roles<br />Consider Site Collection and Content DB Restructuring<br />Migrate / Upgrade with restructuring in mind if possible<br />Highly Consider SQL Database Mirroring for SharePoint 2010 Databases<br />
  61. 61. Your Feedback is Important<br />Please fill out a session evaluation form drop it off at the conference registration desk.<br />Thank you!<br />
  62. 62. Thanks for attending!Questions?<br />Michael Noel<br />Twitter: @MichaelTNoel<br /><br />