UNSOLVED

jeffhoward014

updated

13 years ago

0

20650

October 17th, 2013 18:00

MD3-Series Configuration Differences

Hello -

I'll attempt to add some levity since topics like these are often dry and boring :) So long story short, we've deployed two configurations to our Production SQL Servers, the 1st being the "old school" way and the 2nd being the "new hots" that both Dell MD, Dell Equallogics, and NetApp engineers have tried to push on us.

1st "Old School" configuration 
Hard-partition (separate disk groups) between servers -and- disk-roles in SQL Server.  Disk "roles" being DATA, LOGS, and TEMPDB.  We found that combining TempDB and Logs didn't yield much difference, so we use the following config:

  • ServerA
    • MD3200-ServerA-DATA-01 (6x 600GB 10K spindles)
    • MD3200-ServerA-LOGSTEMP-01 (6x 146GB 15K spindles)

  • ServerB
    • MD3200-ServerB-DATA-02 (6x 600GB 10K spindles)
    • MD3200-ServerB-LOGSTEMP-02 (6x 146GB 15K spindles)

  • etc, etc, assigning a 6-disk DATA volume, and 6-disk LOGSTEMP volume per SQL Server

In talking with NetApp on some of their fancy de-duplicating storage as well as Dell for both the MD and Equallogics, they all basically said the same thing... "Why are you creating so many disk groups, that's so 'old school'.  The REAL way to manage your storage is through DISK POOLING!!! That way each host has the raw I/O capacity of ALL the spindles in the enclosure!  Which sounds good in theory...

  • ServerA
    • MD3200-DiskPoolA-DATA (24x 600GB 10K spindles)
    • MD3200-DiskPoolB-LOGSTEMP (24x 146GB 15K spindles)

  • ServerB
    • MD3200-DiskPoolA-DATA (SAME 24x 600GB 10K spindles as used in ServerA)
    • MD3200-DiskPoolB-LOGSTEMP (SAME 24x 146K 15K spindles as used in ServerB)

  • etc, etc, with each all four servers sharing the same DiskPoolA and DiskPoolB, then you just provision your virtual disks out of the same pool for host assignment.  It's not exactly like that, but it works for illustration.

So according to engineers from Dell and NetApp, this is supposed to be faster because when a server pull data, it will happen 4x faster because there are 4-times more spindles and you can "dynamically" add more "speed" by just rolling more spindles into the Disk Pool. Sounds great, huh?  This is how all "real" SANs work (I was told). But here's the reality... Not even close.  

Yes, if a single server is pulling from the 24-disk pool unilaterally, it's faster.  Not 4x faster, but definitely faster.  However if 2x servers attempt to pull from the disk pool simultaneously, it's more than 2x slower so that's a fail.  Add a 3rd or 4th server and forget it, you'll see 1/10 the performance of each server on it's own RAID-5.

Has anyone else done testing between (what I call) "hard-partitioned" disk groups where each host gets it's own RAID set vs the new "disk pooling"?  We don't have any NetApp gear, but I can only assume this scenario would be worse if you throw in the WAFL file system and de-duplication.

Thanks,