Skip to main content

SQL Server High Availability with Dell PowerFlex and Nutanix Cloud Platform

Sep 27, 2026
SQL Server High Availability with Dell PowerFlex and Nutanix Cloud Platform This white paper covers deployment considerations for Microsoft SQL Server 2022 Failover Cluster Instance on Dell PowerFlex with Nutanix Cloud Platform. It also presents best practices of SQL Server 2022 database for OLTP workloads.

Executive Summary

Executive Summary

This white paper offers insights into the Nutanix Cloud Platform (NCP) with Dell PowerFlex storage solution. It outlines key design considerations for configuring storage and networking on NCP, leveraging the robust capabilities of PowerFlex infrastructure.

This paper also provides guidance on deploying Microsoft SQL Server 2022 Failover Cluster Instances (FCI) on Nutanix. It includes configuration strategies and design approaches to scale FCI deployments for optimal resource utilization, along with best practices to enhance SQL Server 2022 performance.

Revision history

Table 1. Revision history
Date Description
October 2025 Initial release

Audience

This document is intended for storage administrators, system administrators, database administrators, field consultants, DevOps engineers, system engineers, virtualization experts, and partners who are interested in deploying Nutanix Cloud Platform with Dell PowerFlex storage to host Microsoft SQL Server database.

Readers of this document are expected to be familiar with the following topics:

  • Dell PowerFlex system
  • Dell software including the following: Dell PowerFlex Manager (4.x)
  • General storage concepts
  • General database concepts
  • Microsoft Windows system administration
  • SQL Server database
  • Nutanix virtualization platform

Terminology

The following table provides definitions for some of the terms that are used in this document.

Table 2. Terminology
Term Definition
AD Microsoft Active Directory
CVM Controller Virtual Machines, virtual machines running on each node in the Nutanix cluster, managing storage and other tasks.
DNS Domain name system
FCI SQL Server Failover Cluster Instance
Guest OS The operating system deployed on a VM.
HCI Hyper-Converged Infrastructure, the architectural model Nutanix uses, combining compute, storage, and networking into a single system.
IOPS Input/Output Operations per Second
KVM Kernel-based Virtual Machine
MDM Meta Data Manager
NTP Network Time Protocol
Nutanix AHV AHV, Nutanix’s native hypervisor
Nutanix AOS AHV Operating System, core software running on Nutanix clusters.
OLTP Online Transaction Processing
PRISM The Nutanix management interface
SDC Storage Data Client, the Dell PowerFlex storage component installed on a compute node that provides access to Dell PowerFlex block volumes.
SDS Storage Data Server, the Dell PowerFlex Storage component that controls the local disks and aggregates it to make the storage pool.
VLAN Virtual Local Area Network
VM Virtual Machine
WSFC Windows Server Failover Cluster
WSFCM Windows Server Failover Cluster Manager

We value your feedback

Dell Technologies and the authors of this document welcome your feedback on the solution and the solution documentation. Contact the Dell Technologies Solutions team by email.

Author: Anup Bharti

Note: For links to additional documentation for this solution, see Dell Technologies Solutions Info Hub for SQL Server.

Product Overview

Dell PowerFlex family

Dell PowerFlex software-defined storage enables broad consolidation across the data center, encompassing almost any type of workload and architecture. The software-defined architecture offers automation and programmability of the complete infrastructure and provides scalability, performance, and resiliency to enable effortless adherence to stringent workload SLAs.

The Dell PowerFlex family provides a foundation that combines compute and high- performance storage resources in a managed unified fabric. Dell PowerFlex comes in flexible deployment options (rack, appliance, or custom nodes and in the public cloud) that enable independent (disaggregated), HCI (single-layer), or mixed architectures. Dell PowerFlex is ideal for high-performance applications and databases, building an agile private/hybrid cloud, or consolidating resources in heterogeneous environments.

Figure 1. The Dell Powerflex family
An image of the Dell PowerFlex familly

The platform supports a broad range of operating environments – bare metal operating systems, hypervisors, and container platforms – simultaneously with a unified infrastructure platform and management. By allowing users to flexibly mix these architectures in a single deployment, PowerFlex enables you to deploy, scale, and evolve all your applications to meet your business objectives.

Figure 2. Consolidation: OS, Hypervisor, Platform Support
A graphic of the OS, hypervisor, and platform support

Dell PowerFlex software components

Software is the key differentiation in the Dell PowerFlex offering. Dell PowerFlex software components not only provide software-defined storage services but also help simplify infrastructure management and orchestration. This software enables comprehensive IT Operational Management (ITOM) and Life Cycle Management (LCM) capabilities that span compute as well as storage infrastructure, from BIOS and Firmware to nodes, software, and networking.

Dell PowerFlex

PowerFlex is a software-defined scale-out block storage service that is designed to deliver flexibility, elasticity, and simplicity with predictable high performance and resiliency at scale.

For more details, see Dell PowerFlex specifications

Dell PowerFlex Manager

Dell PowerFlex Manager is the software component in the Dell PowerFlex family that enables ITOM automation and LCM capabilities for Dell PowerFlex systems. Starting with Dell PowerFlex 4.0, the unified Dell PowerFlex Manager brings together three separate components used in previous releases – Dell PowerFlex Manager, the core Dell PowerFlex UI, and the Dell PowerFlex gateway. The new Dell PowerFlex UI runs in Kubernetes and embraces a modern development framework.

Dell PowerFlex deployment architecture

