1 / 63

Building the ‘Perfect’ SharePoint 2010 Farm Best Practises from the Field

SESSION CODE: OFS306. Michael Noel Partner Convergent Computing. Building the ‘Perfect’ SharePoint 2010 Farm Best Practises from the Field. Michael Noel. Sydney. Brisbane. Canberra. Tasmania. Katoomba. Skippy. Hungry Quokkas. Bondi. Melbourne. 12 (11) Apostles. Adelaide. Perth.

morrison
Download Presentation

Building the ‘Perfect’ SharePoint 2010 Farm Best Practises from the Field

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SESSION CODE: OFS306 Michael Noel Partner Convergent Computing Building the ‘Perfect’ SharePoint 2010 FarmBest Practises from the Field (c) 2011 Microsoft. All rights reserved.

  2. Michael Noel Sydney Brisbane Canberra Tasmania Katoomba Skippy Hungry Quokkas Bondi Melbourne 12 (11) Apostles Adelaide Perth Great to be back in Beautiful Australia!

  3. What we will cover • Examine various SharePoint 2010 farm architecture best practisesthat have developed over the past year • Examine SharePoint Best Practice Farm Architecture • Understand SharePoint VirtualisationOptions • Explore SharePoint DR and HA strategies using Database Mirroring • Explore other common best practises (RBS, SSL, NLB) • Examine best practice security for SharePoint • A large amount of best practisescovered (i.e. Drinking through a fire hose,) goal is for you to be able to take away at least 2-3 useful pieces of information that can be used in your environment

  4. Architecting the Farm

  5. Architecting the FarmUnderstanding the Three Tiers of SharePoint Infrastructure

  6. Architecting the FarmSmall Farm Examples • ‘All-in-One’ (Avoid) • DB and SP Roles Separate

  7. Architecting the FarmSmallest Highly Available Farm • 2 SharePoint Servers running Web and Service Apps • 2 Database Servers (Clustered or Mirrored) • 1 or 2 Index Partitions with equivalent query components • Smallest farm size that is fully highly available

  8. Architecting the FarmBest Practice ‘Six Server Farm’ • 2 Dedicated Web Servers (NLB) • 2 Service Application Servers • 2 Database Servers (Clustered or Mirrored) • 1 or 2 Index Partitions with equivalent query components

  9. Architecting the FarmScaling to Large Farms • Multiple Dedicated Web Servers • Multiple Dedicated Service App Servers • Multiple Dedicated Query Servers • Multiple Dedicated Crawl Servers, with multiple Crawl DBs to increase parallelisation 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

  10. Architecting the FarmFAST Search • Previously a third party product ($$$$) • More reasonable pricing now • Highly tuned and specialised search engine for SharePoint and also as an enterprise search platform • Replaces SharePoint 2010 Native Search if used • ‘Net new’ features built-in.

  11. Architecting the FarmFAST Search – Comparison Matrix – Slide 1 of 2

  12. Architecting the FarmFAST Search – Comparison Matrix – Slide 2 of 2

  13. Virtualisation of SharePoint Servers

  14. Virtualisation of SharePoint ServersCaveats – Be Sure to Understand Virtualisation Concepts

  15. Virtualisation of SharePoint ServersVirtual Guest Processor and Memory Guidelines

  16. Virtualisation of SharePoint ServersSample 1: Small Single Server Environment / No HA • Allows organisations 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

  17. Virtualisation of SharePoint ServersSample 2: Two Server Highly Available Farm • High-Availability across Hosts • All components Virtualised • Uses only two Windows Ent Edition Licenses

  18. Virtualisation of SharePoint ServersSample 3: Mix of Physical and Virtual Servers – Best Perf • Highest transaction servers are physical • Multiple farm support, with DBs for all farms on the SQL cluster

  19. Virtualisation of SharePoint ServersSample 4: Scaling to Large Virtual Environments

  20. Virtualisation of SharePoint ServersVirtualisation Performance Monitoring • Processor (Host Only) • <60% Utilisation= Good • 60%-90% = Caution • >90% = Trouble • Available Memory • 50% and above = Good • 10%-50% = OK • <10% = Trouble • Disk – Avg. Disk sec/Read or Avg. Disk sec/Write • Up to 15ms = fine • 15ms-25ms = Caution • >25ms = Trouble • Network Bandwidth – Bytes Total/sec • <40% Utilisation = Good • 41%-64% = Caution • >65% = Trouble • Network Latency - Output Queue Length • 0 = Good • 1-2= OK • >2 = Trouble

  21. Virtualisation of SharePoint ServersQuick Farm Provisioning using VMM/Virtual Center • Create new Virtual Guest (Windows Server 2008 R2) • Install SP2010 Binaries. Stop before running Config Wizard • Turn Virtual Guest into Template, modify template to allow it to be added into domain • Add PowerShell script to run on first login, allowing SP to be added into farm or to create new farm End Result - 15 minute entire farm provisioning…quickly add servers into existing farms or create new farms (Test, Dev, Prod) on demand

  22. Demo Quick Farm Provisioning with VMM 2008 R2

  23. Data Management

  24. Data ManagementDistribute Data Across Content DBs and Site Collections • 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

  25. Data ManagementBinary Large OBject (BLOB) Storage • BLOBs are unstructured content stored in SQL • Includes all documents, pictures, and files stored in SharePoint • Excludes Metadata and Context, information about the document, version #, etc. • Until recently, could not be removed from SharePoint Content Databases • Classic problem of structured vs. unstructured data – unstructured data doesn’t really belong in a SQL Server environment

  26. Data ManagementGetting your BLOBs out of the Content DBs • Can reduce dramatically the size of Content DBs, as upwards of 80%-90% of space in content DBs is composed of BLOBs • Can move BLOB storage to more efficient/cheaper storage • Improve performance and scalability of your SharePoint deployment – But highly recommended to use third party

  27. SQL Database Optimisation

  28. SQL Database OptimisationContent Databases Distributed Between Multiple Volumes Volume #1 Volume #2 Volume #3 Volume #4 DB-A File 1 DB-B File 1 DB-A File 2 DB-B File 2 DB-A File 3 DB-B File 3 DB-A File 4 DB-B File 4 Tempdb File 1 Tempdb File 2 Tempdb File 3 Tempdb File 4

  29. SQL Database OptimisationContent 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.

  30. SQL Database OptimisationTempDB Best Practises • 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.

  31. High Availability and Disaster Recovery

  32. High Availability and Disaster RecoveryData Tier – Clustering vs. Mirroring • Clustering is Shared Storage, can’t survive storage failure, makes Mirroring more attractive • Clustering fails over more quickly • Mirroring is not supported for all databases, but Clustering is • Both Clustering and Mirroring can be used at the same time (Instance to Instance)

  33. High Availability and Disaster RecoveryData Tier – SQL Database Mirroring • 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!

  34. High Availability and Disaster RecoveryData Tier – Database Mirroring Model #1 – Single Site 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

  35. High Availability and Disaster RecoveryData Tier – Database Mirroring Model #2 – Cross-Site with HA Two Sites 1-10 ms Latency max 1Gb Bandwidth minimum Farm Servers in each location Auto Failover

  36. High Availability and Disaster RecoveryData Tier – Database Mirroring Model #2 – Remote Farm Two Sites Two Farms Mirror only Content DBs Failover is Manual Read-only Mode possible Must Re-Attach and Re-Index

  37. High Availability and Disaster RecoveryData Tier – Database Support for Mirroring – Slide 1 of 2

  38. High Availability and Disaster RecoveryData Tier – Database Support for Mirroring – Slide 2 of 2

  39. High Availability and Disaster RecoveryTwo Node/Two Instance Cluster – Take Advantage of both servers

  40. High Availability and Disaster RecoveryNetwork Load Balancing • Hardware Based Load Balancing (F5, Cisco, Citrix NetScaler – Best performance and scalability • Software Windows Network Load Balancing fully supported by MS, but requires Layer 2 VLAN (all packets must reach all hosts.) Layer 3 Switches must be configured to allow Layer 2 to the specific VLAN. • If using Unicast, use two NICs on the server, one for communications between nodes. • If using Multicast, be sure to configure routers appropriately • Set Affinity to Single (Sticky Sessions) • If using VMware, note fix to NLB RARP issue (http://tinyurl.com/vmwarenlbfix)

  41. High Availability and Disaster RecoveryWindows Software Network Load Balancing Recommendations • Best Practice – Create Multiple Web Apps with Load-balanced VIPs (Sample below) • Web Role Servers • sp1.companyabc.com (10.0.0.101) – Web Role Server #1 • sp2.companyabc.com (10.0.0.102) – Web Role Server #2 • Clustered VIPs shared between SP1 and SP2 (Create A records in DNS) • spnlb.companyabc.com (10.0.0.103) - Cluster • spca.companyabc.com (10.0.0.104) – SP Central Admin • spsmtp.companyabc.com (10.0.0.105) – Inbound Email VIP • home.companyabc.com (10.0.0.106) – Main SP Web App (can be multiple) • mysite.companyabc.com (10.0.0.107) – Main MySites Web App

  42. SharePoint Installation

  43. SharePoint InstallationScripted Installations • Good to understand how to install SharePoint from the command-line, especially if setting up multiple servers. • Allows for options not available in the GUI, such as the option to rename databases to something easier to understand. • Use PowerShell with SharePoint 2010 • Sample scripts available for download…

  44. SharePoint InstallationSamples Scripts – http://tinyurl.com/SPFarm-Config Function Configure-SPSearch { PARAM($AppPool, $FarmName, $SearchServiceAccount) $searchServiceInstance = Get-SPEnterpriseSearchServiceInstance -local Start-SPEnterpriseSearchServiceInstance -Identity $searchServiceInstance $dbName = $FarmName + "_SearchServiceApplication" $searchApplication = New-SPEnterpriseSearchServiceApplication -Name "$FarmName Search Service Application" -ApplicationPool $AppPool -DatabaseName $dbName $searchApplicationProxy = New-SPEnterpriseSearchServiceApplicationProxy -name "$FarmName Search Service Application Proxy" -SearchApplication $searchApplication Set-SPEnterpriseSearchAdministrationComponent -SearchApplication $searchApplication -SearchServiceInstance $searchServiceInstance $crawlTopology = New-SPEnterpriseSearchCrawlTopology -SearchApplication $searchApplication $crawlDatabase = Get-SPEnterpriseSearchCrawlDatabase -SearchApplication $searchApplication New-SPEnterpriseSearchCrawlComponent -CrawlTopology $crawlTopology -CrawlDatabase $crawlDatabase -SearchServiceInstance $searchServiceInstance while($crawlTopology.State -ne "Active") { $crawlTopology | Set-SPEnterpriseSearchCrawlTopology -Active -ErrorActionSilentlyContinue if ($crawlTopology.State -ne "Active") { Start-Sleep -Seconds 10 } } $queryTopology = New-SPenterpriseSEarchQueryTopology -SearchApplication $searchApplication -partitions 1 $searchIndexPartition = Get-SPEnterpriseSearchIndexPartition -QueryTopology $queryTopology New-SPEnterpriseSearchQueryComponent -indexpartition $searchIndexPartition -QueryTopology $queryTopology -SearchServiceInstance $searchServiceInstance $propertyDB = Get-SPEnterpriseSearchPropertyDatabase -SearchApplication $searchApplication Set-SPEnterpriseSearchIndexPartition $searchIndexPartition -PropertyDatabase $propertyDB while ($queryTopology.State -ne "Active") { $queryTopology | Set-SPEnterpriseSearchQueryTopology -Active -ErrorActionSilentlyContinue if ($queryTopology.State -ne "Active") { Start-Sleep -Seconds 10 } } }

  45. SharePoint InstallationSome Manual Service Apps Still Required • Due to complexity and/or bugs, certain Service Apps will need to be manually configured in most cases. • This includes the following: • PerformancePoint Service Application • User Profile Service Application • Web Analytics Service Application

  46. Security

  47. SharePoint SecurityLayers of Security in a SharePoint Environment • Infrastructure Security and Best Practises • Physical Security • Best Practice Service Account Setup • Kerberos Authentication • Data Security • Role Based Access Control (RBAC) • Transparent Data Encryption (TDE) of SQL Databases • Antivirus • Transport Security • Secure Sockets Layer (SSL) from Server to Client • IPSec from Server to Server • Edge Security • Inbound Internet Security (Forefront UAG/TMG) • Rights Management

  48. SharePoint SecurityInfrastructure – Sample List of Service Accounts

More Related