sp2010 high availlability_sql

40
SharePoint 2010 – High Availability Considerations for SQL Server Backend Roger Breu Technical Specialist Data Platform [email protected]

Upload: samuel-zuercher

Post on 08-Dec-2014

4.645 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Sp2010 high availlability_sql

SharePoint 2010 – High AvailabilityConsiderations for SQL Server

Backend

Roger BreuTechnical Specialist Data [email protected]

Page 2: Sp2010 high availlability_sql

Patching and service pack installationsHardware and software upgrades/migrationsSystem reconfigurationDatabase maintenanceApplication upgrade

Human error is the number one cause of failureSite disastersHardware malfunctionData corruptionSoftware crash

Availability during planned downtime

Protection against unplanned downtime

Why Do You Need HA/DR?

Page 3: Sp2010 high availlability_sql

Agenda

Why care about SQL Server?SQL Server High Availability and Disaster RecoveryConfiguration Best PracticesOptimizing PerformanceQ&A

Page 4: Sp2010 high availlability_sql

Why care about SQL Server?

Page 5: Sp2010 high availlability_sql

SharePoint and SQL ServerSharePoint Admins and SQL DBA’s #!

SharePoint heavily dependent upon SQL

SQL DBA’s want control of DB’sDBA’s think SharePoint = DB sprawl

SharePoint Admins want control of FarmsYet, storage architecture and SQL Server availability/scalability is critical to success

Page 6: Sp2010 high availlability_sql

SharePoint and SQL ServerYou need coordination to make it work!

SharePoint Admin and SQL DBA synchronize on DB’s required, sizing, growth, capacity, distribution, usage profiles, backup and restore, HA and DRDBA’s pre-construct and pre-size DB’s, monitor via SQLSharePoint Admin connects to DB’s, monitor via CACoordinate backup and restore

Page 7: Sp2010 high availlability_sql

SQL Server High Availability and Disaster Recovery

Page 8: Sp2010 high availlability_sql

SQL Server 2008 R2 HA/DR technologies

Database mirroring

Failover clustering

Transactional and peer-to-peer replication

Log shipping

Backup and restore

HA

HA

/DR

DR

DR

For SharePoint 2010

Page 9: Sp2010 high availlability_sql

SQL Server Database Mirroring

Implemented on a per-database levelTransactions sent from Principal to MirrorPrincipal and Mirror must be separate SQL serversOptional “witness” server for automatic failoverProvides a “warm” standby in case of failure

Page 10: Sp2010 high availlability_sql

SQL Server Database Mirroring Witness Server

Principal Mirror

Encrypted Channel

Everything OK?

I’m OK!Every

thing O

K?

Principal

Down!

3

4

21

2

5New

Principal

5

Page 11: Sp2010 high availlability_sql

SQL Server Database Mirroring

Three operation modes:

Operation Modes

Mode Safety Level Transfer Mechanism Failover

High Safety/Protection

Full (no witness) Synchronous Manual

High Availability Full (with witness) Synchronous Manual and

Automatic

High Performance Off Asynchronous Forced

Page 12: Sp2010 high availlability_sql

SQL Server Failover Clustering

Implemented at the SQL Server Instance levelShared cluster name and automatic failoverDisk subsystem is shared meaning single point of failure

SQL Failover Server Cluster

SharePoint Web Front Ends

Shared Disk Array

Node A Node B

Heartbeat

Page 13: Sp2010 high availlability_sql

SQL Server Failover Clustering /2 datacenters

Disk subsystem can be replicated, no single point of failureReplication, especially synchronous will affect performance

SQL Failover Server Cluster

SharePoint Web Front Ends

Shared Disk Array

Node A Node B

Heartbeat

Shared Disk Array

Page 14: Sp2010 high availlability_sql

SQL Server Failover Clustering

SQL Server High-Availability Mirroring

Time to failoverCluster member takes over immediately upon failure.

Mirror takes over immediately upon failure. (faster than failover clustering, no move of disks)

Steps required for failover?

Failure is automatically detected by database nodes; SharePoint Server 2010 references the cluster so that failover is seamless and automatic.

Failure is automatically detected by the database; SharePoint Server 2010 is aware of the mirror location, if it has been configured correctly, so that failover is automatic.

Protection against failed storage?Does not protect against failed storage, because storage is shared between nodes in the cluster.

Protects against failed storage because both the principal and mirror database servers write to local disks.

Storage types supported Shared storagedirect-attached storage (DAS) possible

Location requirementsMembers of the cluster must be on the same subnet.