Dell PowerFlex with Nutanix Cloud Platform uses a disaggregated (independent) architecture.

Note: Dell PowerFlex with Nutanix Cloud Platform uses a two-layer (independent) architecture only.

Independent architecture

In an independent architecture, or two-layer architecture, some nodes provide storage capacity and host datasets while other, separate, and independent nodes, host applications and workloads. Compute and storage resources can be scaled independently by adding nodes to the cluster. This separation of compute and storage resources can also help minimize software licensing costs in certain situations. And this architecture can be ideal for hosting high-performance high-value databases and application workloads.

This document will not cover Hyperconverged and Mixed deployment architecture details as they are not supported with Nutanix Cloud Platform.

Dell PowerFlex consumption options

Dell PowerFlex rack

Dell PowerFlex rack is a software-defined storage platform that delivers flexibility, elasticity, and simplicity with predictable performance and resiliency at scale by combining compute as well as high-performance storage resources in a managed unified network.

This rack-scale engineered system, with integrated networking, enables customers to achieve the scalability and management requirements of a modern data center.

Dell PowerFlex appliance

Dell PowerFlex appliance is a PowerEdge server which has been configured to be a node in a software-defined storage deployment. This offering allows customers the flexibility and savings to bring their own compatible networking.

Dell PowerFlex and Nutanix Cloud Platform

This paper focuses on Nutanix Cloud Infrastructure Compute (NCI-C) which is comprised of Compute, Networking, Disaster Recovery and Security. This is a new license specifically tied to the architecture. NCI-C diverges from the Nutanix hyperconverged consumption model, in that it consolidates NCI-C components.

Dell PowerFlex is a software-defined platform that integrates computing and storage with independent scaling capabilities. It offers flexible infrastructure management, which ensures performance, reliability, and scalability for diverse workloads.

The integration of Dell PowerFlex with Nutanix Cloud Platform (NCP) enables organizations to scale compute and storage resources independently. The Nutanix AHV hypervisor and AOS operate on Dell PowerFlex compute servers or Dell PowerEdge, consuming storage from an external Dell PowerFlex Storage cluster. This setup leverages Dell’s software-defined PowerFlex storage alongside Nutanix AHV to optimize resource management. The architecture supports data protection, disaster recovery, and networking while facilitating hybrid cloud operations for scalable workloads.

For more information on hardware and software specifications, refer to the Dell PowerFlex with Nutanix Cloud Platform Technical Overview.

Dell PowerFlex with Nutanix Cloud Platform architecture

The Dell PowerFlex with Nutanix Cloud Platform (NCP) solution is deployed using a disaggregated architecture, as shown in the following illustration.

  1. Compute Layer: A Nutanix Cloud Infrastructure Compute (NCI-C) cluster with AOS and AHV running on Dell PowerFlex compute-only nodes.
  2. Storage Layer: A Dell PowerFlex cluster operating in a storage-only model, compatible with PowerFlex configurations. This cluster provides block storage and related services as shown in the dashed blue box in the figure below.
    Figure 3. Dell PowerFlex with Nutanix Cloud Platform architecture
    A diagram of Dell PowerFlex with Nutanix Cloud Platform architecture

The Dell PowerFlex with Nutanix Cloud Platform architecture contains no internal storage within the Nutanix compute only nodes. In this disaggregated architecture, the compute cluster accesses storage over the Ethernet fabric from the external PowerFlex storage cluster via the SDC that is installed on every node of the NCI-C cluster.

When Dell PowerFlex with Nutanix Cloud Platform is deployed, the Nutanix software stack is hosted on the PowerFlex compute only nodes. The NCI-C cluster nodes consume storage from the PowerFlex storage cluster.

Lifecycle management

Both Dell PowerFlex and Nutanix Cloud Platform offer fully integrated and comprehensive Lifecycle Management (LCM) of qualified components for their respective architectures. These powerful features combine to provide end to end Lifecycle Management of both software and hardware across storage and compute nodes.

PowerFlex storage only nodes

In the PowerFlex Manager UI, storage only nodes have a managed state of Managed. This indicates that PowerFlex Manager controls PowerFlex software and firmware in a turnkey fashion with no interruption to workloads. The state of the nodes can be seen in the figure below.

Nutanix compute only nodes

In PowerFlex Manager, NCI-C nodes have a managed state of Reserved. This indicates that PowerFlex Manager can upgrade the firmware on a compute node after it has been placed in maintenance mode, bringing it into compliance with a Release Certification Matrix/Intelligent Catalog (RCM/IC). Maintenance mode evacuates the workloads so they are not impacted by the LCM process. Prism Central LCM manages Nutanix software on NCI-C nodes including AOS and AHV. At the time of this writing, the PowerFlex SDC is signed by Nutanix, downloaded from https://portal.nutanix.com, and deployed to the NCI-C cluster using Prism Element. The Nutanix software and the PowerFlex SDC are qualified and upgraded together in lock step with each other.

Figure 4. Figure 4. PowerFlex compliant storage only and non-compliant compute only nodes needing LCM as seen in PowerFlex Manager
Figure 4. PowerFlex compliant storage only and non-compliant compute only nodes needing LCM as seen in PowerFlex Manager
Note: Compute only nodes should be placed in maintenance mode before software or firmware updates are applied.

Microsoft Windows Server and Failover Cluster

