Date post: | 05-Apr-2017 |
Category: |
Technology |
Upload: | isabelle-van-campenhoudt |
View: | 72 times |
Download: | 4 times |
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability Groups
Serge Luca SharePoint MVP
Isabelle Van Campenhoudt SQL Server MVP
ShareQL - Belgium
SharePoint Saturday Genève – 3 Décembre 2016
Isabelle Van Campenhoudt
Isabelle Van
Campenhoud
t
SQL Server MVP, Brussels
Consultant, speaker, trainer, PASS V-Chapter Leader
Managing partner de www.ShareQL.com
SQL Server since 1999
Blog: http://thesqlgrrrl.wordpress.com/
@thesqlgrrrl
Isabelle Van Campenhoudt
globalfrench.sqlpass.org
Serge Luca
Serge Luca
10 x SharePoint MVP, Brussels
Consultant, speaker, trainer
Managing partner of www.ShareQL.com
SharePoint since 2001
Blog: http://sergeluca.wordpress.com/
@SergeLuca
Serge Luca
Business Continuity - Concepts
SharePoint 2016 Architecture
SharePoint 2016 and Business Continuity
SharePoint 2016 and Always On Availability Groups
SQL Server and Always On Availability Groups (details)
Conclusions – Q&A
Agenda
Start from the business
Good management practices, start from the
business
• Don’t reinvent the wheel:
• ISO 22301
• Compatible with :
• ISO 9001 (quality)
• ISO 27001 (security)
• http://www.iso.org/iso/fr/news.htm?refid=Ref1602
IT Role
Prevent incidents
•Proactive Monitoring
•Staff organization
In case of incident
•HA (High Availability)
•DR (Disaster Recovery)
Requirements
Recovery Point Objective (RPO)How much data can we afford to loose ?
Recovery Time Objective (RTO)How long can we afford to wait ?
RPO RTOExample:
RTO 1 hour
RPO 3 hours
“I wait max 1 hour
I loose max 3 hours of data”
Service Level Agreement (SLA)
Contracted delivery time
Availability% Stop/Year Stop/Month Stop / Week
99% 3.65 hours 7.20 hours 1.68 hours
99.9% 8.76 hours 43.20 minutes 10.10 minutes
99.99% 52.56 minutes 4.32 minutes 1.01 minutes
99.999% 5.26 minutes 25.90 seconds 6.05 seconds
99.9999% 31.50 seconds 2.59 seconds 0.61 seconds
A SharePoint farm is not alone…
Office
Online
Server farm
Wokflow
Manager
farm
SharePoint 2016
farm
Apps
Add-ins
SharePoint Databases
Usage
Content
User Profile
BDC
Managed
Meta
Search
State
Config
Central admin
Content
…
Remarks…Patching (HA)
• in SharePoint 2013 - > Downtime even if farm redundant
Patching (HA)
• In SharePoint 2016 - > No Downtime if farm redundant
• Still risky…could become DR if farm is broken
Deployment
• New custom code « breaks » the farm -> DR ?
Stretched farm
• Not popular anymore latency requirements very strict
• Stretched farm is not DR
• What if Config DB is corrupted ?
DR
• Building destroyed
Achieving H-A (High Availability)
Server redundancy
• SharePoint, Office Web App, Workflows, SQL
Services redundancy
• Services can be startedon several machines
• Different roles : search
DR Strategy (Disaster Recovery)
• Recovery in hours or days
• Backup, restore
Cold standby
• Recovery in minutes, hours
• Backup, restore, send VMs
Warm standby
• Recovery in seconds, minutes
• 2 farms, synchronized via log shipping, mirroring, Always
On Availability Groups)
Hot standby
High Availability and Disaster Recovery
Potential
Data Loss
(RPO)
Potential
Recovery Time
(RTO)
Automatic
Failover
Readable
Secondaries
Backup, Copy, Restore hours hours -to-days No
Not during a
restore
Log Shipping Minutes
Minutes-to-
hours No
Not during a
restore
Database Mirroring - High-safety (sync + witness) Zero seconds Yes NA
Database Mirroring - High-performance (async) seconds Minutes No NA
Always On Failover Cluster Instance (FCI) NA
seconds to
minutes Yes NA
Always On Availability Groups - synchronous-commit Zero seconds Yes 0 – 3
Always On Availability Groups - asynchronous-commit seconds Minutes No 0 - 8
HA – Sync Commit
Usage
Content
User Profile
BDC
Managed Meta
Search
State
Config
SP FARM
VIENNA
Central admin
Usage
Content
User Profile
BDC
Managed Meta
Search
State
Config
Central admin
Sync
Set up: farm in Geneva (main farm)
• SharePoint 2013 with SP1 and CU April 2014 or SP2016
• 3 aliases : 1 for content DB, 1 for Services DB, 1 for farm DB (CA, Config, State).
Install the SharePoint farm in Vienna
3 SQL aliases
• Recovery mode to “full” for databases to be sync
• SharePoint databases Full Backup
• !!! In Test take log backups Configure SharePoint DB
• Create Windows Cluster and add every SQL Node
• Create 3 Always On AG & Add SharePoint DB
• Create the 3 listeners (1/AVG)
• Copy SP logins & permissions and other server objects on every node
Configure SQL Server Cluster
& Always On
$alias1 = “AVG1 listener”
$alias2 = “AVG2 listener”
$alias3 = “AVG3 listener”
$configDB = ...
$alias1 = “SQL1”
$alias2 = “SQL1”
$alias3 = “SQL1”
New-SPConfigurationDatabase -databaseName $ConfigDB -DatabaseServer $alias1
New-SPWebApplication -DatabaseServer $alias2
New-SPMetadataServiceApplication -DatabaseServer $alias3
New-SPEnterpriseSearchServiceApplication -DatabaseServer $alias1
Everything can
easily be scripted !
DR with Always On Availability Groups & SharePoint (Active/Passive)
SQL 1
FARM 1
SQL 2
FARM 2
SQL 3
Asynchronous (potential data loss)
Disaster
Recovery
Synchronous (no data loss)
Usage
Content
User Profile
BDC
Managed Meta
Search
State
Config
Central admin
Usage
Content
User Profile
BDC
Managed Meta
Search
State
Config
State
Content
User Profile
BDC
Managed Meta
Search !!!
Central admin
Config
Central admin
UsageAsync
Sync
SQL01 SQL02 SQL03
SP FARM
VIENNA
SP FARM
BRUSSELS
(DR)
Database Support – AsyncCommit
Database Supported
Admin Content No
App Management Yes
BDC Yes
Config No
Content Yes
Managed Metadata Yes
PerformancePoint Yes
PowerPivot Not Tested*
Project Yes
Search Analytic Reporting No
Search Admin No
Database Supported
Search Crawl No
Search Links No
Secure Store Yes
State Service No
Subscription Settings Yes
Translation Services Yes
UPA Profile Yes
UPA Social Yes
UPA Sync No
Usage Yes – NR
Word Automation Yes
Set up: farm in Brussels (DR farm)
• SharePoint 2013 with SP1 and CU April 2014 or SP2016
• 3 aliases : 1 for content DB, 1 for Services DB, 1 for farm DB (CA, Config, State).
• Aliases can point to listeners (not mandatory)
Install the SharePoint farm in Brussels
3 SQL aliases
• Test DR failover with SharePointTest,Test,Test…
Everything can
easily be scripted !
How to
Add databases into AVG – (powershell is better)
Create 3 listeners
Create 3 availability groups (AVG)
Install the Windows Server Failover Cluster on the SQL Machines – Add the Nodes –Configure the Quorum
Predefine Cluster Named Object (CNO) & grant the permission to create the cluster (full control on CNO)
SharePoint Search & DR solutions
Backup Restore of the Search Admin
DB
• Followed by a full crawl
• No analytics
Backup – Restore of the Search SA
• Analytics
Patching with 2 farms(no downtime)
Install binaries
Dismount content DBs
(because read-only)
Switch Services to farm2
Stop data movementfrom services AVG –
set read-only in farm1 primary node
Upgrade farm2 with Psconfig
Mount content DB in farm 2 (run in compatibility range)
Switch users to farm 2
1.Patch Farm 2 (DR)
Patching 2 farms (continued)
2.Patch Farm 1
Install binariesDismount content
DB (because read-only)
Resume data movement in service AVG -
>farm1 get patch from farm 2
PSConfig
Upgrade content database (SP-
UpgradeContentDatabase)
Pitfalls for Availability Groups
Installation
• File location
• Security sync
• AD permissions
Operations
• Backups & Logs
• Logins
synchronization
• Patching
• Avoid VMotion
Adjust your cluster settings
Get-cluster).SameSubnetThreshold = 10
(Get-cluster).CrossSubnetThreshold = 10
(Get-cluster).CrossSubnetDelay = 400
(Get-cluster).SameSubnetDelay = 2000
If you use apps/add-ins…
$authrealm = Get-SPAuthenticationRealm
#on the DR farm
Set-SPAuthenticationRealm –Realm &authrealmRestart-Service sptimerv4Restart-Service spadminv4
Use the same authentification realm in
the main farm and in DR farm !
Define SLAs with the business
Major Role of SQL Server AOAG in HA/DR
HA = 1 SP farm SP, DR = 2 SP farms
• Search limitation !!!
SP farm + Workflow farm + Office Web App farm
Be proactive !