3. 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
4. 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
5. 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. 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
10. 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”
18. 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
19. 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
20. 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
22. 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
23. Always On Availability &
SharePoint
SQL 1
FARM 1
SQL 2
High
Availabilty
Synchronous (no data loss)
25. 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
26. Set up: farm in Vienna
(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 !
27. 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)
28. 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)
29. 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
30. 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 should point to listeners
Install the SharePoint farm in
Brussels
3 SQL aliases
• Test DR failover with SharePointTest,Test,Test…
Everything can
easily be scripted !
32. 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)
38. SharePoint Search and DR
• 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 2 farms
(no downtime)
Install binaries
Dismount
content DBs
(because read-
only)
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 Availability Groups
Installation
• File location
• Security sync
• AD permissions
Operations
• Backups
• Logins
synchronization
• Patching
• Avoid VMotion
44. 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 !
46. 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 !
To add your image, first delete the place holder image as shown in the white box.Then insert your picture and scale it to be bigger than the size of the white box shown.Finally, right click on your image and select ‘Send to back’ – your image should now be framed correctly.
TODO GUSS
TODO readable nodes ISA
You can take backup from the replicas, but you’ll need a licence
Todo ISA sync and async not visible in projector->to fix
TODO vibrer
16’30 18’30
Show cluster
Show node
Show no central disk
SHow SQL
Show listeners
Show AVGs : explain each database
Show scripts to add db into AVG, including tatoos
Show scripts to sync logins
26’ 22’
Make an automatic switch
Show web site
Show web site 1 in Main farm
Show web site 1 in DR farm
Add a document in main farm, show in DR
Show managed metadata in farm 1- add one value, show in DR
Show central admin farm 1, farm 2
Make a failover
Show web site 1 in DR farm
Show web site 1 in Main farm
Swicth back to main
Todo (serge)
Check Network Multisubnet
SameSubnetThreshold = Controls how many heartbeats can be missed on the same subnet before the route is declared as unreachable.
CrossSubnetDelay = Controls the time interval, in milliseconds, that the cluster network driver waits between sending Cluster Service heartbeats across subnets
Todo (Isa) : danger d’augmenter ces valeurs ?
TODO isa check