Windows Server and Failover Cluster Windows Server 2025 is a Microsoft server operating system designed for enterprise IT workloads, cloud environments, and hybrid infrastructures. It is part of the Windows Server family and offers advanced features such as Azure integration, container support, enhanced security, and failover capabilities.

Windows Server Failover Cluster (WSFC) is a feature provided by Windows Server 2025 that enables high availability and reliability for applications, services, and workloads. It allows multiple server nodes to work together as a cluster, ensuring that if one server fails, its workloads are automatically transferred to another server in the cluster. This active/passive solution minimizes downtime and offers continuity for business applications and databases such as SQL Server.

WSFC is comprised of the following components:

Cluster nodes
Physical or virtual.
Shared storage
All nodes must be able to access the same storage devices, e.g. iSCSI.
Cluster roles
Services/applications that are configured to run in the cluster, e.g. SQL Server.
Cluster quorum
A mechanism to prevent split-brain, typically disk-based.
Failover
Manual or automatic transfer of a cluster role(s).
Heartbeat
A communication method for nodes to monitor health amongst each other.

Microsoft SQL Server

Microsoft SQL Server 2022 is a robust relational database management system (RDBMS) designed to store, retrieve, and manage structured data efficiently. It supports deployment on physical or virtual machines running Windows or Linux, as well as in containerized environments.

Applications and tools interact with SQL Server using Transact-SQL (T-SQL), enabling powerful data manipulation and querying capabilities. For high availability, SQL Server supports multiple options, including Always ON Availability Groups and Failover Cluster Instances (FCI). This solution demonstrates the use of FCI, leveraging Windows Server Failover Clustering (WSFC) to enable automatic failover and ensure shared storage resilience.

SQL Server also offers features such as database mirroring, replication, and comprehensive backup and restore capabilities to support disaster recovery and business continuity.

Solution Overview

Solution Overview

This section describes the architecture and design of Microsoft SQL Server 2022 Failover Cluster Instance (FCI) on Dell PowerFlex with Nutanix Cloud Platform. Microsoft SQL Server 2022 database is hosted on VMs, and the database volumes are provisioned and managed by PowerFlex.

Logical architecture

The following diagram depicts the logical architecture of a Microsoft SQL Server 2022 FCI hosted on Dell PowerFlex with Nutanix Cloud Platform. The diagram incorporates a three-node SQL Server FCI with shared database volumes. The solution has three primary components, as shown:

  • Dell PowerFlex Storage
  • Nutanix Cloud Platform
  • Microsoft SQL Server Failover Cluster
Figure 5. Logical architecture diagram
A diagram of the logical architecture.

Dell PowerFlex storage is deployed in a two-layer configuration with four storage nodes. Each node contains ten 1.5 TB SAS drives, which are aggregated into a single resilient storage pool. This storage pool is used to create database volumes for SQL Server FCI. For more information, see Powerflex Storage Layout.

Three Nutanix compute nodes are deployed using Nutanix Foundation software. These nodes form the Nutanix Cloud Infrastructure compute cluster (NCI-C) on Dell PowerFlex compute-only nodes. Nutanix Cloud Platform deploys a dedicated Controller Virtual Machine (CVM) on each compute node for its own operation. These CVMs are a key component of the Nutanix platform. CVM acts as a distributed storage controller, running on each node in the cluster and managing all I/O operations for that node.

Note: This solution uses three compute-only nodes for the test environment. A production environment requires a minimum of five compute-only nodes.

With Dell PowerFlex as an external storage provider for NCP, the CVM use the Storage Data Client (SDC) driver to access the storage. Acting as a block device driver, SDC maps volumes created on the PowerFlex storage to Nutanix hosts. Volumes can be provisioned as isolated virtual disks or as part of a volume group, which simplifies management and operations. For more information, see Nutanix Storage Layout.

A three-node Windows Server Failover Cluster (WSFC) is configured on Windows Server 2025 virtual machines hosted on Nutanix Cloud Infrastructure (NCI). Using Windows Server Failover Cluster Manager (WSFCM), a Microsoft SQL Server 2022 clustered role is configured to ensure high availability for the SQL Server database. This setup enables automatic failover and resilience in case of node failure. For detailed deployment guidance, see the SQL Server Failover Cluster Deployment section.

Three Windows Server 2025 VMs form a SQL Server FCI, with shared volumes accessible by all nodes to provide continuous availability. The database is preloaded with initial data to support Online Transaction Processing (OLTP) workloads. This configuration ensures seamless operation and data integrity during failover events. For more details, see the SQL Server database layout documentation.

Network architecture

The following diagram shows the network architecture of a PowerFlex deployment, including storage and compute nodes:

Figure 6. Network architecture diagram
A diagram of the network architecture

Each PowerFlex storage-only (SO) node connects to the top-of-rack (TOR) switches and is equipped with dual-port NICs. These network ports are trunked with the TOR switches and handle management, data1, data2, data3, and data4 network traffic for PowerFlex. The management network operates in active-backup (mode1) bonding with the data1 and data2 networks, while data3 and data4 serve as dedicated SDS networks and are not bonded. This network configuration provides redundancy and fault tolerance, with two dedicated networks for PowerFlex data transfer.

Dedicated VLANs separate management and data network traffic. The following table outlines the VLANs that are used for PowerFlex storage-only nodes, along with their purposes:

