Question

We're planning to install a SQL Server on this physical architecture:

  • A hyper-v cluster based on windows server 2019
  • A cluster shared volume where all VMs live
  • A full-flash SAN that contains the CSV

I've always read that is a common best practice to have multiple disks for data files, log files, temp db files ect...

But that best practice is referred to a bare-bone installation.

So, what I'm asking is: what are the actual benefits of doing so on the above described architecture (if any)?

Was it helpful?

Solution

what are the actual benefits of doing so on the above described architecture (if any)?

There are some management benefits, particularly:

  • You get separate disk performance counters in the VM for Data, Log, and TempDb

  • You can migrate any one of them to a different storage device without reconfiguring the VM or SQL Server.

  • You can manage Storage Quality of Service seperately for each virtual disk, capping or reserving IOPS.

  • You get seperate IO queues in the guest VM which may marginally improve performance, especially in a scenario where perf-critical log writes are intermixed with large volume data file IO.

OTHER TIPS

Originally the benefits were increased I/O performance by separating concerns across multiple physical disks. This is because concurrent changes can be (and typically will be) occuring to your data file, log file, and even TempDB file. The disk is the slowest hardware component that is used in a SQL Server environment, so optimizing it is important.

As disk speeds improved with SSDs and NVMes, and as different virtual and cloud solutions ended up hosting the logical drives on the same physical drive, this optimization technique became more of a moot point.

I think there are still minimal benefits though, which are workload dependent, so you'll only be able to know if relevant to your use case by testing.

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top