Architecting Availability Groups

Slides:



Advertisements
Similar presentations
SQL Server AlwaysOn: Active Secondaries Luis Vargas Program Manager Microsoft Corporation DBI312.
Advertisements

Implementing SQLServer AlwaysON Sarabpreet Singh Anand SQL Server – MVP SQLServerGeeks.com (VP)
Virtual techdays INDIA │ September 2011 High Availability - A Story from Past to Future Balmukund Lakhani │ Technical Lead – SQL Support, Microsoft.
Denny Cherry twitter.com/mrdenny.
SQL Server 2012 Always On Premier Field Engineer Microsoft Corporation Lisa Gardner
SQL Server AlwaysOn: Active Secondaries Luis Vargas Program Manager Microsoft Corporation DBI312.
Module 14: Scalability and High Availability. Overview Key high availability features available in Oracle and SQL Server Key scalability features available.
SharePoint Business Continuity Management with SQL Server AlwaysOn
Chapter 10 : Designing a SQL Server 2005 Solution for High Availability MCITP Administrator: Microsoft SQL Server 2005 Database Server Infrastructure Design.
Implementing Database Snapshot & Database Mirroring in SQL Server 2005 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft.
High-Availability Methods Lesson 25. Skills Matrix.
SQL-Server 2012 Always On.
IT Pro Day SQL Server 2012 AllwaysOn Stephan Hurni Microsoft V-TSP Principal Consultant, Trivadis AG
Maintaining a Mirrored Database Tips and Tricks by Paul G. Hiles.
MODIFY THIS SLIDE FOR ACTUAL PRESENTER, DELETE THIS BAR AFTER MODIFICATION.
SQLintersection SQL37 SQL Server 2012 Availability Groups: High Availability for Your Most Important Data Aaron Bertrand,
SQLCAT: SQL Server 2012 AlwaysOn Lessons Learned from Early Customer Deployments Sanjay Mishra Program Manager Microsoft Corporation DBI360.
SQLintersection Session SQL37 SQL Server 2012 Availability Groups Aaron Bertrand
Unified solution Easy to configure, manage, and monitor Reuse existing investments SAN/DAS environments Allow using HA hardware resources Fast seamless.
SQL Server AlwaysOn Phil Brammer, Database Administrator.
SQLCAT: SQL Server HA and DR Design Patterns, Architectures, and Best Practices Using Microsoft SQL Server 2012 AlwaysOn Sanjay Mishra Program Manager.
Roger Technology Solution Professional DataPlatform Microsoft Corporation SQL Server 2012AlwaysOn Availability Groups.
Speaker Name 00/00/2013. Solution Requirements.
Alwayson Availability Groups
Architecting Availability Groups An analysis of Microsoft SQL Server Always-On Availability Group architectures 1.
Course Topics Administering SQL Server 2012 Jump Start 01 | Install and Configure SQL Server04 | Manage Data 02 | Maintain Instances and Databases05 |
Warwick Rudd – Henry Rooney – How Available is SQL Server 2016? DAT33 6.
1 Chapter Overview Using Standby Servers Using Failover Clustering.
SQL Server 2012: AlwaysOn HA and DR Design Patterns, and Lessons Learned from Early Customer Deployments Sanjay Mishra SQLCAT.
Log Shipping, Mirroring, Replication and Clustering Which should I use? That depends on a few questions we must ask the user. We will go over these questions.
#sqlsatTorino #sqlsat400 May 23, 2015 SQL Server AlwaysOn Gianluca
Deploying Highly Available SQL Server in Windows Azure A Presentation and Demonstration by Microsoft Cluster MVP David Bermingham.
Luis Vargas Senior Program Manager Lead Microsoft.
SQL Server 2014 AlwaysOn Step-by-Step SQL Server 2014 AlwaysOn Step-by-Step A hands on look at implementing AlwaysOn in SQL Server 2014.
What HADR Option(s) Are Right For You?. Where’s The AlwaysOn?
SQL Server High Availability Introduction to SQL Server high availability solutions.
All the things you need to know before setting up AlwaysOn Michael Steineke SQL & BI Solution Lead Enterprise Architect Concurrency, Inc.
Windows Server Failover Clustering (WSFC) with SQL Server.
Architecting Availability Groups An analysis of Microsoft SQL Server Always-On Availability Group architectures 1.
William Durkin A Gourmet Menu of SQL Server High Availability Options.
AlwaysOn In SQL Server 2012 Fadi Abdulwahab – SharePoint Administrator - 4/2013
FUN WITH AVAILABILITY GROUPS Christopher Wolff SQL Server Database Engineer, Xero.
Redmond Protocols Plugfest 2016 Kevin Farlee Senior Program Manager SQL Server AlwaysOn in SQL Server 2016.
Architecting Availability Groups An analysis of Microsoft SQL Server Always-On Availability Group architectures 1.
SQL 2012 – Always On Deep Dive Bob Duffy Database Architect Prodata SQL Centre of Excellence 11 th April 2013.
High Availability & Disaster Recovery with SQL Server AlwaysOn Availability Groups Turgay Sahtiyan Microsoft – Senior SQL Server PFE
ALWAYSON AVAILABILITY GROUPS Replicas, Listeners & Quorums, Oh My! Kevin Howell SQL Saturday #517 Philadelphia, June 2016.
SQLSaturday (Silicon Valley) – Mar
Turgay Sahtiyan Istanbul, Turkey
Sponsors.
Architecting Availability Groups
ALWAYSON AVAILABILITY GROUPS
Disaster Recovery Where to Begin
AlwaysOn Mirroring, Clustering
A Technical Overview of Microsoft® SQL Server™ 2005 High Availability Beta 2 Matthew Stephen IT Pro Evangelist (SQL Server)
Always On Availability Groups
Always on HA SQL Server Always ON feature is the new comprehensive high availability and disaster recovery solution which increases application availability.
Contained DB? Did it do something wrong?
SQL AlwaysOn Availability Groups
Required 9s and data protection: introduction to sql server 2012 alwayson, new high availability solution Santosh Balasubramanian Senior Program Manager.
AlwaysOn, an Early bird Overview
AlwaysOn Availability Groups 101
Disaster Recovery Where to Begin
Architecting Availability Groups
SYED SAJID WASIM SQL SERVER ALWAYS ON Step by Step.
SQL Server on Linux: High Availability And Disaster Recovery
AlwaysOn Availability Groups
High Availability/Disaster Recovery Solution
04 | Always On High Availability
Designing Database Solutions for SQL Server
Presentation transcript:

