Think of all that makes a cluster:
There are a lot of pieces making up the high availability architecture. Once it’s built, you often never look at those pieces for a long time… at least not until something goes wrong. Imagine a build where:
Now imagine that there are 12 such LUNs in a 6-node Hyper-V cluster, and they’ve all got random names. Consider how complex this could be to understand if no naming standards were applied! Or imagine that you’ve gotten alert that something has happened to a year old cluster and you need to start figuring out what’s what. Maybe you’re a consultant or a new-hire visiting a cluster for the first time. Do you really need to spend half a day documenting the build before you start to tackle the issue that is causing service outages?
This is why I strongly encourage people to carefully assemble the physical and software components of a cluster architecture – including storage, networking, and servers – and to use a consistent naming standard that can scale out beyond just a single cluster.
Most issues in clusters are related to storage and networking, so that’s where I will focus my attention in this post.
Clustered servers tend to have more NICs than most servers. That number typically increases in the cause of Hyper-V hosts. Each of those NICs will be given a useless name that has no correlation to their location in the server if your hardware is older and you have a legacy (pre-2012) version of Windows Server. Since Window Server 2012 (WS2012), a feature called Consistent Device Naming (CDN) will name each interface after its location in the server. But does “Slot 1 Port 1” tell you anything about the purpose of that NIC? Not so much.
I recommend doing the following:
Tip: The quickest way to Network Connections is to run NCPA.CPL. That shortcut should save you a week of your life over the course of a year as an IT pro.
There are several layers to a disk in a cluster. This goes even further if you are deploying CSVs. Knowing what CSV mount point is related to what LUN in a SAN, and all points in between, will simplify your life, and make documentation via screenshot or script a lot easier.
Start with the SAN. Each LUN that is going to be created for a cluster should be named after:
For example, I might create the following LUNs for a cluster called HVC1:
At a later time, I might need to build another cluster called HVC2. I could then create more LUNs on the SAN:
Each LUN has a unique name. I know the purpose of the LUN and I know which cluster the LUN is associated with.
Each disk would be connected or zoned to each host in the intended cluster. For example, each of the HVC1- disks would be connected to each node in the HVC1 cluster. You then need to format the disk on one of the nodes. I would then use a volume label that is based on the LUN name. For example, I would format the LUN called HVC1-CSV1 with the label of HVC1-CSV1.
The volumes are then added as available disks in Failover Cluster Manager (FCM). The default name is pretty useless, so I would edit the properties of the disk in FCM to rename it to HVC1-CSV1.
In the case of a Hyper-V or a Scale-Out File Server (SOFS) cluster, I would convert the non-witness disks into CSVs. Each CSV appears as a folder (it’s actually a mount point) in C:ClusterStorage. Each folder gets a rather useless name that is unrelated to the FCM disk name by default. I rename each of the folders (mount points) to match their FCM disks (and hence the volume label and LUN name). This renaming is supported by Microsoft.
So in my finished deployment, there is:
Now I know the relationships between all components of storage throughout the layers of the cluster architecture. If virtual machine X fills up HVC-CSV2 then I know which LUN I need to add space to in the SAN and which volume to extend in Disk Manager (or via PowerShell).
This renaming process takes only a couple of minutes – and just a few seconds if you automate the build of your cluster using PowerShell scripting. It is worth spending a little time getting things right now, so it saves you a lot of time later when you don’t have it to spare.