I have been working on various VSAN configurations and a question that always comes up is what are my disk controller features and queue depth for controller X? (Local disks, not FC based…) Note that this is not only useful to know when using VSAN, but also when you are planning on doing host local caching with solutions like PernixData FVP or SanDisk FlashSoft for instance. The controller used can impact the performance, and a really low queue depth will result in a lower performance, it is as simple as that.
** NOTE: This post is not about VSAN disk controllers, but rather about disk controllers and their queue depth. Always check the HCL before buying! **
I have found myself digging through documentation and doing searches on the internet until I stumbled across the following website. I figured I would share the link with you, as it will help you (especially consultants) when you need to go through this exercise multiple times:
Just as an example, the Dell H200 Integrated disk controller is on the VSAN HCL. According to the website above it is based on the LSI 2008 and provides the following feature set: 2×4 port internal SAS, no cache, no BBU, RAID 0, 1 and 10. According to the VSAN HCL also provides “Virtual SAN Pass-Through”. I guess the only info missing is queue depth of the controller. I have not been able to find a good source for this. So I figured I would make this thread a source for that info.
Before we dive in to that, I want to show something which is also important to realize. Some controllers take: SAS / NL-SAS and SATA. Although typically the price difference between SATA and NL-SAS is neglectable, the queue depth difference is not. Erik Bussink was kind enough to provide me with these details of one of the controllers he is using as an example, first in the list is “RAID” device – second is SATA and third SAS… As you can see SAS is the clear winner here, and that includes NL-SAS drives.
mpt2sas_raid_queue_depth: int
Max RAID Device Queue Depth (default=128)
mpt2sas_sata_queue_depth: int
Max SATA Device Queue Depth (default=32)
mpt2sas_sas_queue_depth: int
Max SAS Device Queue Depth (default=254)
If you want to contribute, please take the following steps and report the Vendor, Controller type and aqlength in a comment please.
- Run the
esxtop
command on the ESXi shell / SSH session - Press d
- Press f and select Queue Stats (d)
- The value listed under
AQLEN
is the queue depth of the storage adapter
The following table shows the Vendor, Controller and Queue Depth. Note that this is based on what we (my readers and I) have witnessed in our labs and results my vary depending on the firmware and driver used. Make sure to check the VSAN HCL for the supported driver / firmware version, note that not all controllers below are on the VSAN HCL, this is a “generic” list as I want it to serve multiple use cases.
Generally speaking it is recommended to use a disk controller with a queue depth > 256 when used for VSAN or “host local caching” solutions.
Vendor | Disk Controller | Queue Depth |
Adaptec | RAID 2405 | 504 |
Dell (R610) | SAS 6/iR | 127 |
Dell | PERC 6/i | 925 |
Dell | PERC H200 Integrated | 600 |
Dell | PERC H310 | 25 |
Dell | PERC H330 | 256 |
Dell (M710HD) | PERC H200 Embedded | 499 |
Dell (M910) | PERC H700 Modular | 975 |
Dell | PERC H700 Integrated | 975 |
Dell (M620) | PERC H710 Mini | 975 |
Dell (T620) | PERC H710 Adapter | 975 |
Dell (T620) | PERC H710p | 975 |
Dell | PERC H810 | 975 |
HP | Smart Array B110i | 1020 |
HP | Smart Array B120i | 31 |
HP | Smart Array P220i | 1020 |
HP | Smart Array P400i | 128 |
HP | Smart Array P410i | 1020 |
HP | Smart Array P420i | 1011 | HP | Smart Array P440ar | 1020 |
HP | Smart Array P700m | 1200 |
IBM | ServeRAID-M5015 | 965 |
IBM | ServeRAID-M5016 | 975 |
IBM | ServeRAID-M5110 | 975 |
Intel | C602 AHCI (Patsburg) | 31 (per port) |
Intel | C602 SCU (Patsburg) | 256 |
Intel | RMS25KB040 | 600 |
LSI | 2004 | 25 |
LSI | 2008 | 25 / 600 (firmware dependent!) |
LSI | 2108 | 600 |
LSI | 2208 | 600 |
LSI | 2308 | 600 |
LSI | 3008 | 600 |
LSI | 9271-8i | 975 |
LSI | 9300-8i | 600 |