Table 3. Network VLAN details of PowerFlex storage nodes
Network type VLAN Configurations
Management 150 Mode1 bond - (interface1 port1 and interface2 port1)
PowerFlex Data 1 151 Interface1 port1
PowerFlex Data 2 152 Interface2 port1
PowerFlex Data 3 153 Interface1 port2
PowerFlex Data 4 154 Interface2 port2

Interface1 Port1 and Interface2 Port1 are configured in trunk mode to handle management and customer network traffic. Similarly, Interface1 Port2 and Interface2 Port2 are also configured in trunk mode to manage SDC-SDS data traffic. If needed, data traffic ports can be configured in non-trunk mode.

On NCP, two virtual switches manage the networks: one for data and one for management.

A separate backplane network may also be considered for Volume Group load-balancing traffic, this approach helps isolating the management traffic from data traffic. For more details on creating a backplane network, see CVM Network Segmentation.

The following table shows the VLAN configuration for Nutanix compute nodes:

Table 4. Network VLAN details of Nutanix compute cluster.
Network type VLAN Configurations
Management and customer
  • 105
  • 146
  • 106
Mode1 bond (interface1 port1 and interface2 port1)
  • VLAN 105 for VMs
  • VLAN 146 for VM migration
  • Backplane network (optional)
PowerFlex data
  • 151
  • 152
Mode1 bond (interface1 port2 and interface2 port2)
  • VLAN 151 for Data 1
  • VLAN 152 for Data 2

For more information about configuring PowerFlex storage and Nutanix compute nodes, se Appendix A1 and Appendix A3.

Storage Layout

Storage Layout

Designing a storage layout is a crucial task for the infrastructure team. Key metrics to consider include storage capacity, IOPS for performance, latency for fast data access, and bandwidth to support data transfer rates.

To build an optimal storage solution, start by assessing current storage needs and projecting future requirements based on business growth and application demands. Engage all relevant stakeholders throughout the process.

This section outlines the three key components of the solution: the PowerFlex storage layout, the Nutanix storage layout, and the SQL Server database layout.

PowerFlex storage layout

This solution uses a single protection domain and storage pool created from PowerFlex storage. Database volumes for Microsoft SQL Server are allocated from this pool, which aggregates different storage media of the storage nodes. Storage pools offer varying levels of service based on capacity and performance. PowerFlex supports two types of storage pools: fine granularity (FG) and medium granularity (MG). Both types of storage pool can coexist on the same storage nodes. This solution uses a medium granularity storage pool. For more information, see Storage Schemas.

From Dell PowerFlex storage, one LUN is provisioned for system databases and TempDB, four LUNs for data files, and one dedicated LUN for log files. Using multiple volumes enables concurrent I/O operations, improving overall throughput and reducing bottlenecks. Distributing I/O load across several volumes maximizes SDS utilization and enhances performance, especially for I/O-intensive workloads.

Nutanix storage layout

On Nutanix Cloud Platform, database volumes are presented as virtual disks and attached to virtual machines using the Nutanix VirtIO-SCSI controller. This paravirtualized controller enables efficient communication between VMs and virtual disks and is the default and recommended option for SCSI devices in Nutanix AHV environments. It delivers better I/O throughput and lower latency than legacy IDE or standard SCSI controllers.

For Windows VMs, Nutanix provides Nutanix Guest Tools (NGT), which include VirtIO SCSI drivers for Windows operating systems.

Note: The VirtIO driver must be installed on Windows virtual machines in Nutanix AHV environments to ensure that attached virtual disks are recognized. Without this driver, Windows may fail to detect the disks, resulting in no boot device or database volume not found.

Figure 7. Nutanix storage layout for SQL Server database
A diagram of the Nutanix storage layout for SQL Server database

This solution is implemented using VirtIO SCSI driver version 1.2.4 on Windows Server 2025. It is important to note that version 1.2.4 has a known issue with SQL Server workloads: surprise disk removal during inflight I/O operations may cause the VM to hang. This issue has been resolved in VirtIO SCSI driver version 1.2.5, which is also qualified for Windows Server 2025. For the latest updates and compatibility information, refer to the VirtIO Release Notes.

As shown in Figure 7, four virtual disks are created for data files and one dedicated virtual disk for the SQL Server log file. These disks are grouped into two Volume Groups (VGs) on the Nutanix Cluster Infrastructure (NCI) to leverage architectural and operational benefits.

A Volume Group in Nutanix is a collection of one or more virtual disks (vDisks) that can be attached to one or more virtual machines, providing direct block-level access. This setup is ideal for cluster-based applications like Microsoft SQL Server Failover clustering that require raw block devices.

The Controller VM (CVM) provisions the virtual disks and manages all Nutanix storage operations. It communicates with Dell PowerFlex external storage via the SDC driver, enabling volume provisioning and management on the PowerFlex system.

SQL Server Failover Cluster Deployment

SQL Server Failover Cluster Deployment

This section outlines the deployment of a Windows Server Failover Cluster (WSFC) with the SQL Server database role configured. It also provides guidance on designing the database layout for SQL Server FCI deployments to maximize throughput and ensure high availability.

Windows Server Failover Cluster

A three-node WSFC is deployed on Nutanix Cloud Platform virtual machines. Each VM is hosted on a separate AHV host, and Nutanix automatically load balances the VMs across the cluster. A dedicated network has been created for WSFC operations. All essential services—DNS, Active Directory, and NTP—are configured on a separate host.

Note: In this solution, Nutanix Cloud Platform (NCP) cluster exclusively hosts SQL Server VMs, utilizing full CPU capacity for OLTP workloads.

