0

My storage admin says that our SAN has 1 storage pool (set of physical RAID drives) that is shared by various servers and end-user vms.

I want to install a new SQL server instance on a volume created from this SAN. I was thinking that it will be nice to have a new dedicated storage pool only for the sql server. However, my storage admin has shared the below information (from Dell documentation) and is insisting upon creating the new volume for the sql server from the existing storage pool.

In general, it is recommended to use fewer storage pools within Dell EMC Unity arrays because this reduces complexity and increases flexibility. Dell EMC recommends using a single virtual disk pool when implementing SQL Server. This provides better performance by leveraging the aggregate I/O bandwidth of all disks to service I/O requests from SQL Server. A single drive pool is also easier to manage, allowing an administrator to quickly and easily adapt the storage system to satisfy the ever-changing workloads that are common in SQL Server environments. Before creating multiple storage pools to separate workloads, understand the various Dell EMC Unity features that are available for managing and throttling specific workloads.

Does anyone have experience with such a situation?

1 Answer 1

0

Maybe I'm mistaken, but I think there's a misunderstanding by your storage admin. I read that quoted documentation from Dell as meaning not to split a single SQL Server instance across multiple storage pools, in order to maximize performance, which is a different question than "can a single storage pool be shared between a SQL Server instance and other servers".

I would think theoretically having it's own storage pool can't be any worse and can only be the same or better than sharing one with other servers. But if your disks are fast, your Memory is provisioned appropriately, and depending on the busyness of your SQL Server, I/O contention is starting to become much less of a bottleneck these days, in practice. So there may be no noticeable difference in sharing a storage pool. You could always start that way if your storage admin is adamant about it, and if you have cause of concern for I/O contention, benchmark it to prove out it's a problem. If it really is, then you have evidence you can use to argue for migrating the SQL Server instance to its own storage pool.

Either way, I'm definitely not an expert on infrastructure architecture, and you may find better answers asking this question on ServerFault.

5
  • When you say benchmark, I assume you mean running something like diskspd? Since the SAN is shared by multiple prod server and vms, is it correct to run benchmarking tool - just concerned it will clog the network and SAN.
    – variable
    May 3, 2022 at 12:03
  • @variable Yes, I personally prefer CrystalDiskMark but either will work. It should not use any network resources, but it will use disk resources for a short moment. If your storage admin wants to allocate the same strange pool to SQL Server then there shouldn't be concern in benchmarking the I/O as this emulates what your SQL Server could be doing. But again I'd only worry about doing that after you try your instance on it and have cause to believe I/O is your problem such as by the wait types you typically see.
    – J.D.
    May 3, 2022 at 12:09
  • The SAN (and its disks) is over the network so I am worried using that tool will flood the network causing performance issues in other servers that share the same network/san.
    – variable
    May 4, 2022 at 6:01
  • @variable I honestly don't see that being realistically possible. Also, unless your network is from 1992 and using dial-up, it should likely be fine. The test can be set to however many iterations you want (1 iteration only takes around 5 minutes) and you can specify the size of the data to test with, though typically I use the 32 GB default, which is not a lot of data over the network either. Also you should just run the tool on a machine that's local to the SANs anyway (it's just an I/O benchmark tool so it doesn't need to be ran on your SQL Server), to minimize false reports.
    – J.D.
    May 4, 2022 at 11:36
  • I was thinking that if I create a pool of disks dedicated to sql server, then create a LUN from this pool and present it to the host and then assign the vmdisk to a vm on which sql srv is installed, all drives (data/log/tempdb) share the same disk pool. How will that be better than each drive having its own LUN (where each LUN is having a separate pool of disks?).
    – variable
    Jul 17, 2022 at 19:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.