ye olde cluster curiosity shoppe - sqlsupper 2014 edition

30
Ye Olde Cluster Curiosity Mark Broadbent Principal SQL Consultant SQLCloud SQLCLOUD.CO.UK Shoppe

Upload: mark-broadbent

Post on 27-Jan-2015

106 views

Category:

Technology


1 download

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

Page 1: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

Ye Olde Cluster Curiosity

Mark BroadbentPrincipal SQL Consultant

SQLCloudSQLCLOUD.CO.UK

Shoppe

Page 2: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

About

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

Email: [email protected]

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

Page 3: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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”

Page 4: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 5: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

A quick introductionto Clustering

Page 6: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

Standalone deployment of SQL Server/s

MSDTC

Instance1

Instance2

Page 7: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 8: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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)

Page 9: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

Running Clustered Instances

FailoverCluster

Instance1

FailoverCluster

Instance2

Page 10: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

DEMO

Take a look at our Clustered Instance

Page 11: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

Welcome to Ye Olde Cluster Curiosity Shoppe!

Page 12: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 13: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 14: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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.

Page 15: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

DEMO

Bearded Lady

Page 16: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 17: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

“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

Page 18: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 19: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

DEMO

The Marie Celeste

Page 20: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 21: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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.

Page 22: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

DEMO

The Zombie

Page 23: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 24: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 25: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

DEMO

The Bodysnatcher

Page 26: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 27: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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

Page 28: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

DEMO

The Scorpion Fish

Page 29: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

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!

Page 30: Ye Olde Cluster Curiosity Shoppe - SQLSupper 2014 Edition

Thank you for listening and attending SQLSupper!