Design Considerations for a Multi-Purpose Teacher Education Portfolio Template
Always On, Multi-Site Design Considerations
-
Upload
john-martin -
Category
Technology
-
view
342 -
download
0
Transcript of Always On, Multi-Site Design Considerations
![Page 1: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/1.jpg)
John Q MartinSales Engineer
Multi-Site Always On Design Considerations
![Page 2: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/2.jpg)
About Me John Q Martin Sales Engineer for SQL Sentry
Over ten years experience with SQL Server
Previously worked as a DBA, SQL Dev, BI Dev
Worked as a SQL Server Premier Field Engineer (PFE) for Microsoft in the UK
Twitter : @SQLDiplomatEmail : [email protected] : http://blogs.sqlsentry.com/author/JohnMartin/
![Page 3: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/3.jpg)
E-Mail [email protected] for free copies of our $10 e-books.
Tuning blog: http://www.sqlperformance.com/
![Page 5: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/5.jpg)
What is Always On? Always On is a set of features
Failover Cluster Instances (FCI)
Availability Groups
![Page 6: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/6.jpg)
Availability Groups Database Level Protection
Local Storage
Multiple Replicas
![Page 7: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/7.jpg)
Failover Cluster Instances Instance Level Protection
Shared Storage
Single Database Replica
![Page 8: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/8.jpg)
Why Multi-site?Improved Resilience
High Availability and Disaster Recovery
Service Versatility & Flexibility
RPO and RTO requirements
![Page 9: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/9.jpg)
Multi-site HA Vs DR
Before you start on the multi-site road, understand what your
objective is. Are you looking for Multi-Site High Availability or a
Disaster Recovery option.
![Page 10: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/10.jpg)
Multi-Site Considerations
Storage LayoutNetwork ConnectivitySoftware Versions in useClient Application Design
![Page 11: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/11.jpg)
Storage Configurations
Failover Cluster Instances• SAN Replication
Failover Cluster Instance
Image Source: Windows Server 2008 Multi-Site Clustering Technical Decision-Maker White Paper, November 2007
![Page 12: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/12.jpg)
Storage Configurations
Availability Groups• Local Storage
Image Source: Overview of AlwaysOn Availability Groups (SQL Server) [MSDN]
![Page 13: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/13.jpg)
Network Connectivity Latency Can Hurt
Multiple IP SubnetsClustering Network Config
![Page 14: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/14.jpg)
Network Connectivity Latency Can Hurt
Multiple IP SubnetsClustering Network Config
Site 1 Site 2
Update
Transaction Log Transaction Log
![Page 15: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/15.jpg)
Network Connectivity Latency Can Hurt
Multiple IP SubnetsClustering Network Config
Site 1 Site 2
Transaction Log Transaction Log
Update
![Page 16: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/16.jpg)
Network Connectivity Latency Can Hurt
Multiple IP SubnetsClustering Network Config
Site 1 Site 2
Transaction Log Transaction Log
Update
![Page 17: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/17.jpg)
Network Connectivity Latency Can Hurt
Multiple IP SubnetsClustering Network Config
Site 1 Site 2
Transaction Log Transaction Log
Update
![Page 18: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/18.jpg)
Network Connectivity Latency Can Hurt
Multiple IP SubnetsClustering Network Config
Site 1 Site 2
Transaction Log Transaction Log
Update
![Page 19: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/19.jpg)
Network Connectivity Latency Can Hurt
Multiple IP SubnetsClustering Network Config
Site 1 Site 2
Transaction Log Transaction Log
Local Latency
Remote Latency
Update
![Page 20: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/20.jpg)
Network Connectivity Latency Can Hurt
Multiple IP SubnetsClustering Network Config
Site 1 Site 2
Transaction Log Transaction Log
Local Latency
Remote Latency
UpdateCommit
![Page 21: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/21.jpg)
Cluster Network Configuration
What and where to change.
![Page 22: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/22.jpg)
Demo Code: Cluster DNS Config
## // Set Parameters for the network name you want to modify the DNS behavior for$clusterName = "sqllabcl01"$clusterGroupName = "SqlLabAg01"$clusterResourceType = "Network Name"
## // 0 / False = Register only the active IP Address for the network name## // 1 / True = Register all possible IP Addresses for the network name$ipRegistrationSetting = $false
## // Set reduced TTL (seconds) for DNS Records to use when not registering all network IP addresses$ttlValue = 30
## // If reverting to use all IP addresses then revert TTL for DNS to defaultif($ipRegistrationSetting){ $ttlValue = 1200}
## // Set the Register All Providers IP Address parameterGet-Cluster -Name $clusterName | ` Get-ClusterGroup -Name $clusterGroupName | ` Get-ClusterResource | Where-Object {$_.ResourceType -eq $clusterResourceType} | ` Set-ClusterParameter -Name RegisterAllProvidersIP -Value $ipRegistrationSetting
![Page 23: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/23.jpg)
Demo Code: Cluster DNS Config (cont.)
## // Set the Register All Providers IP Address parameterGet-Cluster -Name $clusterName | ` Get-ClusterGroup -Name $clusterGroupName | ` Get-ClusterResource | Where-Object {$_.ResourceType -eq $clusterResourceType} | ` Set-ClusterParameter -Name RegisterAllProvidersIP -Value $ipRegistrationSetting
## // Set the TTL value appropriately for the configurationGet-Cluster -Name $clusterName | ` Get-ClusterGroup -Name $clusterGroupName | ` Get-ClusterResource | Where-Object {$_.ResourceType -eq $clusterResourceType} | ` Set-ClusterParameter -Name HostRecordTTL -Value $ttlValue
## // Stop the network name resourceGet-Cluster -Name $clusterName | ` Get-ClusterGroup -Name $clusterGroupName | ` Get-ClusterResource | Where-Object {$_.ResourceType -eq $clusterResourceType} | ` Stop-ClusterResource
## // Start the network name resourceGet-Cluster -Name $clusterName | ` Get-ClusterGroup -Name $clusterGroupName | ` Get-ClusterResource | Where-Object {$_.ResourceType -eq $clusterResourceType} | ` Start-ClusterResource
![Page 24: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/24.jpg)
Demo Code: Cross-Subnet settings
# PowerShell Code# Specify the cluster name you want to set the values for$clusterName = "SqlLabCL01"# Specify values$crossSubDelay = 1000 # Min: 250, Max 4000$crossSubThreshold = 5 # Min: 2, Max 120
## Calculation for how long a node can be disconnected."Network Failure Tolerance: " + (($crossSubDelay/1000) * $crossSubThreshold).ToString() + " seconds."
$cluster = Get-Cluster -Name $clusterName
# Frequency that heartbeat is sent in ms$cluster.CrossSubnetDelay = $crossSubDelay# Number of missed heartbeats$cluster.CrossSubnetThreshold = $crossSubThreshold
## Current valuesget-cluster |` select CrossSubnetDelay, CrossSubnetThreshold, SameSubnetDelay, SameSubnetThreshold | ` Format-List
![Page 25: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/25.jpg)
Quorum Configurations
It Depends
![Page 26: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/26.jpg)
Software Versions Windows Server
• 2008 SP2 & Above*
SQL Server Enterprise Ed.• 2012 & Above
![Page 27: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/27.jpg)
Application Design Allow for Latency
• Caching, Queuing etc.
Unreliable Connections• Retry Logic
![Page 28: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/28.jpg)
More Information & Resources
SQL Performance www.sqlperformance.com
Team Blogs http://blogs.sqlsentry.com
Plan Explorer [Free] http://sqlsentry.com/products/plan-explorer
Get in contact with us Twitter : @SQLSentry Facebook : facebook.com/sqlsentry LinkedIn : SQL Sentry, LLC
![Page 29: Always On, Multi-Site Design Considerations](https://reader033.fdocuments.net/reader033/viewer/2022061610/586f73941a28ab10258b5847/html5/thumbnails/29.jpg)
Questions