WSFC requires shared disks for successful failover. These disks are created on Nutanix and mapped from Dell PowerFlex storage. NCP leverages its Volume Group feature to share disks across VMs.

The SQL Server clustered role is configured to ensure high availability, fault tolerance, and seamless failover. It includes a dedicated cluster network and a configured Virtual IP (VIP) for connectivity.

The image below shows the configured SQL Server role.

Figure 8. SQL Server 2022 configured role
A screenshot of SQL Server 2022 configured role.

The clustered role “SQL1” is currently online and depends on associated cluster resources to maintain high availability and support coordinated failover. In case of a failure, the role automatically transitions to another node in the WSFC, along with its dependent resources. Properly configured storage resources are critical for successful failover and must be linked to the clustered role through defined dependencies. These dependencies determine the order in which resources are brought online during failover or startup.

The image below illustrates the clustered role “SQL1” and its dependency on six storage volumes, all of which must be online before the role can start.

Figure 9. SQL server configured role
A screenshot of SQL server configured role.

For more information on deploying WSFC, see the Implementation guide.

SQL Server database layout

To ensure optimal database performance, the database layout must be carefully designed. with precision. The database team must work closely with development and product teams to determine capacity requirements for various databases, considering different table sizes, IOPS, and latency.

For IO intensive workloads, use multiple disks to store database files. While a single disk may suffice for general-purpose applications, mission-critical workloads benefit from distributing files across multiple disks. There is no strict limit on disk count, but consider file system type, cluster size, and file distribution to optimize performance. Distribute data, log, and temp files across multiple disks to maximize performance and resilience.

Figure 10. SQL Server database layout
A diagram of SQL Server database layout.

As shown in the figure above, data files are distributed across multiple disks, and a dedicated volume is provided for transaction log files. This separation prevents the mixing of random and sequential disk access patterns, improving I/O distribution and helps in improving database performance. System databases (model, master and msdb) and TempDB are stored on a separate disk to prevent TempDB contention.

To further optimize performance, size data and log files appropriately based on expected growth. This reduces the frequency of operating system calls and improves database response times.

The following Windows storage considerations should be carefully assessed when formatting the data and log volumes for the database.

Windows storage considerations

When using external storage such as PowerFlex with WSFC, you can configure each volume in Windows Disk Management as a drive letter, mount point, or CSV. Each option has its own advantages and limitations.

  • Drive letters provide an easy way for users and applications to identify and access storage volumes, but are limited to 26 volumes per host.
  • Mount points allow volumes to be mounted as folders on an existing NTFS volume rather than assigning it a drive letter. Mount points are sub-directories of the root mount-point (root directory), enabling more flexibility and scalability. Volumes are mounted like a directory structure, making it easier to logically organize data. While most modern applications support mount points, legacy applications may have compatibility issues.
  • Cluster Shared Volumes (CSVs) allow shared storage to be accessed concurrently on all the nodes in a cluster. This feature is commonly used in Hyper-V to store VM files. CSVs enhance the availability and reliability of storage in clustered environments. If one node fails, other nodes can still access the shared volume. When a disk is configured as a CSV, that disk is available to all the cluster nodes, making failover of the clustered roles faster. One limitation is that all CSV disks appear under a single root directory on the system drive at C:\ClusterStorage\ resulting in single point of failure if the system drive is corrupted.
  • File system options: Along with the Windows storage volume options, it is essential to understand the different file system options that are available, primarily the New Technology File System (NTFS) and the Resilient File System (ReFS). Each file system has its own unique features, advantages, and recommended use cases, including considerations for allocation unit size.
    • NTFS is the default file system for Windows operating systems, providing robust performance, security, and reliability features. It uses a journaling feature to maintain data integrity in the event of a system crash and supports cluster sizes ranging from 512 bytes to 64 KB. A small cluster size (such as 4 KB) is more efficient for storing numerous small files, minimizing wasted space, whereas large cluster sizes (such as 64 KB) are better for large file storage, potentially improving read/write performance.
    • ReFS is a newer file system introduced to address the limitations of NTFS, offering enhanced resiliency and scalability. ReFS is designed for modern data storage needs and is particularly well suited for large-scale and HA environments. It provides automatic integrity checking by continuously validating checksums generated for file data and metadata. ReFS supports only two cluster sizes: 4 KB and 64 KB. A small cluster size is efficient for handling numerous small files, whereas a large cluster size is beneficial for large file storage with fewer fragmentation issues.

When selecting storage options and file systems for both the SQL server database application, it is important to evaluate storage using benchmarking tools. Consider various combinations from the preceding storage options, file systems, and cluster sizes for each layer. Assess the storage by determining the optimal values for IOPS and latency to meet the requirements of your specific workload, be it OLTP or OLAP.

Various combinations of drive letters and mount points were evaluated, using both NTFS and ReFS file systems with different cluster sizes. Test results revealed that NTFS with an 8 KB allocation size and drive letter configuration, delivered the optimal performance for SQL Server database on Dell PowerFlex storage. While drive letters may not scale well for all environments, they were effective for this solution.

Note: This solution uses Nutanix Volume Groups instead of CSVs for shared storage in WSFC environment. This aligns with Nutanix best practices and delivers improved IOPS and throughput for SQL Server FCI deployments.

The following table summarizes the partition size and file system used for the database volumes after analyzing test results.