Architecting Availability Groups An analysis of Microsoft SQL Server Always-On Availability Group architectures

Derik Hammer @sqlhammer derik@sqlhammer.com www.sqlhammer.com Database Administrator (Traditional/Operational/Production) Spent a year pretending to be a .NET developer then back to being a DBA Specialize in High-Availability, Disaster Recovery, Performance and Automation Chapter leader of FairfieldPASS in Stamford, CT. BS in Computer Information Systems with a focus in Database Management Querying Microsoft SQL Server 2012 Databases (70-461) Administering Microsoft SQL Server 2012 Databases (70-462)

Goals Architecture: Stand-alone instances Architecture: Stand-alones with multiple subnets Architecture: AG with Failover Cluster Instances Architecture: Hybrid approach (DR on the cheap) Read-only routing Back-up off-loading Skill level: 200-300, assuming some familiarity Not a “how to”, but there are demos

Benefits of Availability Groups When should you use them? Automatic failover between local replicas. DB Mirroring and FCIs have the same capability. Manual failover between DR sites. Replication, log shipping, and DB mirroring have the same capability. Group databases together and failover separately from other groups. Off-load read loads. Off-load backups.

Stand-alone instances Simplest architecture which equates to being the most stable, easiest to maintain, and has the least limitations. Explain the physical structure ONLY on this slide. -- Local storage, not required to be shared like FCIs. -- Can be physically attached or attached with ISCSI. -- -- Life event: Liberty Tax VB servers rebooted. SAN storage didn’t come back up. Required Windows reboot, extending outage.

Stand-alone instances (cont.) Database level automatic fail-over available with synchronous commit. Data duplication - a complete set of drives and data per replica. Must synchronize server objects between nodes manually. Explain pros and cons here. The beauty of this architecture is everything that it is not.

Stand-alone instances – multi-subnet Explain the cross-subnet information here and introduce the listener. Mention how the listener has multiple IPs but don’t get too deep yet. Mention the AND / OR dependency for cluster resources which was available in Windows Server 2008 but multi-subnet was not supported by SQL Server until 2012.

Stand-alone instances – multi-subnet (cont.) Nodes synchronize from the primary, remote nodes don’t speak to each other. Even more data duplication. One of the few reasons that I might consider favoring a hybrid with FCIs. Availability Group Listener handles multiple IPs across multiple subnets. Asynchronous Commit recommended for remote site, which only supports manual failover. Explain the cross-subnet information here and introduce the listener. Mention how the listener has multiple IPs but don’t get too deep yet. Mention the AND / OR condition which was available in Windows Server 2008 (confirm it didn’t come out with R2) but was not supported by SQL Server until 2012.

AG with Failover Cluster Instances Subnet 1 Discuss physical architecture ONLY. ** Remember animated pieces ** Local failover arrows fly in. Subnet labels fall in. Subnet 2

