This article outlines the supported configurations and processes to create a SQL Server Failover Clustering Instance (FCI) on VMware vSAN via. the vSAN iSCSI Target Service. The vSAN iSCSI service provides the shared disks with Persistent Reservations for Microsoft Windows Server Failover Cluster (WSFC) hosted active-passive clustered application roles like FCI.
Notes:
The process of running SQL Server Failover Clustering on vSAN 6.7 iSCSI service requires these steps:
We provide links where appropriate.
Please note that iSCSI traffic should have a dedicated VLAN for best performance. If you are seeing latency or APD's and are not currently utilizing a dedicated VLAN for iSCSI traffic, we recommend moving to a dedicated VLAN before any deep dive troubleshooting.The high-level steps to configure iSCSI service on vSAN are:
For more information, see Using the vSAN iSCSI Target Service.
After configuring the vSAN iSCSI target service, you can discover the vSAN iSCSI targets from the physical or virtual servers via software initiator. To discover vSAN iSCSI targets, you can use the IP address of any host in the vSAN cluster and the TCP port of the iSCSI target.
Recommendation: To ensure high availability of the vSAN iSCSI target, configure multipath support for your iSCSI application, you can use the IP addresses of two or more hosts to configure MPIO.
There are several steps to configure the Windows Cluster and the iSCSI shared disks. These steps must be done before installing the SQL Server failover cluster instance on the guest OS in the virtual machine. We recommend using the PowerShell and PowerCLI to automate the process and minimize potential setup errors and time spent on configuration steps. Please see Configuration in a VM to setup iSCSI initiator and cluster shared disks for SQL Server and File Server for sample code of the automatic configuration. You may also use the manual steps below:
On each host of the Windows Cluster, follow these steps:
The following screenshot shows the Failover Clustering feature was installed on the WSFC node.
The following screenshot shows MPIO for iSCSI devices is enabled already.
At this point, the Windows cluster is ready for a cluster application or service such as SQL Server FCI.
A Windows Server Failover Cluster (WSFC) is a group of independent servers that work together to increase the availability of applications and services. A Failover Cluster Instance (FCI) is a SQL Server instance that is installed across nodes in a WSFC. In the event of a failover, the WSFC service transfers ownership of instance's resources to a designated failover node. The SQL Server instance is then restarted on the failover node, and databases are recovered as usual. At any given moment, only a single node in the cluster can host the FCI and underlying resources. That means the FCI is active/passive high availability solution.
Please follow the details in Create a New SQL Server Failover Cluster (Setup) to set up a clustered SQL Server.
The following best practices are recommended for configuring the vSAN iSCSI service for SQL Server Failover Cluster Instance on a vSAN Cluster.
Settings | Description | Recommended Value |
Custom Path Recovery | The value to specify whether MPIO performs custom path recovery | Enabled |
NewPathRecoveryInterval | The value to specify a customer path recovery time in seconds. | 20 seconds |
NewRetryCount | The value to specify the number of times to retry an IO request | 60 |
NewPDORemovePeriod | The value to specify the physical device object (PDO) removal period in seconds. | 60 seconds |
NewPathVerificationPeriod | The value to specify the length of time to verify a path in seconds. | 30 seconds |
NewDiskTimeout | The value to specify the length of time the server waits before it marks an IO request as timed out. | 60 seconds |