Table 5. SQL server database volume layout
Drive letter Size (GB) File system Allocation size Purpose
E 100 NTFS 8K SQL Server installation and TempDB files
D 300 NTFS 8K Data files
F 300 NTFS 8K Data files
G 300 NTFS 8K Data files
H 300 NTFS 8K Data files
I 600 NTFS 64K Log files

Scaling SQL Server Failover Cluster Deployment

Scaling SQL Server Failover Cluster Deployment

This section outlines how the Dell PowerFlex team scaled SQL Server FCI deployments from a single cluster to multiple clusters. In a single-cluster FCI deployment, only one SQL VM remains active while the others stay idle, leading to underutilized compute and storage resources. To address this inefficiency, the team scaled the deployment to include three independent FCIs, each with its own active and passive node configuration. This approach improves resource utilization and enables more effective stress testing of the storage and database systems.

Figure 11. Scaling FCI deployment for enhanced resource utilization
A diagram of scaling FCI deployment for enhanced resource utilization

The diagram illustrates a WSFC setup with three virtual machines, SQL-VM1, SQL-VM2, and SQL-VM3. each participating in a separate FCI.

Table 6. SQL Server FCI configuration across nodes
FCI Active node Passive node(s) SQL Server Instance Volume groups
FCI 1 SQL-VM1

SQL-VM2.

SQL-VM3

SQL Server Instance 1 FCI1_data, FCI1_logs
FCI 2 SQL-VM2

SQL-VM3,

SQL-VM1

SQL Server Instance 2 FCI2_data, FCI2_logs
FCI 3 SQL-VM3

SQL-VM1,

SQL-VM2

SQL Server Instance 3 FCI3_data, FCI3_logs

Each FCI has its own dedicated shared storage for data and log files, along with a distinct active-passive instance configuration. For example, FCI 1 hosts its active SQL Server instance (SQL1) on SQL-VM1, with passive instance on SQL-VM2 and SQL-VM3. FCI 2 and FCI 3 follow similar configurations.

Shared storage for the cluster is managed by Nutanix Volume Groups. These groups function similarly to Cluster Shared Volumes but offer enhanced capabilities, including native integration with the Nutanix platform for simplified management and improved scalability.

A key advantage of Nutanix Volume Groups is their built-in I/O load balancing. Operations are intelligently distributed across multiple Controller Virtual Machines (CVMs) in parallel, significantly improving throughput and reducing latency. However, CVMs do not load balance I/O across volume groups by default—this feature must be enabled manually. This parallelism ensures that storage performance scales with the cluster, making it ideal for high-demand SQL Server workloads. For more information, see Scaling up VM storage performance on AHV using Volume Group Load Balancer.

By default, Volume Group load balancing occurs over the management network interfaces, but traffic can be offloaded to a separate backplane network using network segmentation for improved isolation and performance. For further details, see the Network Architecture section.

This strategy not only enhances resource utilization but also enables robust stress testing of the underlying infrastructure. It validates the performance and reliability of PowerFlex in demanding enterprise environments.

Testing and Validation

Testing and Validation

This section describes the tests performed to validate the Microsoft SQL Server 2022 database performance on Nutanix Cloud Platform using Dell PowerFlex storage. The team used the HammerDB benchmarking tool for the database performance test, focusing on schema creation, data loading, and simulating transactional (OLTP) workloads. The results of these tests compares hardware performance and validates software configurations. For more information, see the HammerDB Blog.

The TPROC-C workload profile in the HammerDB tool was used to validate the performance of the SQL Server database. The TPROC-C workload generates a transactional workload that runs a specific set of queries against a SQL Server database. These database transactions are measured in Transactions Per Minute (TPM).

Test methodology

This section outlines how the team used the HammerDB tool to run a series of OLTP workload tests against multiple SQL Server cluster setups. The procedure involved multiple iterations, running for a duration of 10 minutes each, with the aim of generating OLTP transactions for different virtual user configurations. The primary objective of this test was to evaluate the multiple FCI setup performance and identify the optimal TPM value while operating under a storage latency of less than 1 millisecond.

Note: For this evaluation, a single VM, configured with 64 vCPUs, was deployed per compute host. In a typical customer environment, each host may have multiple VMs with lower individual vCPU counts.

For more information about the configuration of the SQL Server VM, see Appendix A3.

A dedicated load-generation VM is provisioned with Windows Server 2022 to launch the HammerDB tool that connects to the database over the network and generates transactions. This HammerDB VM is hosted on a separate host and does not use any storage or compute resources from the Nutanix Cloud Infrastructure (NCI).

Figure 12. OLTP workload generation using HammerDB tool
A diagram of OLTP workload generation using HammerDB tool

In this solution, a single HammerDB VM is used to launch three instances of HammerDB software, each connecting to an individual SQL Server FCI active node. As illustrated in the figure above, HammerDB Instance 1 connects to the active node of FCI 1, Instance 2 connects to the active node of FCI 2, and Instance 3 connects to the active node of FCI 3.

Each FCI generates OLTP workloads on its respective SQL Server database, driving IOPS on its dedicated shared storage volumes.

Note: For all tests, the SQL Server used 59 GB of memory from a total of 64 GB available memory, with 300 GB of the database populated.

HammerDB recommends using the following settings in the tool to generate a more transactional workload:

  • Use the All Warehouses option in HammerDB to spread the transactions across all the warehouses. This prevents contention over just a few tables in the warehouse.
  • Select the Checkpoint When Complete option to force the database to write everything to the disk at the end of the test. This is useful when running multiple tests in a row to avoid a checkpoint in the middle of a run.
  • Use the Autopilot option to run multiple tests in a row when automation of multiple test cases is required.

