10

I am new to setting up SQL Servers and Vms. My predecessor used Raid 5 for C Drive where the SQL installation resided and RAID 10 for both database files and database logs.

I was wondering whether that is correct or should RAID 5 be utilized for SQL database files instead?

Any help?

Masa Rumi
  • 281
  • 1
  • 3
  • 6

5 Answers5

18

I did a series of TCP-C tests against several of the common RAID levels and was surprised that in a write-heavy scenario RAID5 was over 3x slower than RAID10 (it was 319% slower, to be specific). Your mileage may vary according to the actual ratio of reads versus writes in your scenarios.

-Kev

13

I would prefer RAID 10, by at least an order of magnitude, if you can afford it. The write performance is really tough to match, and while the read performance is slightly lower, this is only a factor in cases where your memory is completely inadequate (since typically most reads should not be physical).

While a bit dated, here is a great set of data from Kendal Van Dyke to back that up (these links are the intro and the summary; the former has links into all of the parts):

http://www.kendalvandyke.com/2009/02/disk-performance-hands-on-series.html

http://www.kendalvandyke.com/2009/02/disk-performance-hands-on-series-recap.html

Aaron Bertrand
  • 181,950
  • 28
  • 405
  • 624
3

I am not sure you are setting up a SQL on VM or Physical. If it is VM, storage decision may vary as it is depends on the VM Host.

I recommend not to install SQL on C drive, dedicate the SQL for OS and OS only. So, it can be small but make sure to mirror the C drive, because if C drive give up whole sever needs to rebuilt.

As everyone suggest, RAID 10 much better than RAID 5 when it comes to IO. At the same time, RAID 5 works great on Indexing because it reads faster than RAID 10. RAID 10 good for LOG and TEMP DB. Many cases DATA and INDEX as well. We use RAID 10 most of the time.

AbuTaareq
  • 101
  • 1
  • 5
0

RAID-5 is great for READING (io is split over 3+ disks) but not for WRITING (must calculate parity over 3+ disks)

RAID-10 is great for READING and WRITING, but incurs higher hardware costs (4x cost)

OS installed on RAID5 is fine, but keep main database files on the RAID-10.

Ironically, shifting your data into data warehousing might be prudent to utilize a RAID-5 array since you're doing a lot of analysis/reading and much less writing.

TempDB on RAID-10 is also best approach.

enorl76
  • 101
  • 2
0

Performance is important, and RAID 10 is superior as others have mentioned. IMHO, what is more important is the high availability characteristics of the array. RAID 5 can tolerate only 1 disk failure, RAID 10 can potentially lose up to 1/2 the disks and still work. Even worse, is how the array performs when a disk fails. Although you won’t lose data, a RAID 5 with a failed disk must perform a XOR operation on every sector read to recover the data. If you’ve ever experienced a disk fail on a RAID 5 in production on a busy array, you know it’s practically useless. I have seen it bring systems to their knees quite a few times... beware!

SQLRaptor
  • 4,108
  • 1
  • 14
  • 26