Principal, mirror, and witness servers must be on the same LAN (up to 1 millisecond latency round trip).

Recovery model

SQL Server full recovery model recommended. You can use the SQL Server simple recovery model, but the only available recovery point if the cluster is lost will be the last full/diff backup.

Requires SQL Server full recovery model.

Performance overheadSome decrease in performance may occur while a failover is occurring.

High-availability mirroring introduces transactional latency because it is synchronous. It also requires additional memory and processor overhead.

Operational burdenSet up and maintained at the server level.

The operational burden is larger than clustering. Must be set up and maintained for all databases.

Page 15: Sp2010 high availlability_sql

HA Configuration

Page 16: Sp2010 high availlability_sql

SQL Server Log Shipping

Backup-Restore based technology that relies on transaction log files

Configurable frequency of shipping

No automatic failover

Allows you to replicate data to several instances of SQL

Page 17: Sp2010 high availlability_sql

DR Configuration

Page 18: Sp2010 high availlability_sql

Failover Clustering + Database Mirroring

DEMO

SharePoint 2010 – High AvailabilityConsiderations for SQL Server Backend

Page 19: Sp2010 high availlability_sql

HA Configuration

Davos

Lenzerheide ISCHGL

Samnaun

Davos\Mirror

TDCore

Verbier

Page 20: Sp2010 high availlability_sql

Sizing & Co.

Configuration Best Practices

Page 21: Sp2010 high availlability_sql

Server Config

AntiVirus ConfigExclude SQL Server Data/Tlog/Backup Files

High Performance mode for database Server

Default Setting: «Balanced Mode»Recommendation: «High Performance»

no Energy Saving anymore

Page 22: Sp2010 high availlability_sql

Storage

Recommended I/O Capacities

TypeRAID level IOPS SAN Optimization

tempdb RAID-10 2 IOPS/GB Write optimized

Transaction Logs RAID-10 2 IOPS/GB Write optimized

Search Database RAID-10  2 IOPS/GB

Read/Write optimized

Content Databases RAID-10*

0.75 IOPS/GB Read optimized

* Raid-5 can be used for static web content

Page 23: Sp2010 high availlability_sql

Storage

Optimizing SQL Server I/O Subsystem

Ensure correct HBA driver and firmware versions

Use SQLIO.exe to measure I/O performance

Configure correct NTFS Allocation Unit Size64K best; default (4K) can result in a 30% perf hitTo view: chkdsk <drive_letter>To set: format E: /Q /FS:NTFS /A:64K /V:Data1 /Y

Ensure correct Windows “Sector Alignment”Incorrect setting can result in up to 50% perf hit64K most common. Windows 2008 aligns sectors by defaultWhitepaper SQL CAT – Disk alignment Best Practices

http://msdn.microsoft.com/en-us/library/dd758814.aspx

Page 24: Sp2010 high availlability_sql

Prioritizing Database VolumesSeparate database volumes into unique logical

unit numbers (LUNs) consisting of unique physical disk spindlesPrioritize data among faster disks with ranking:

SQL TempDB data files and transaction log filesDatabase transaction log filesSearch databasesContent databases

In a heavily read-oriented portal site, prioritize data over logsSeparate out Search database transaction log from content database transaction logsPhysical Storage Recommendations:

http://technet.microsoft.com/en-us/library/cc298801.aspx

Page 25: Sp2010 high availlability_sql

SQL Server SetupUse newest SQL Server version and Service PackUse the Sharepoint Collation Latin1_General_CI_AS_KS_WS

Setup SQL Server with ScriptsInstall only needed components and featuresUse SQL Aliases on WFE Servers to connect to SQL Server Instance for easier migrations in futureEnsure that SQL Server Service Account has following privileges

Lock Pages in MemoryPerform Volume Maintenance Tasks

Page 26: Sp2010 high availlability_sql

SQL Server Configuration

Use Traceflag 1117 (when using autogrow and multiple datafiles)

Max Server Memory (leave at least 2-3GB to the OS)Set default index fill factor = 80%Enable Backup Compression defaultSet MAXDOP = 1

Page 27: Sp2010 high availlability_sql

TempDB Configuration

Number of Data files = number of cores (min 4/max 8)Data file sizes consistent across all data filesPregrow data and tlog filesConfigure meaningful growth incrementsData files spread across unique LUNs

Separated from Content DB, Search DB, etc.

Page 28: Sp2010 high availlability_sql

Content DB ConfigurationChoose the appropriate recovery model

