Sql-server – Help me choose a RAID level combination for a SQL Server 2008 instance

best practicesdisk-structuresperformancesql server

I am going to rebuild one IBM 3400 server from scratch. This server is dedicated to a SQL Server 2008 instance running on Windows 2008 R2.

I am going to make new RAID configuration. I have 6 SCSI 73 GB drives inside the machine and an IBM ServerRAID 8K controler. What would be a good way to set the RAID levels? Should I have two, three or one field on my controler?

I am considering to make one of following solutions:

  1. Use all the disk and make a RAID 10 pool.
  2. Use 4 disks for a RAID 1e pool and use it to store the database data and OS, and use the other 2 disks in a RAID 0 pool and use that to store the database logs.
  3. Some other combination.

Is a larger stripe unit size better?

This server will be a subscriber to a replicated database. Its primary task is going to be reporting and data retrieval, with only the replication agent making writes. The size of the database is around 90 GB.

Best Answer

I vote for option 1. Bear in mind that RAID 0 means "no protection" - do your logs matter? (yes they do).

It also has the benefit of simplicity

The SQL Server docs say:

For optimized I/O parallelism, use 64 KB or 256 KB stripe size.

But it is usually good to go with the controller default IMO