Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

21
Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk Mark Broadbent Principal SQL Consultant SQLCloud SQLCLOUD.CO.UK Tri le Trouble p

Transcript of Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Page 1: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Mark Broadbent

Principal

SQL Consultant

SQLCloud

SQLCLOUD.CO.UK

Tri le Troublep

Page 2: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

About

Mark Broadbent.“30 billion times more intelligent than a live mattress”Microsoft Certified Master/ Certified Solutions Master: SQL ServerOwner/ Principal at SQLCloud

Useless fact: I’m a Chelsea supporter and I firmly believe that Porto got LUCKY in the Champions League!!!

Email: [email protected]: retracementBlog: http://tenbulls.co.uk

Event Lead to the UK’s first ever SQLSaturday (Cambridge)– now also SharePoint Saturdayhttp://sqlcambs.org.uk

Page 3: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Agenda

Overview from 50,000 feet

1

Hyper-V and Hyper-V Clustering

3

ClusterStorage

2

Import generic

Import generic

Import generic

GuestClustering

4The best part of the presentation…

Super Bock O‘Clock

5

Page 4: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

So what exactly is a Cluster?

• Shared Everything vs Shared Nothing• A compromise between scalability and flexibility

• Or simplicity over complexity

Cluster App A Cluster App A

Cluster App A Cluster App A

Shared Everything

Cluster App A

Shared Nothing

*1

*1 The term Shared Nothing in this scenario is a little misleading

Page 5: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

So what exactly is a Cluster?

• Shared Everything vs Shared Nothing• A compromise between scalability and flexibility

• Or simplicity over complexity

Cluster App A Cluster App A

Cluster App A Cluster App A

Shared Everything

Cluster App A

Shared Nothing

*1

But the lines are getting blurred!

CA File Share CA File Share

CA File Share CA File Share

Shared Everything!

Page 6: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

SQL Server at 50,000 feet

• Traditional SQL Deployments on physical hardware are fairly straight foreword

SQL Instance

WindowsOS

Storage

SQL installation requires Operating System (yeah Duh!)

And Operating System requires “locally attached” storage to the physical server

Important to see distinction between physically attached local storage, and remote, the latter potentially coming from lots of different places and used by many different Services or Platforms

Storage

Page 7: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Hyper-V Clustering

SQL Server “Triple Trouble” at 50,000 feet

Windows Clustering

SQL Failover Clustered Instance

Windows OS

Guest

Storage

Windows OS

Storage

Host

Storage

Virtual Machine

Page 8: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Storage options are either:

• Presented to Cluster nodes over SAS, Fibre Channel, iSCSI or SMB

• Require *1 drive letters or mount points

• 1-1 mapping between LUN and Cluster Volume

• Can be added as Cluster Shared Volumes (not FS)

1

2

Locally attached

Something else…

Serial Attached SCSI

Import generic

Fibre Channel iSCSI

Import generic

Import generic

SMB 3.0 Fileshare

Serial ATA is notSupported on clusters

*1 Unless added to Cluster Shared Volumesor if they are fileshares

Page 9: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Cluster Shared Volumes for SQL FCIs

• Supported by SQL Server 2014 on Windows 2012 R2 (introduced in Windows 2012)

• Consolidation of multiple SQL instances

• Large FCI cluster deployments could run out of drive letters

• Consolidating multiple SQL instances on single LUN makes the storage utilization more efficient

• Fast failover – no dismount and mount during failover!

