The document discusses best practices for architecting and configuring a SharePoint 2010 farm. It covers topics such as farm architecture designs for small, medium and large farms. It also discusses virtualization options for SharePoint servers and performance monitoring considerations in virtual environments. Additional sections provide guidance on SQL database optimization techniques, high availability and disaster recovery strategies using database mirroring or clustering, and network load balancing configurations.
3. MICHAEL NOEL
• Author of SAMS Publishing titles “SharePoint 2007 Unleashed,” the upcoming
“SharePoint 2010 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, U.S.A. based Infrastructure/Security specialists for
SharePoint, AD, Exchange, Security
4. WHAT WE WILL COVER
• Examine various SharePoint 2010 farm architecture best Practices
that have developed over the past year
• Examine SharePoint Best Practice Farm Architecture
• Understand SharePoint Virtualization Options
• Explore SharePoint DR and HA strategies using Database
Mirroring
• Explore other common best Practices (RBS, SSL, NLB)
• A large amount of best Practices covered (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
7. Architecting the Farm
Small Farm Examples
DB and SP Roles Separate
„All-in-One‟ (Avoid)
8. Architecting the Farm
Smallest 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
9. Architecting the Farm
Best 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
10. Architecting the Farm
Scaling 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
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
11. Architecting the Farm
FAST Search
• Previously a third party product ($$$$)
• More reasonable pricing now
• Highly tuned and specialized search engine for
SharePoint and also as an enterprise search platform
• Replaces SharePoint 2010 Native Search if used
• „Net new‟ features built-in.
12. Architecting the Farm
FAST Search – Comparison Matrix – Slide 1 of 2
Feature SharePoint
Foundation
Search Server
2010 Express
Search Server
2010
SharePoint
Server 2010
FAST Search
Server 2010 for
2010 SharePoint
Basic search X X X X X
Best Bets X X X X
Search Scopes X X X X
Crawled and Managed Properties X X X X
Query Federation X X X X
Query Suggestions X X X X
Relevancy Tuning by Document or X X X X
Site Promotions
Shallow Results Refinement X X X X
Windows 7 Federation X X X X
13. Architecting the Farm
FAST Search – Comparison Matrix – Slide 2 of 2
Feature SharePoint
Foundation
Search Server
2010 Express
Search
Server
SharePoint
Server 2010
FAST Search
Server 2010 for
2010 2010 SharePoint
People Search X X
Social Search X X
Taxonomy Integration X X
Multi-Tenant Hosting X X
Visual Best Bets X
Similar Results X
Duplicate Results X
Search Enhancement based on user context X
Sort Results on Managed Properties or Rank X
Profiles
Deep Results Refinement X
Document Preview X
Rich Web Indexing Support X
16. Virtualization of SharePoint Servers
Virtual Guest Processor and Memory Guidelines
vCPU RAM (Bare RAM (Recommend) RAM
Minimum) (Ideal)
Web Only* 2 6GB 8GB 12GB
Service Application 2 6GB 8GB 12GB
Roles Only
Dedicated Search 2 8GB 10GB 16GB
Service App
Combined 4 10GB 12GB 18GB
Web/Search/Service
Apps
Database* 4 10GB 16GB 24GB
17. Virtualization of SharePoint Servers
Sample 1: Small Single Server Environment / No HA
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
18. Virtualization of SharePoint Servers
Sample 2: Two Server Highly Available Farm
High-
Availability
across Hosts
All
components
Virtualized
Uses only two
Windows Ent
Edition
Licenses
19. Virtualization of SharePoint Servers
Sample 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
21. Virtualization of SharePoint Servers
Virtualization Performance Monitoring
• Processor (Host Only) • Network Bandwidth – Bytes
• <60% Utilization = Good Total/sec
• 60%-90% = Caution – <40% Utilization = Good
• >90% = Trouble – 41%-64% = Caution
• Available Memory – >65% = Trouble
• 50% and above = Good • Network Latency - Output
• 10%-50% = OK Queue Length
• <10% = Trouble – 0 = Good
• Disk – Avg. Disk sec/Read or Avg. Disk – 1-2= OK
sec/Write – >2 = Trouble
• Up to 15ms = fine
• 15ms-25ms = Caution
• >25ms = Trouble
22. Virtualization of SharePoint Servers
Quick Farm Provisioning using VMM/Virtual Center
1. Create new Virtual Guest (Windows Server 2008 R2)
2. Install SP2010 Binaries. Stop before running Config Wizard
3. Turn Virtual Guest into Template, modify template to allow it to be
added into domain
4. 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
25. Data Management
Distribute 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
26.
27. Data Management
Binary 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
28. Data Management
Getting 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
31. SQL Database Optimization
Content 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.
32. SQL Database Optimization
TempDB Best Practices
• 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.
34. HIGH AVAILABILITY AND DISASTER RECOVERY
DATA 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)
35. HIGH AVAILABILITY AND DISASTER RECOVERY
DATA 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!
36. High Availability and Disaster Recovery
Data 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
37. High Availability and Disaster Recovery
Data 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
38. High Availability and Disaster Recovery
Data 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
39. High Availability and Disaster Recovery
Data Tier – Database Support for Mirroring – Slide 1 of 2
Synchronous Asynchronous
Mirror Support Mirror Support
Configuration X
Central Administration content X
Content Databases X X
Usage and Health Data Collection
Business Data Connectivity X
Application Registry service * (BDC Upgrade)
Subscription Settings service * (PowerShell Enabled) X
Search – Search Administration X
Search - Crawl X
Search - Property X
40. High Availability and Disaster Recovery
Data Tier – Database Support for Mirroring – Slide 2 of 2
Synchronous Asynchronous
Mirror Support Mirror Support
User Profile - Profile X
User Profile - Synchronization
User Profile – Social Tagging
Web Analytics - Staging
Web Analytics - Reporting X
Secure Store X X
Stage X
Managed Metadata X
Word Automation Services X
PerformancePoint X
41. HIGH AVAILABILITY AND DISASTER RECOVERY
TWO NODE/TWO INSTANCE CLUSTER – TAKE ADVANTAGE OF BOTH
SERVERS
42. HIGH AVAILABILITY AND DISASTER RECOVERY
NETWORK 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)
43. HIGH AVAILABILITY AND DISASTER RECOVERY
WINDOWS 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
45. SHAREPOINT INSTALLATION
SCRIPTED 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…
47. SHAREPOINT INSTALLATION
SOME 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
48. SHAREPOINT INSTALLATION
DOCUMENT THE CONFIGURATION AND MONITOR CHANGES
• Document all key settings in IIS, SharePoint, after installation
• Consider monitoring for changes after installation for Config
Mgmt.
• Great tool for this is the SPDocKit - can be found at
http://tinyurl.com/spdockit
50. SHAREPOINT SECURITY
LAYERS OF SECURITY IN A SHAREPOINT ENVIRONMENT
• Infrastructure Security and Best Practices
• 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
51. FOR MORE INFORMATION
• SharePoint 2010 Unleashed from SAMS Publishing
(http://www.samspublishing.com)
• Windows Server 2008 R2 Unleashed and/or Hyper-V Unleashed
(http://www.samspublishing.com)
• Microsoft „Virtualizing SharePoint Infrastructure‟ Whitepaper
(http://tinyurl.com/virtualsp)
• Microsoft SQL Mirroring Case Study (http://tinyurl.com/mirrorsp )
• Failover Mirror PowerShell Script (http://tinyurl.com/failovermirrorsp )
• SharePoint Kerberos Guidance (http://tinyurl.com/kerbsp)
• SharePoint Installation Scripts (http://tinyurl.com/SPFarm-
Config)
• Contact us at CCO.com
52. Thank you to our Sponsors
Gold Sponsors
Silver Sponsors
Bronze Sponsors
53. Michael Noel
Twitter: @MichaelTNoel
www.cco.com
Slides: slideshare.net/michaeltnoel