Home > Storage > PowerFlex > White Papers > Dell APEX Block Storage for Azure: Microsoft SQL Server 2022 Deployment and Performance Best Practices > Storage layout
Designing a storage layout for any organization is an important aspect for an infrastructure team. They must consider different storage metrics like size, IOPS, latency, and bandwidth requirement for provisioning the storage. It also needs collaboration between different teams to plan the storage layout. All mission-critical applications need high IOPS, low latency, and resilient storage for their operation. IT admin, storage admin, and database administrators need to work together to set the appropriate design and SLAs based on the workload requirements.
The Dell APEX Block Storage for Azure cluster uses its storage data server (SDS) component to provide a resilient storage layout. The Storage Data Server (SDS) is a service that aggregates local storage of all participating storage nodes and presents a high-end virtual storage system. The SDS nodes leverage virtual or local flash-based media to provide a fault tolerance system. This solution leverages NVMe disks locally attached to the Azure storage nodes.
Dell APEX Block Storage for Azure cluster maintains the user data in a mesh mirrored layout such that each piece of data has two copies (primary and secondary) stored on two different Azure VM instances (SDS). The copies are evenly distributed across the SDS instances, which enable the system to maintain high availability if there is a failure of a storage device or Azure VM instances. When the SDS are spread across multiple AZs, any single AZ failure in the cloud does not impact the cluster and the data can be served from other two AZs, making it a highly available SQL Server solution using multiple subnets. For more information about highly available SQL server Solution for Azure, see Dell APEX Block Storage for Azure: SQL Server 2022 Multi-Subnet Failover Clustering Deployment and Resiliency.
A collection of SDSs forms the storage cluster persistence layer. SDS components can communicate directly with each other. SDSs are optimized for rebuild, rebalance, and I/O parallelism. The data layout among the SDS nodes may be organized into protection domains and storage pools, from which the volumes are allocated.
A protection domain is a set of SDS configured in separate logical groups. An SDS node may belong to only a single protection domain and can divide a Dell APEX Block Storage for Azure cluster into smaller logical systems. Protection from node, device, and network connectivity failure is managed with node-level granularity through protection domains.
An SDS offers both fine granularity (FG) and medium granularity (MG) for the storage data layout. However, only medium granularity is supported for the Dell APEX Block Storage for Azure. For more information about the medium granularity, see Storage Schemas.
Database volumes used by the Microsoft SQL Server workload are allocated from a storage pool. Storage pools can be used to logically aggregate types of storage media at drive-level granularity. Storage pools can provide varying levels of storage service distinguished by capacity and performance.
The following figure shows the storage layout design for SQL Server Database on Dell APEX Block Storage for Azure cluster:
Separate database LUNs are provisioned for each SQL Azure VM instance to ease the management and operation of the LUNs. As shown in the above figure, four data, one log, and one temp LUNs are provisioned for each SQL Server instance on the Dell APEX Block Storage for Azure cluster.
TempDB is a database in SQL Server that stores the temporary database objects such as local or temporary tables and stored procedures. TempDB is also used for holding the temporary results of the database sorting operation and other transient data that is generated by users or the system. Similarly, created the same storage structure for other two database VMs.