• Easier to configure and more resilient• Zero downtime chkdsk• Resilience from network failures (CSV can reroute traffic over the

network using SMB 3.0 allowing the SQL instance to remain operational

• Good for Hyper-V Cluster Storage but consider performance hit from redirected IO

Page 10: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

SMB 3.0

• SMB Multichannel• Multi-network detect

• Transparent failover with (transparent) recovery

• Network bandwidth aggregation

• SMB Direct (SMB over RDMA)• Lower CPU consumption (CPU offloading) –no context switching

• Low latency (client & server)

• High bandwidth utilization

• Reads and writes directly against memory of remote storage node

• Currently supports Infiniband, Internet Wide Area RDMA (iWARP) and RDMA over Converged Ethernet (RoCE)

Page 11: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

SMB 3.0 File Shares

• SMB 3.0 supported by Hyper-V Windows 2012/R2 & SQL 2012/2014

• Not assigned to the Cluster

• Cannot be added to Cluster Shared Volumes

• Very easy to configure and consume

• Low cost connectivity

Failover Cluster

File Server

Page 12: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Scale-Out File Server Cluster

Failover Cluster

HDD3TB

HDD3TB

HDD3TB

HDD3TB

HDD3TB

HDD3TB

HDD3TB

HDD3TB

HDD3TB

HDD3TB

HDD3TB

HDD3TB

SSD600GB

HDD3TB

HDD3TB

HDD3TB

RDMA Cards

HBA Storage Adapters

JBOD Array

SMB Multichannel

SMB Direct RDMA

Continuous Availability File Share

Cluster Shared

Volumes

MultipathIO

Storage Spaces

FailoverClustering

Scale-Out File Server

Infiniband Switches

Page 13: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Scale-Out File Server setup

• Build Windows Cluster

• Create Storage Pool of disks from storage enclosure/s

• Create Virtual Disk in Storage Pool

• Add Disk to Cluster Shared Volumes

• Add Scale-Out File Server Role

• Complete create File Share in File Server Role (in the CSV namespace)

Page 14: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Why Hyper-V?

• Up to 64 Virtual CPUs

• Hyper-V Storage NUMU I/O (good for intensive IO workloads such as SQL)

• VHDX disk format (from Windows 2012)• 64TB Disks

• Power failure corruption protection (through logging updates)

• Storage reclamation through TRIM command support

• Storage QoS and Hyper-V IO Balancing*1

*1 IO Balancer currently only supports host-side storage (i.e. non-shared)

Page 15: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Hyper-V Benefits

• Replication

• Exports

• Live Storage Migration

• Live Migration

• Quick Migration

• Checkpoints (snapshots)

• QoS on disks, Bandwidth, CPU etc

• Fast Boot

• Azure portability *1

*1 Generation 2 Machines not compatible (although ASR can support)

Page 16: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Hyper-V Clustering

• Uses Windows Clustering (surprise surprise!)

• Each Hyper-V server is a cluster node • Can therefore host Clustered Roles (Clustered Virtual Machine)

• Still act as a standalone Hypervisor

• Perform very fast live migration (secs) or quick migration

• Hyper-V Server is FREE.• But virtualization rights aren’t!

• Consider Datacenter SKU

Page 17: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Ph

ysical Infrastru

cture

Guest Clustering across Hyper-V hosts

• Shared Nothing Storage for Guest Virtual Disks

• Windows Cluster is created across guests

• Physical fabric provides services

• Virtualization benefits and SQL Instance protection across multiple VMs/ Hypervisors

• Hypervisor level HA benefits (e.g. “Shared Nothing Live Migration” in Hyper-V

Gu

est C

luster

SAN, Network and Storage Fabric

Hypervisors

Guests

Page 18: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Guest Clustering on a Hyper-V Cluster

• Can be thought of as a “Cluster on a Cluster”. Clustered Virtual Machines as deployed as roles in the cluster

• The SQL/ SSAS Failover Clustered Instance can failover to each VM in the Guest Cluster

• The Guest VM can benefit from live fast migration failover to new Hyper-V host without downtime to SQL FCI! – Otherwise known as a Clustered Live Migration” in Hyper-V

Ph

ysical Infrastru

cture

Gu

est Clu

ster

SAN, Network and Storage Fabric

Hypervisors

Guests

Hyper-V Cluster

SQL Server Cluster

Page 19: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

NetFT

• Virtual adapter running over top of NICs

• Can provide transparent network failover if one NIC fails

• Autoconfiguring and hands free

• Provides performance filter• Disabled by default

• Do not turn on for Hyper-V Cluster nodes (otherwise enable)

Page 20: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

In Summary…

• Failover Clustering and all its complexities is not getting easier but it is getting more robust and richer.

• When combined with other MS Technologies such as Hyper-V and Scalable File Server, SQL Failover Clustering provides *the* definitive HA solution.

• Choose wisely which Cluster storage you use for Hyper-V and SQL -should you use SMB 3.0 File Share/s from SO-FS OR CSV?

• Layering technologies can exacerbate the confusion!

Page 21: Triple trouble - Running a SQL Failover Cluster on a Cluster from a Cluster

Copyright © 2014, SQLCloud Limited. Please do not redistribute, republish in whole or in part without prior permission of content owner. www.sqlcloud.co.uk

Thank you for listening!

Email: [email protected]

Twitter: retracement

Blog: http://tenbulls.co.uk