AG with Failover Cluster Instances (cont.) No need to synchronize server objects within subnet. Still need to across the subnets. Instance level failovers within subnets. Shared storage can’t cross subnets. Shared storage dependency. 1 2 Can’t ever have one AG replica reside on the same node as another. Forces you to have more nodes to your cluster. Configurations where all nodes are active are no longer as possible. Can’t group DBs for failover, entire instance moves. -- Use Liberty Bank Cluster as example for bullets on bottom. -- You should still use the AGL for connection, if you can, because of manual failover events. -- Shared storage goes over the network, network usage might be a bottle neck. -- -- Recommend that ISCSI connections are on dedicated NIC with redundancy.

Hybrid Architecture AKA DR on the cheap Subnet 2 Subnet 1 If you have the hardware budget, it would be best to have two servers on your DR site. Either using the stand-alone model or an FCI.

Quorum Prevents “split-brain” Node majority is typical Potential voters include Servers (physical or virtual) File shares Remote shared disks Weight your votes for a complete drop of your connection to your disaster recovery site Connection drops between sites happen. That F-18 crash is from Virginia Beach, VA in Jan, 2014. 6 miles from my primary production data center.

Why you need to use Windows Server 2012 R2 and above Quorum Demo Why you need to use Windows Server 2012 R2 and above Dynamic Quorum Dynamic Witness Tie breaker 1. 3 nodes (odd #) 2. Drop a node 3. Watch the votes recalculate Can also manually remove votes from servers.

Why use the Listener? It is capable of faster failovers. Your applications do not have to wait for DNS time to live to expire. Read-only routing. One virtual network name (VNN), regardless of where the Availability Group (AG) lives. Configuration files between DR sites can be identical. Different VNN for each AG on the cluster. Allows for groups of databases to failover to different servers. No instance names to worry about. Mention that the listener is optional. You don’t have to use it nor do you have to have one.

Limitations of the listener bells & whistles ApplicationIntent and MultiSubnetFailover requires .NET 4.0. Or, 3.5 SP1 with hotfix KB2654347. https://support.microsoft.com/en-us/kb/2654347 Or, JDBC 4.0 Not available for OLEDB or ODBC connections (expect in SQL Native Client 2012+ some restrictions apply). Connections must specify a database in the Availability Group in order to perform read-only routing. Changing database context after connection has been established won’t cut it.

Listener Demos SQL Server Management Studio Persist parameters – Supposedly fixed in vNext as per MS Connect. http://bit.ly/1wKPucP Not fixed for SQL Server 2016 CTP2 Reference the workarounds - http://www.sqlhammer.com/blog/store-optional-connection- parameters-in-sql-server-management-studio/ SQLCMD.exe SQLPS module’s Invoke-SqlCmd (Not a demo, hard to show the non- existence of something) Add MultiSubnetFailover and ApplicationIntent options – Vote up on MS Connect! http://bit.ly/1BCbB82

Read-only routing Manually configured and optional. Must connect using an Availability Group database context. Common stumbling point, thus the 2-slide emphasis. No SSMS wizard for configuration. Incurs a round-robin connection performance hit.

Read-only routing connection flow Step 1: Client connects using ApplicationIntent=ReadOnly Step 2: Primary replica replies with IP for redirection If you have a servers in the routing list which take a long time to connect this might cause connection timeouts. I recommend not allowing your routing configurations to cross data centers. Step 3: Connection is made with read-only instance

Read-only Routing Demos Configure - T-SQL (Non-demo reference) AlwaysOn Tools - Denny Cherry and Associates - http://dcac.co/applications/hosted-by- you/alwayson-tools Verify - Dynamic Management Views

Back-up Off-loading Transaction log backups COPY_ONLY full backups Differentials cannot be taken Various preferred replica configurations available sys.fn_hadr_backup_is_preferred_replica Transaction log backups on secondaries act the same as on primary. The lack of the COPY_ONLY semantics is important for comprehension. Discuss complexities of taking FULLs on primary and LOGS on a secondary. - Hard to generate recovery scripts. - Hard to utilize the msdb backup history.

Availability Group Monitoring Demos Availability Group Dashboards Availability Group state DMVs -- SMO fully supports availability groups.

Materials http://www.sqlhammer.com/blog/community/ Slide deck and demo queries available at: http://www.sqlhammer.com/blog/community/ This material has already been posted. If I ever update the material, the most recent updates will be available.

References of interest Syncing server objects between sites http://www.sqlhammer.com/blog/synchronizing-server-objects-for-availability-groups/ PowerShell driven desired state Availability Group failover test http://www.sqlhammer.com/blog/failing-over-alwayson-availability-groups/ SSMS AG Listener connection work around http://www.sqlhammer.com/blog/store-optional-connection-parameters-in-sql-server- management-studio/ Lazy log truncation and filestream http://www.sqlhammer.com/blog/filestream-garbage-collection-with-alwayson- availability-groups/ Step-by-step work through of the AG + FCI architecture http://www.sqlhammer.com/blog/how-to-configure-sql-server-2012-alwayson-part-1-of-7/

My Contact Information: @SQLHammer derik@sqlhammer.com www.sqlhammer.com