I was recently tasked by an architect to build out several SQL clusters, the first of many with the following configuration:
- Microsoft SQL Clusters
- VMware RDMs and
- Veritas (Symantec) Storage Foundation Windows (SFW).
- Windows 2008 R2
The goal was to create HA clusters for virtualized SQL, and to allow us to dynamically allocate additional RDMs to the cluster as storage needs grew.
Initially, I thought the use of RDMs would be great and the SAN admins could grow the RDMs on the backend as necessary. However, it came to light that this is not how the SAN here is administrated. I would get additional RDMs, but in 200GB sizes. To me we lose one of the major benefits of RDMs with physical compatibility (see note below.) - being able to grow them as necessary. That's not the case, so to address this we are using Storage Foundation. I personally think this was a bad move as it adds an unnecessary layer of configuration and complexity.
The SAN Admins presented me with 4 RDMS (3 x 200GB + 1 2GB). The smaller RDM is used for the Quorum. With 2008 a quorum isn't a requirement, but we have it as a standard.
The recommended installation process is to install MSCS before installing SFW. Because this is a Windows 2008 R2 cluster you have to use SFW 5.1 SP2 or higher. I would have liked to go to SFW 6. But the policy is not to use the latest versions of software where I'm working.
I ran the Validation check and immediately discovered that SCSI-3 Persistant Reservations had not been set. This won't allow you to set exclusivity on the disk, and you won't be able to cluster them. Once this got set I was able to proceed.
The problems all began with Storage Foundation. I was able to configure the Disk Group and the Volume Group, but no matter how many times I tried to add a new disk to the cluster I got the message, "No disks suitable for cluster disks were found. For diagnostic information about disks available to the cluster, use the Validate a Configuration Wizard to run Storage tests." The validation test doesn't show any usable storage. I already had the Cluster Option for Microsoft Cluster Service (MSCS)/Failover Cluster installed, so this wasn't the issue. If you haven't done this then you will need to have it installed before you can proceed.
There is where I struggled and struggled. I looked at all of the options in Storage Foundation, then I went to the the Failover Cluster Manager. Here is where I finally made the discovery. I created an "Empty Service or Application" in the Failover Cluster Manager. Then I added a Volume Resouce Disk Group... voila. It didn't quite work like that. I got frustated enough that I rebooted the server, just to make sure everything was clean and stable.
Here is what you have to do:
- In Failover Cluster Manager, Right click on Services and application
- Select more actions
- Select Create Empty Service or Application (don't rename it - just keep going)
Next you must add a Volume Manager Disk Group to the empty application you just created.
- Right click on the clustered application you just created.
- Select Add a resource
- Select More Resources
- select 9 - Add Volume Manager Disk Group
Now you have to set the new disk group to the name of the Volume Group that is displayed in Veritas.
- Right click on the disk group you just created and select properties.
- Click the properties tab.
- On the line named "DiskGroupName" enter name of the Volume group, as it appear in Veritas into the "Value" field.
- Click ok.
You can now rename the "application and resource" you created to make it more easily identifiable.
I did all of this with the second node powered off. Initially, I had the second node on line and had problems with both nodes online while trying to solve this. For me, I just powered off the second node and removed the competition for resources until I had the everything working.
This had been a bear to solve.
Note: Virtual Compatiblity with RDMs isn't supported with Windows 2008 R2