HammerDB also suggests the following SQL Server configurations for conducting OLTP benchmarks:

  • Set the max degree of parallelism to 1 to prevent excessive parallelism, which may lead to a drop in performance.
  • Configure max worker threads between 900 to 3000. The number is subject to change according to the available logical processors. Higher CPU can accommodate higher worker threads.
  • Keep the initial data file size sufficiently large to ensure that files are not growing rapidly in the middle of a workload run.
  • Set larger auto growth increments of the data files to reduce the frequency of growth operations and enable instant file initialization to speed up the allocation process, to avoid performance impact.

For more information, see HammerDB documentation.

Test results

The following SQL Server FCI deployment scenarios were evaluated using the HammerDB tool, following the test methodology described.

  • Single SQL Server FCI
  • Multiple SQL Server FCI

For key deployment best practices used for these scenarios, see the Best Practices section.

Single SQL Server FCI

This section showcases the HammerDB benchmark test results on a single SQL Server FCI cluster. The objective of this test was to measure database performance on one SQL Server FCI deployment.

The chart below shows the performance test results of one SQL Server FCI deployment.

Figure 13. Single SQL Server FCI database performance
Single SQL Server FCI database performance

As demonstrated by the test results, the single SQL Server FCI deployment achieved a peak throughput of 1.3 million TPM with 350 virtual users. Although latency remained below 1 millisecond, even at 400 users, the TPM dropped below 1.3 million. This indicates that 1.3 million TPM is the optimal number under the given configuration.

The system generated a total of 239K IOPS for 350 virtual users while constantly maintaining the average read and write I/O latency under 1 millisecond. The read-to-write IOPS ratio observed for this test was 40:60 on the PowerFlex storage.

CPU utilization of VMs during these tests was in the range of 45-75%.

Multiple SQL Server FCI

This section showcases the test results from the HammerDB benchmark of a three SQL Server FCI cluster deployment. The objective was to maximize utilization of attached storage and SQL VM resources by generating more workload using the HammerDB tool. For details on how the FCI deployment was scaled, see the Scaling SQL Server Failover Cluster Deployment section.

The chart below shows the performance test results of a three SQL Server FCI deployment (Three Active SQL VMs).

Figure 14. Three SQL Server FCI database performance
Three SQL Server FCI database performance

As observed from the test results, database TPM scaled from 1.3 million on a single SQL Server FCI deployment to 2 million TPM across three deployments. These tests used a total of 60 virtual users (20 per deployment), all running on the same set of three virtual machines. This approach enabled optimal utilization of available hardware resources and successfully scaled database transaction throughput.

PowerFlex storage achieved 390K IOPS when all three SQL VMs simultaneously generated OLTP workloads, while maintaining consistent average read and write I/O latency below 1 millisecond. The read-to-write IOPS ratio observed was 40:60 on the PowerFlex storage system.

The overall CPU utilization of three SQL VMs during the tests was in the range of 33-56% percent.

Best Practices

Microsoft Windows Server & SQL Server 2022

The following section highlights some of the best practices for Windows and SQL Server 2022:

  • Ensure that the Windows Server power plan is customized and set to high performance.
  • It is recommended to enable the lock pages in memory to prevent the system from paging the data to virtual memory for SQL Server VMs. Make the necessary changes in the Group Edit policy to enable the lock pages. For more information, see Enable the Lock Pages in Memory Option.
  • Always use WSFC cluster validation wizard before deployment or after any hardware changes for the smooth operation of the cluster.
  • Regularly test failover scenarios to ensure SQL clustered roles recover as expected.
  • For high-performance and mission-critical databases, spread the database files across multiple disks to leverage the I/O parallelism of PowerFlex storage.
  • Store database transaction logs on a separate volume to avoid mixing their sequential I/O profile with the random I/O profile of data files. This practice also enables the use of PowerFlex storage snapshot technology for creating database backups, ensuring that a volume restore does not overwrite the latest transaction logs.
  • Move the tempdb files from the default location to a separate volume or NVMe persistent storage (if available) to avoid page contention. This practice substantially improves database latency performance when temp files are busy.
  • Increase the number of data files in tempdb to maximize the bandwidth and to reduce contention in allocating structures. Monitor the contention level and increase the number of data files by a multiple of four, to the maximum number of available logical processors.
  • Consider different storage configurations and file systems before choosing the storage for the SQL Server database. For more information, see Windows storage configurations in the SQL Server database layout section.
  • Set proper dependencies between clustered roles (like SQL Server) and their associated storage resources (e.g., data and log volumes). This ensures that the required disks are brought online first, reducing the risk of service startup failures.

For more information about SQL Server best practices, see the SQL Server Design consideration document.

Nutanix

