Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

Post on 27-Jan-2015

105 views 1 download

Tags:

description

Welcome to the strange and mysterious world of SQL Failover Clustering and enter Ye Olde Cluster Curiosity Shoppe where we will reveal a miscellany of top tips, tricks and advice gained from nearly two decades of installing and troubleshooting SQL Clusters. Roll-up roll-up! Come and see :- The "multi-headed" cluster. The installation of Death. The Zombie. The Marie Celeste. The indestructible network name. And many more weird and wonderful exhibits.

Transcript of Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

Ye Olde Cluster Curiosity

Mark BroadbentPrincipal SQL Consultant

SQLCloudSQLCLOUD.CO.UK

Shoppe

About

Mark Broadbent“Possibly the hardest drinking DBA on the planet”“30 billion times more intelligent than a live mattress”

Email: mark.broadbent@sqlcambs.org.uk

Twitter: retracement

Blog: http://tenbulls.co.uk

PASS UK Regional Mentor

Event Lead to the UK’s first ever SQLSaturday (Cambridge)

Event #3 due on Sept 2014 (pre-con/s) and (Community day)

https://www.facebook.com/groups/sqlsaturdaycambridge/

Cambridgeshire PASS Chapter UG Leader http://sqlcambs.org.uk

Tha mo bhàta-foluaimein loma-làn easgannan

Coming soon!SQLSaturday #281 Edinburgh

SQLSaturday Edinburgh 201413th (pre-con) and 14th (free) Junehttp://www.sqlsaturday.com/281University of Edinburgh, Pollock Halls18 Holyrood Park Road, Edinburgh, Scotland, EH16 5AY

Come to my Pre-conference training day on Friday 13th

June: “Real World SQL Server High Availability

Masterclass”

Agenda

The occasional demo fail

The best part of the presentation…

beer o’clock

Incredibly tenuous link between the Curiosity Shoppe

and clustered scenarios!

A quick introduction to

Clustering

2

3

1

4

A quick introductionto Clustering

Standalone deployment of SQL Server/s

MSDTC

Instance1

Instance2

Clustered deployment of SQL Server/s

MSDTC

Install (New) Install (add) Install (add)

*1 MSDTC clustered deployment can vary greatly depending upon design considerations

*1

FailoverCluster

Instance1

Clustered deployment of SQL Server/s

MSDTC

The installation to create a New Failover Clustered instance can be performed on any of the Cluster nodes

FailoverCluster

Instance2

Install (New)Install (add)Install (add)

Running Clustered Instances

FailoverCluster

Instance1

FailoverCluster

Instance2

DEMO

Take a look at our Clustered Instance

Welcome to Ye Olde Cluster Curiosity Shoppe!

The Shrunken HeadOne physical node but one (or very small number of) instances that you would have otherwise deployed as standalone.

Useful for easy expansion of HA infrastructure when budget allows and abstraction of network name

FailoverCluster

Instance1

10.0.0.15

sqlserver1

Cluster Role/ Group

Windows Cluster is a single node only running a clustered instance

Port o’ Plenty

FailoverCluster

Instance1

FailoverCluster

Instance2

Failover Clustered Instances can be executed to all listen under the default SQL Server listening port.

This can provide various benefits (and potential negatives).

Remember there can only be one default instance!

FailoverCluster

Instance3

Port 1433 Port 1433 Port 1433

The Bearded Lady

FailoverCluster

Instance1

FailoverCluster

Instance2

Each node sees all storageEach instance brings more clustered disks.

This can result in too many cumulative disks and become unmanageable.

DEMO

Bearded Lady

Many Headed Cluster

FailoverCluster

Instance1

FailoverCluster

Instance2

One to many (unused) SQL Failover Clustered instances.

Excellent for pre-testing Cluster node upgrades and testing database upgrade prior to risking production Failover Clustered Instance.

FailoverCluster

Instance3 FailoverCluster

Instance4

“Cutting off one head” – upgrading clustered instance

Fail test clustered instance onto upgradednode to upgrade instance/ databases

Apply latest service pack

If upgrade fails we can uninstall patch or at worst case evict node and rebuilt/ reinstall SQL instances. Our production instances have suffered zero downtime from a failed deployment

The Marie Celeste

FailoverCluster

Instance1

Cluster Groups can be easily created with little to no risk to the cluster. They are great for testing storage and other clustered resources ahead of time.

Cluster Group

New Cluster Storagefor Instance 1

Fail across all nodes

DEMO

The Marie Celeste

The Zombie

FailoverCluster

Instance1

Failed Network Name causes dependent SQL Cluster Resource to fail.

Forced online local service can return a temporary limited service

10.0.0.15

SQL Service

Network Name

Cluster Role/ Group

Dependency

Bring online

The Indestructible Network NameActive Directory in Windows 2008 and above has a protection property

In Windows 2003 you would need to Deny the Everyone group for the Delete and Delete Subtreepermissions

Deleted objects can be recovered from Tombstone in some situations.

DEMO

The Zombie

Installation of Death!

FailoverCluster

Instance1

Cluster Role/ Group

The Installation of SSIS has huge ramifications for a Cluster.

What software and drivers will be required by packages? This is always a never ending moving set of goalposts and risk to Cluster stability.

SSIS SSIS SSIS

TNSnames.ora

The Bodysnatcher

FailoverCluster

Instance1

Failed Clustered Instance across all nodes can spell panic (especially if the clustered set up is inherited).

If the failure is serious and cannot be repaired a reinstallation on a new cluster can be attempted from old installation files.

Cluster Role/ Group

Install (New) Install (add) Install (add)

New Cluster Role/ Group

Install to nodes using reference files

DEMO

The Bodysnatcher

Montezuma’s Revenge

FailoverCluster

Instance1

10.0.0.15Network Name

Cluster Role/ Group

Empty Cluster Role/ Group

Accidental move drags the whole dependent freakin’ lot!

FailoverCluster

Instance1

10.0.0.15Network Name

The Scorpion Fish

FailoverCluster

Instance1

Failure to identify all dependencies to resource prior to its removal can cause the whole failover clustered instance to unexpectedly fail.

Whoopsie!

10.0.0.15Network Name

Cluster Role/ Group

“Hidden” or misseddependent to disk

DEMO

The Scorpion Fish

In Summary…

• Never attempt any operation on any cluster object *unless* you understand the impact.

• Always validate anything you hear or read with your own testing in a virtual lab.

• It is easy to make a mistake performing an operation or start to panic. Always take time to understand what you are doing and break it down into smaller steps if necessary.

• It is worth repeating… DON’T PANIC!

Thank you for listening and attending SQLSupper!