Only use Full recovery model if you:Implement a backup strategy that includes regular (e.g. hourly) backups of the transaction logsUse a High Availability configuration, such as Log Shipping or Database MirroringThere is no point in using Bulk-Logged as SharePoint code does not contain any BULK INSERT or SELECT INTO statements

Otherwise use Simple to facilitate manageabilityConfigure the model database accordingly to avoid having to change the options of each new database after it was created

Do not change any Auto Setting!AUTO CREATE STATISTICS = FALSEAUTO UPDATE STATISTICS = FALSE

Page 29: Sp2010 high availlability_sql

Content Databases - ContinuedPre-construct and pre-sizeDeploy using DBA-created databases

http://technet.microsoft.com/en-us/library/cc262869.aspx

“Autogrow” feature on for safetyUse RAID 5 or RAID 10 LUNs depending on your performance needsNumber of Data files = number of cores (in primary filegroup)

General SQL Server Best Practice would be to have only master data file (mdf) in primary filegroup and add additional files with a secondary filegroup

Tlog File = 1 (one is enough as it is sequentially written)

Page 30: Sp2010 high availlability_sql

SQL Server ConfigurationDatabase Growth

DEMO

SharePoint 2010 – High AvailabilityConsiderations for SQL Server Backend

Page 31: Sp2010 high availlability_sql

Optimizing Performance

Page 32: Sp2010 high availlability_sql

Optimize your existing environments

Check at least for initial file sizes and growth incrementsCheck for large transactionlog filesUse DBCC Loginfo to get an idea on the internal fragmentation level of your transactionlog files

Lower fragmentation leads to more performacne, faster failover, faster restores

Page 33: Sp2010 high availlability_sql

Maintenance in General

Physical Volume File Fragmentation:IS NOT NEEDED If you work with best practices like presizing and good growth increments

Absolutely recommended reading: Database Maintenance for Microsoft SharePoint 2010 Products

http://www.microsoft.com/downloads/details.aspx?FamilyID=246DBCA0-F03C-4DFF-A1B9-F510F7FC8A6A&amp;amp;displaylang=e

Page 34: Sp2010 high availlability_sql

Databases MaintenanceDo’s

Have reliable backups for all databases before implementing maintenance operationsCheck for and repair consistency errors by using DBCC CHECKDBDefragment indexes by either reorganizing them or rebuilding them (Maintenance Plan or custom scripts), or use the dbo.proc_DefragmentIndices procedureUpdate statisticsIn a managed environment use standardized scripts for all databases and disable Database Maintenance Health Analyzer Rules

Page 35: Sp2010 high availlability_sql

Databases Maintenance

Don'tsDrop and re-create indexesRebuild indexes or run consistency checks during business hoursSet fill factor for individual tables or indexesAuto-shrink databasesShrink databases manually unless you really need toDBCC Checkdb REPAIR_ALLOW_DATA_LOSS not supported (REPAIR_REBUILD supported, but not always possible)

Page 36: Sp2010 high availlability_sql

How to check if everything is healthy and optimized?

DEMO

SharePoint 2010 – High AvailabilityConsiderations for SQL Server Backend

Page 37: Sp2010 high availlability_sql

Use SQL Server Enterprise EditionSQL Server 2008 R2 and SharePoint 2010 Better together

WP: http://technet.microsoft.com/en-us/library/cc990273.aspx

Online Operations (Index Rebuilds, Page/File Restore)Faster Recovery/Failover (more redo threads, partial database availability)Asynchronous Database Mirroring for DRHot Add CPU/RAM (important for dynamic virtual environments)Unlimited Virtualization (with SA) and Application License MobilityCompression for Search DBTransparent Database EncryptionResource GovernorBusiness IntelligenceRemote Blob StorageMore than 2 Cluster Nodes

Page 38: Sp2010 high availlability_sql

Q&A

Page 39: Sp2010 high availlability_sql

Additional ResourcesHigh Availability and Disaster Recovery for SharePoint Server 2010: http://technet.microsoft.com/en-us/sharepoint/ff601831.aspx Boundaries and Limits Document: http://technet.microsoft.com/en-us/library/cc262787.aspx Performance and capacity management (SharePoint Server 2010):http://technet.microsoft.com/en-us/library/cc262971.aspxSQL Server and storage (SharePoint Server 2010): http://technet.microsoft.com/en-us/library/cc263420.aspxHP SharePoint Sizer: http://sizers.houston.hp.com/sb/installs/SharePoint2010Sizer.zip

Page 40: Sp2010 high availlability_sql

© 2010 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.