Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a 7200 rpm SATA disk array attached via SCSI with 15 disks. I am trying to figure out what would be the best way to configure RAID for my back-end Exchange 2003. I have 4 mail stores (not including the public folders), but I am thinking 1 big raid 10 array for the stores and some sort of other raid for the logs.

Maybe 5 drives in RAID 10 with one spare, and RAID 10 over 4 disks for the logs?

With the size of the drives, space isn't really an issue, I am trying to maximize speed well still having redundancy.

Anyone have any recommendations? Or perhaps some counters I should get to make this decision?

Current Setup (I don't currently know what raid is in use with these physical levels): A Physical Array with the logical Drives: C: E: F:

  • Contains the Logs and Transactions Logs (Transaction Logs are about 1 GB a day)
  • 22 GB Mailstore (11 Mailboxes)
  • 54 GB Mailstore (108 Mailboxes)
  • 1 GB Public Folders

Another Physical Array with the logical drive G:

  • 66 GB Mailstore (90 Mailboxes)
  • 9 GB Mailstore (11 Mailboxes)
share|improve this question
How many users and how big are the mail stores? – Rob Bergin Jun 2 '09 at 18:25
Rob: Updated Post with the information. – Kyle Brandt Jun 2 '09 at 18:54
What about your backups - are you running fulls every night? (i.e. flushing committed transaction logs daily)? – Rob Bergin Jun 4 '09 at 1:30
up vote 2 down vote accepted

Since you have the ability use multiple storage groups, you may want to to use multiple smaller RAID 10 stripes / mirrors so you can segregate your mailboxes and balance the load more evenly across all those spindles. Your particular RAID controller's behaviour dealing with multiple arrays is going to influence this, too.

Ultimately, you should consider configuring the array and running Exchange LoadSim on it ( to see how it's acting.

As a quick and dirty benchmark, watching the disk queue length counter is going to tell you if requests are queuing up on the disks. Deeper Exchange tuning / design is discussed in a variety of whitepapers from Microsoft. I've never tried to keep it all in my head at once, but then again I haven't had to do a lot of very high performance Exchange installations (small offices, 200 or fewer mailboxes, etc-- nothing super performance intensive...)


RAID 10 sure looks like overkill for the transaction logs based on the 1GB / day growth. I would think that RAID 1 would be more than sufficient for them.

You'll need to know about the usage patterns of the various mailbox users to figure out how many IOPS each mailbox store is consuming. I'd focus on researching the characteristics of the current server's utiliation and benchmarking the current server to get a handle on how to lay out the mailbox stores in multiple storage groups on the new server.

I could easily see you getting two (2) RAID 10 arrays and one or more RAID 1 arrays to split the load (depending on how hard those transaction log disks are getting hit-- you really should put the transaction logs for a storage group on a dedicated spindle). At that point, it would be a matter of benchmarking to see if you get more performance out of a 6 disk RAID 10 versus a 4 disk (depending on your RAID controller, you should). You can budget your IOPS, then, based on the loads of the various mailbox stores.

share|improve this answer

For best performance(*) it's a good idea to keep logs on different LUNs than anything else. Say, RAID1 sets for those. Yes, you'll be 'wasting' eight drives just for logs but it'll be fast. We used one big Raid10 array for our mail-store volumes.

share|improve this answer

How many users? How much space per mailbox? How big are the mailstores now?

What are the current Exchange Servers running on? You will want the same IOPS or better when you migrate to the array.

share|improve this answer

If the array controller has the feature, you may want to allow for a hot spare.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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