SQL Server on Linux: High Availability And Disaster Recovery 12/4/2018 11:25 PM SQL Server on Linux: High Availability And Disaster Recovery Joey D’Antoni Principal Consultant Denny Cherry and Associates Consulting © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
High Availability and Disaster Recovery Pacemaker Failover Cluster Instances Availability Groups Log Shipping
Mission critical performance HA/DR on Windows and Linux AlwaysOn cross-platform availability groups Availability Groups and Failover Clustering now also work with third party clustering technologies like Pacemaker Availability Groups can now span Windows and Linux or be Linux- only Enables Testing Enables Migrations Cross-Operating System Sync/Async Replicas Linux High Availability Offload Backups Scale BI Reporting High availability Primary Sync/Async Replicas Windows
Pacemaker Pacemaker is a scale High-Availability cluster resource manager Used in conjunction with Corosync Cluster Engine Similar in concept to Windows Server Failover Cluster Corosync manages quorum
SQL Server Failover Cluster Instances Designed for local high availability and geo-availability with storage replicas Conceptually similar to SQL Server FCI on Windows, implementation is quite different
SQL Server Failover Cluster Instances When to use? When you need local high availability When you are running on physical hardware with a SAN When you only want to manage one SQL Server instance
Shared Storage Configuration Requires NFS NFS Version 4 NFS-Utils must be installed on each node SMB is also supported
SQL Server Failover Cluster Instances Demo
AlwaysOn Availability Groups When to use? Scale out reading scenarios Virtualized platforms (Azure) where shared storage is a challenge Multi-site disaster recovery scenarios Can also be used for local high availability
AlwaysOn Availability Groups Also relies on Pacemaker clustering CLUSTER_TYPE=EXTERNAL Optional to run without cluster
Availability Group Creation Process Enable Availability Groups Enable AlwaysOn_Health Event Create user for endpoint Create a certificate Repeat steps 3-4 on all nodes Create the Availability Group Add databases on to Availability Groups
Log Shipping Log shipping will work as long as databases have transaction logs (forever) SQL Server on Linux doesn’t support GUI based log shipping currently It is very easy to create your own set of log shipping scripts Easily works across Linux and Windows with minimal complexity
Summary HA and DR are the biggest differences between SQL Server on Windows and Linux There are challenges and the process is still maturing It will get better over time
12/4/2018 11:25 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.