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
Sponsorship Level: Raffle
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/
ivc@ShareQL.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@ShareQL.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
Business Continuity
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)
Terminology
Service Level Agreement
HA DR RPO RTO
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 RTO
Example:
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
RPO/RTO versus Cost
RPO/RTO Cost
HA-DR
HA DR
Architecture
SharePoint 2013/2016
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
…
SharePoint and
Business Continuity
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 started
on 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
SharePoint and SQL Server
Always On
Availability Groups
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
Always On Availability &
SharePoint
SQL 1
FARM 1
SQL 2
High
Availabilty
Synchronous (no data loss)
HA-Always On Availability Groups
& SharePoint
SQL 1
FARM 1
SQL 2
Synchronous
High
Availabilty
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 – Async
Commit
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 !
SQL Server and Always On
Availability Groups (AOAG)
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)
FAILOVER CLUSTER AND ALWAYS
ON
SP HIGH AVAILABILITY
SHAREPOINT DISASTER RECOVERY
SharePoint Search and DR
• 2 farms-> 2 search ?
• Problems
– 2 search configurations
– Analytics
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 movement
from 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 binaries
Dismount content
DB (because
read-only)
Resume data
movement in
service AVG -
>farm1 get patch
from farm 2
PSConfig
Upgrade content
database (SP-
UpgradeContentD
atabase)
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 &authrealm
Restart-Service sptimerv4
Restart-Service spadminv4
Use the same authentification realm in
the main farm and in DR farm !
Conclusions
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 !
Danke ! Thank you ! Merci !
ivc@shareql.com
@thesqlgrrrl
sergeluca@shareql.com
@sergeluca
#JSS2014
Danke ! Thank you ! Merci !
ivc@shareql.com
@thesqlgrrrl
sergeluca@shareql.com
@sergeluca
This is my awesome text
This a my awesome slide title
Evaluez les sessions grâce à l’application SPS Genève !
Et gagnez des licences

Unbreakable Sharepoint 2016 With SQL Server 2016 availability groups

  • 1.
    Unbreakable SharePoint 2016 withSQL 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
  • 2.
  • 4.
    Isabelle Van Campenhoudt IsabelleVan 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/ ivc@ShareQL.com @thesqlgrrrl Isabelle Van Campenhoudt globalfrench.sqlpass.org
  • 5.
    Serge Luca Serge Luca 10x SharePoint MVP, Brussels Consultant, speaker, trainer Managing partner of www.ShareQL.com SharePoint since 2001 Blog: http://sergeluca.wordpress.com/ sergeluca@ShareQL.com @SergeLuca Serge Luca
  • 6.
    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
  • 7.
  • 8.
    Start from thebusiness 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
  • 9.
    IT Role Prevent incidents •ProactiveMonitoring •Staff organization In case of incident •HA (High Availability) •DR (Disaster Recovery)
  • 10.
  • 11.
    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 RTO Example: RTO 1 hour RPO 3 hours “I wait max 1 hour I loose max 3 hours of data”
  • 12.
    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
  • 13.
  • 14.
  • 15.
  • 16.
    A SharePoint farmis not alone… Office Online Server farm Wokflow Manager farm SharePoint 2016 farm Apps Add-ins
  • 17.
  • 18.
  • 19.
    Remarks… Patching (HA) • inSharePoint 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
  • 20.
    Achieving H-A (HighAvailability) Server redundancy • SharePoint, Office Web App, Workflows, SQL Services redundancy • Services can be started on several machines • Different roles : search
  • 21.
    DR Strategy (DisasterRecovery) • 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
  • 22.
    SharePoint and SQLServer Always On Availability Groups
  • 23.
    High Availability andDisaster 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
  • 24.
    Always On Availability& SharePoint SQL 1 FARM 1 SQL 2 High Availabilty Synchronous (no data loss)
  • 25.
    HA-Always On AvailabilityGroups & SharePoint SQL 1 FARM 1 SQL 2 Synchronous High Availabilty
  • 26.
    HA – SyncCommit 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
  • 27.
    Set up: farmin 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 !
  • 28.
    DR with AlwaysOn 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)
  • 29.
    Usage Content User Profile BDC Managed Meta Search State Config Centraladmin 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)
  • 30.
    Database Support –Async Commit 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
  • 31.
    Set up: farmin 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 !
  • 32.
    SQL Server andAlways On Availability Groups (AOAG)
  • 33.
    How to Add databasesinto 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)
  • 34.
  • 36.
  • 37.
  • 38.
    SharePoint Search andDR • 2 farms-> 2 search ? • Problems – 2 search configurations – Analytics
  • 39.
    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
  • 40.
    Patching with 2farms (no downtime) Install binaries Dismount content DBs (because read- only) Switch Services to farm2 Stop data movement from 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)
  • 41.
    Patching 2 farms(continued) 2.Patch Farm 1 Install binaries Dismount content DB (because read-only) Resume data movement in service AVG - >farm1 get patch from farm 2 PSConfig Upgrade content database (SP- UpgradeContentD atabase)
  • 42.
    Pitfalls for AvailabilityGroups Installation • File location • Security sync • AD permissions Operations • Backups & Logs • Logins synchronization • Patching • Avoid VMotion
  • 43.
    Adjust your clustersettings Get-cluster).SameSubnetThreshold = 10 (Get-cluster).CrossSubnetThreshold = 10 (Get-cluster).CrossSubnetDelay = 400 (Get-cluster).SameSubnetDelay = 2000
  • 44.
    If you useapps/add-ins… $authrealm = Get-SPAuthenticationRealm #on the DR farm Set-SPAuthenticationRealm –Realm &authrealm Restart-Service sptimerv4 Restart-Service spadminv4 Use the same authentification realm in the main farm and in DR farm !
  • 45.
  • 46.
    Define SLAs withthe 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 !
  • 48.
    Danke ! Thankyou ! Merci ! ivc@shareql.com @thesqlgrrrl sergeluca@shareql.com @sergeluca
  • 49.
    #JSS2014 Danke ! Thankyou ! Merci ! ivc@shareql.com @thesqlgrrrl sergeluca@shareql.com @sergeluca
  • 50.
    This is myawesome text This a my awesome slide title
  • 51.
    Evaluez les sessionsgrâce à l’application SPS Genève ! Et gagnez des licences