Consider the following best practices of Nutanix Cloud Platform (NCP) for hosting SQL Server 2022 database on PowerFlex storage:

  • Ensure that network interfaces of the same type and speed are used in the bond configuration.
  • Use the same VLAN for AHV host and CVM. It simplifies networking and ensures proper communication between the CVM and the AHV host.
  • Enable Jumbo Frames (MTU 9000) on physical interfaces only if required by applications.
  • Use Guarantee Mode, a Nutanix configuration option, to ensure all VMs restart during host failure. This setting reserves resources to ensure that all VMs can reliably restart on other hosts.
  • Always install the supported VirtIO SCSI controller drivers on Windows guests before attaching disks to ensure proper disk detection and operations.
  • Ensure VM vCPU count aligns with physical CPU cores available on the AHV host for better performance.
  • Enable huge pages in the guest VMs only when the application and VM operating system require them.
  • Create new VMs without clones to maximize storage performance for highly latency-sensitive applications, like SQL Server.
  • Install NGT (Nutanix Guest Tools) on Nutanix VMs. This includes drivers, services (like VM mobility, cross-hypervisor disaster recovery, VSS, or Self-Service Restore) and utilities that improve communication between the VM and the Nutanix hypervisor.
  • Consider using Nutanix Volume Groups with its load balancing capabilities for WSFC shared storage, as its distributed architecture can enhance IOPS and throughput over traditional configuration. For more information, see Enabling Load Balancing of vDisks in a Volume Group.
  • To simplify storage management, use Volume Groups instead of isolated virtual disks. Consider enabling Volume Group load balancing to improve storage throughput and latency.
  • Optionally, consider configuring a dedicated backplane network to offload Volume Group load-balanced traffic from the management network. This can be beneficial in scenarios where enhanced network isolation or improved performance is required.

Conclusion

Conclusion

Successful deployment of Microsoft SQL Server on Nutanix Cloud Platform (NCP) with Dell PowerFlex storage requires careful planning, adherence to best practice considerations, and thorough testing.

This white paper provides comprehensive guidance on integrating Microsoft SQL Server with Nutanix Cloud Platform (NCP) and Dell PowerFlex. It outlines best practices across all layers of the stack to help achieve optimal system performance.

Testing and validation using the HammerDB tool demonstrates the system’s ability to handle demanding OLTP workloads. The results also highlight how efficiently an FCI deployment can scale on Nutanix Cloud Platform (NCP) with PowerFlex storage.

By combining Nutanix’s robust virtualization capabilities with the scalability and performance of Dell PowerFlex storage, organizations can build a powerful, flexible, and resilient infrastructure for modern, data-intensive applications like Microsoft SQL Server.

Appendix

A1. PowerFlex storage node configuration

The following table summarizes the hardware and software resources used to build PowerFlex storage cluster:

Table 7. PowerFlex SO node details
Hardware Configuration
Server model PowerFlex R650
CPU 2x Intel Xeon Gold 6330 CPU (28C/56T)
Memory (GiB) 256 GB
NIC 2x Mellanox ConnectX-5 Dual Port 10/25GbE SFP28
Storage 10x 1.6 TB SAS
Dell PowerFlex Manager 4.6.2
Dell PowerFlex Core 4.5.4
Storage node OS PowerFlex Embedded OS

A2. Nutanix compute node configuration

The following table summarizes the hardware and software resources used to build the Nutanix compute nodes.

Table 8. Nutanix CO node details
Hardware Configuration
Server model PowerFlex R650
CPU 2x Intel Xeon Gold 6330 CPU (28C/56T)
Memory (GiB) 256 GB
NIC 2x Mellanox ConnectX-5 Dual Port 10/25GbE SFP28
Storage BOSS-S2 223GB RAID-1
Compute Node OS Nutanix 7.1

A3. SQL Server VM configuration

The following table shows the configuration of the VM used to host SQL Server database.

Table 9. SQL Server VM configuration details
Hardware Configuration
vCPUs 64
Memory (GiB) 64 GB
Storage Type (GB)
  • OS Volume: 1x 100 GB NTFS 8k
  • Data volume: 4x 300 GB NTFS 8k
  • Log volume: 1x 600 GB NTFS 64k
Windows Version Windows Server 2025 Datacenter edition
Microsoft SQL Server 2022 CU19
VirtIO 1.2.4

A4. Nutanix CVM configuration

The following table shows the configuration of the VM used to host SQL Server database.

Table 10. Nutanix CVM configuration details
Hardware Configuration
vCPUs 16
Memory (GiB) 48 GB
OS AOS 7.1
SDC version 4.5.4

A5. SQL Server tuning parameters

The following code sample shows the SQL Server tuning parameters used to optimize the database performance for the OLTP workload test:

EXEC SP_CONFIGURE 'SHOW ADVANCED OPTIONS', '1'
RECONFIGURE WITH OVERRIDE
EXEC SP_CONFIGURE 'MIN SERVER MEMORY', 0
EXEC SP_CONFIGURE 'MAX SERVER MEMORY', 64000
EXEC SP_CONFIGURE 'MAX DEGREE OF PARALLELISM','1'
EXEC SP_CONFIGURE 'LIGHTWEIGHT POOLING','1'
EXEC SP_CONFIGURE 'MAX WORKER THREADS', 3000 ---- Subject to change depending on different CPU configuration.
EXEC SP_CONFIGURE 'DEFAULT TRACE ENABLED', 0
EXEC SP_CONFIGURE 'COST THRESHOLD FOR PARALLELISM', 50
GO
RECONFIGURE WITH OVERRIDE
EXEC SP_CONFIGURE 'PRIORITY BOOST', '1'

ALTER DATABASE OLTP SET RECOVERY SIMPLE
GO
ALTER DATABASE OLTP SET TORN_PAGE_DETECTION OFF
GO
ALTER DATABASE OLTP SET PAGE_VERIFY NONE
GO

References

NCP documentation