Adding a SQL Server failover cluster target environment
This topic describes how to add a SQL Server failover cluster target environment to the Delphix Engine.
Adding a failover cluster target environment will discover SQL Server failover cluster instances that are running. You can then provision virtual databases (VDBs) to these failover cluster instances.
Prerequisites
You must add each node in the Window Failover Cluster individually as a standalone target environment using a non-cluster address. See Adding a SQL Server Standalone Target Environment.
For a cluster node added as a standalone environment, the Delphix Engine will only discover non-clustered SQL Server instances.
For a cluster target environment, the Delphix Engine will only discover SQL Server failover cluster instances.
Each clustered SQL Server instance must have at least one clustered disk added to the clustered instance resource group, which can be used for creating mount points to Delphix storage.
The clustered drive must have a drive letter assigned to it.
The clustered drive must be formatted using the "GUID Partition Table (GPT)" partition style in order for the Delphix Engine to automatically discover the drive letter as a valid option for the cluster instance. An MBR-formatted disk requires manual verification outside of Delphix that the disk has been correctly added to the MSSQL clustered resource group prior to creating the VDB. When provisioning the VDB, you must manually specify the desired MBR disk, because it will not appear in the Delphix GUI.
The clustered drive must be added to the clustered instance resource group as a dependency in the Failover Cluster Manager.
Each node in the cluster must have the Failover Cluster Module for Windows Powershellfeature installed.
While running Windows PowerShell as an administrator, enter this command to load the module:
import-module failoverclusters
An additional target environment that can be used as a Connector Environment must exist. This environment must NOT be a node in the cluster. See Adding a SQL Server Standalone Target Environment.
Hotfix required for Windows 2008 R2 hosts
The following hotfix is required for Windows 2008 R2 Cluster nodes:
"0x80070490 Element Not found" error when you enumerate a cluster disk resource by using the WMI MSCluster_Disk class query in a Windows Server 2008 R2-based failover cluster
Windows Cluster Volume Management Software Requirements Only cluster volumes managed by the native Windows Volume Manager are supported. For example, cluster volumes managed by Veritas VxVM are not supported.
If you use third-party volume management software, create a new LU (recommended to be 10GB in size) and add this LU as a clustered resource to the SQL Server instance using native Windows volume management tools. Assign a drive letter for this LU. You can then use this LU as the volume mount point location for Delphix VDB provisioning.
Best Practices
SQL Server failover cluster instances that the Delphix Engine will use should not be used to host databases other than Delphix VDBs.
Cluster environment restrictions
You cannot use failover cluster target environments as staging environments.
However, for VDB target hosts, it is important to use the same edition of SQL Server software as the source database, so that all features available in the source are also available in the VDB.
Supported roles for each instance type
Failover Cluster Instances, and instances supporting Always On Availability Groups, support a subset of the operations available to Standalone SQL Server instances.
Color | Supported? |
---|---|
Y | Yes |
N | No |
Environment Role | ||||
---|---|---|---|---|
Instance Type | Added As | Source Environment | Staging Environment | Target Environment |
Standalone Instance | Standalone | Y | Y | Y |
Failover Cluster Instance (FCI) | Standalone | Y | N | N |
Failover Cluster Instance (FCI) | Cluster | N | N | Y |
Always On Availability Group (AG) | Cluster | Y | N | N |
* Databases that are participating in Availability Groups will not be discovered during the discovery of a Standalone environment.
VDBs cannot be provisioned into availability groups. However, SQL Server instances that participate in an Availability Group can also be added as Standalone Instances.
Using a Failover Cluster Instance as both Source and Target
A Failover Cluster Instance added as an environment once (as either a Source or Target environment) cannot be used as both a Source and Target.
If this is required, the environment can be added twice:
Once as a Standalone Source environment
Once as a Cluster Target environment
The Standalone Source environment can be used for linking dSources, and the Cluster Target environment is used for provisioning VDBs.
As suggested by the Best Practice note earlier in this article, this is not a recommended configuration. Where possible, SQL Server failover cluster instances that the Delphix Engine will use as a target should not be used to host databases other than Delphix VDBs.
If you have taken a snapshot on Windows 2012 or an earlier version, the provisioning, linking, or exporting to Windows 2022 Failover Cluster Target might result in disk errors. In such a case, contact Delphix Customer Support
Error
The following error may be encountered during the Windows 2022 AG and FCI clusters creation process on VMware ESXi.
An error occurred while executing the test.Unable to connect to <hostname.domainname.com> via WMI. This may be due to networking issues or firewall configuration href="http://hostname.domainname.com">hostname.domainname.com>.Invalid namespace
This failure is due to Validate switch enabled Teaming configuration
validation. The workaround is to skip this validation.
Procedure
Click Manage.
Select Environments.
Next to Environments, click the Plus icon and select Add Environment.
In the Add Environmentwizard, Host and Server tab select:
Host OS: Windows
Host Type: Target.
Server Type: Cluster.
Click Next.
In the Environment Settings tab specify the environment Name and cluster address of the Windows Failover Cluster.
Select a host that is NOT a node in the cluster as the Connector Environment.
Enter the OS Username and OS Password for the target environment.
Click Validate Credentials.
Click Submit to confirm the target environment addition request.
In the Delphix Engine interface, you will see a new icon for the target environment, and two jobs running in the Delphix Admin Job History: one to Create and Discover an environment, and another to Create an environment. When the jobs are complete, click the icon for the new environment, and you will see the details for the environment.
Example environment
In this example environment, the Delphix Connector was installed on Connector Environment, Cluster Node 1, and Cluster Node 2. Each host was added to Delphix as standalone target environments.
Next, the Windows Failover Cluster was added as a Windows Target Cluster environment using the cluster address. Cluster Node 1 is currently the active node for the SQL Server Failover Cluster resource group. Delphix has exported iSCSI LUs and has created the corresponding Cluster Disk resources for each VDB.