Wednesday, January 12, 2011

Exchange 2003 RAID Configuration for 15 disk Array

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)
  • 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.

  • 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 (http://www.microsoft.com/downloads/details.aspx?FamilyId=92EB2EDC-3433-47CA-A5F8-0483C7DDEA85&displaylang=en) 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...)

    Edit

    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.

  • 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.

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

    From Chris

0 comments:

Post a Comment