ye olde cluster curiosity shoppe - sqlsupper 2014 edition
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
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: [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
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!