3

I'm finishing off a Terminal Services solution where I have two identical Dell PowerEdge R710 servers running Hyper-V which will both be connected to a Dell MD3000 DAS via SAS HBA. The MD3000 will host several virtual terminal servers.

The question is: what would be a good disk configuration for the MD3000 DAS?

These terminal server images (min of 4, max of 6) will be used by a relatively small number of people (approx. 20). Usage mainly revolves around using our custom .NET data-entry apps, MS Office (email, word, excel, ppt), browser usage, etc. Fairly low usage and 99% of all user data is stored on a separate file server.

I believe more fault tolerance is needed than RAID 5 can provide. I would like the ability to absorb at least 2 disk failures. I plan on purchasing backup hdd's to quickly hot-swap in in the event of disk failure.

The notable options are RAID's 1 / 6 / 10 / 15. Please feel free to contribute outside of these margins.

In accordance with Serverfault posting rules, please state your suggestion accompanied by solid reasoning and/or factual evidence and steer clear of personal opinions. Examples of configurations you have built or worked with would also be worthwhile to mention.

4
  • 4
    Why not RAID10? you get good performance and good reliability.
    – Zoredache
    Dec 13, 2011 at 19:29
  • Thanks for your suggestion. I had meant to include Raid 10 in the question (added now).
    – JohnyD
    Dec 14, 2011 at 11:58
  • Question re-opened as this was a faulty close - you gave enough info about your environment.
    – pauska
    Dec 14, 2011 at 12:36
  • Also - not related to your current question: Are these Windows 2008 R2 terminal servers? There have been extensive testing where it shows clearly that you can support alot more users if you use less virtual servers with more virtual cpu's/ram - as the internal scheduler is quite excellent at sharing cpu/ram amongst the users. It also shares identical RAM pages between applications on the same server.
    – pauska
    Dec 14, 2011 at 12:49

8 Answers 8

11

RAID 10 is almost always the right answer - don't get me wrong there's stuff I do in R6, stuff that's low performance and has very low write requirements but my default is R10 and never R5. Is there any reason not to just use this?

4
  • Data density, RAID 6 loses 2 HDD's worth of data to parity information, not the 50% that 10 uses.
    – Guvante
    Dec 13, 2011 at 19:35
  • Raid 10, agreed. Raid 6 not only loses you 2 hard disks, but you suffer a massive hit on any write operation (1:8 read to write if I remember correctly, whereas raid 10 is 1:1).
    – Matthew
    Dec 13, 2011 at 20:51
  • 1
    @Matthew: RAID-6 write performance doesn't have to be that bad. If you're writing large files (so you write the entire stripe at once), with a 14-disk RAID-6 you write 12 disks of data and 2 disks of parity. That's actually much better than RAID10, where you write 7 disks of data and 7 disks of mirror. The problem is when you're not writing the entire stripe, as you get the infamous read-write cycle (read 1 disk of data + 2 disks of parity [or all 12 data disks if you're verifying], write 1 disk of data + 2 disks of parity).
    – derobert
    Dec 19, 2011 at 21:29
  • 1
    So true, in HPC where sequential IO patterns dominate RAID5 and RAID6 are the only used RAID layouts due to full stride writes beating RAID10 in performance if used on a proper controller that disables cache coherent controller mirroring if there's no ready-modify-write happening.
    – pfo
    Jan 4, 2012 at 18:27
2

Given your usage scenario (small batches of users running mostly office apps in a VM environment), performance does not seem to be a critical factor in your decision. That obviously doesn't mean you should ignore it, but it sounds like redundancy is a higher concern.

With that understood, I would recommend RAID 6, or even RAID 5 with a hot spare. RAID 6 will double the parity calculation workload on your controller, but you will save on capacity over RAID 10. RAID 5 with a hot spare would provide additional controller capacity, but you run the higher risk of a second failure during parity rebuild (or god forbid an error in parity rebuild losing the whole array). However, If you don't change anything to your RAID 5 setup, you should at least add a hot spare.

The optimal RAID is really a risk/reward calculation that very much depends on your use scenario. If capacity isn't a concern, go with RAID 10. If you need to maintain capacity and aren't as concerned about performance RAID 6. If you absolutely need maximal capacity with some level of redundancy and performance RAID 5, but at least add a hot spare.

You might also like to look into things you can do at the server or VM level to add some tolerance to array issues.

2

Terminal servers are usually (with careful planning) mostly read-only, if the following are taken into consideration:

  • Move every user-related data off the server to a file server (terminal services profile, application data, my documents, desktop etc)
  • Use either file shares+mappings or something aka sharepoint extensively
  • Make sure you disable cached mode in Outlook (if Outlook+Exchange is being used). There are group policy templates for Outlook to prohibit the creation of offline files, including pst/ost. Redirecting Application Data won't help, as Outlook stores in the local hive.
  • Depending on the amount of RAM: Consider moving the pagefile on a separate Hyper-V datastore running in RAID1 if you expect the servers to run out of RAM from time to time

If you follow the above steps (and probably other steps I havent thought of), then RAID6 should be a excellent choice considering the read bandwith/latency.

1

Harddisks from identical batches tend to die according to a bathtub curve. This means that a second disk failure during a RAID rebuild is not as rare as it should be. Therefor I would recommend RAID 6 over RAID 5.

Or, if safety is very important: RAID 1 or RAID 10.

Regardless of what you use. Remember that RAID is not there to rescue your data. You have backups for that. RAID (1|5|6|10) is best used to keep your server up despite disk failure. And then after 5 PM you replace the failed drive.

RAID does not replace backups!

1
  • Absolutely! All user data is backed up on a nightly basis to tape. Thanks for your response.
    – JohnyD
    Dec 14, 2011 at 11:53
1

Sounds like raid 10 is unnecessary from a performance perspective. I've used raid 6 for up to 24 drives on lower usage storage arrays without any problems. I generally don't consider raid 5 if working with more than 4-6 drives.

Raid 10 does have the extra durability benefit as well so if you can eat half the drives that generally is always the best option.

1

You mention that RAID 5 is not safe enough, this means you wish to have double HDD failure tolerance. There are several ways to reduce that risk:

  • Reduce the time between hard drive failure and replacement. You are already taking this measure and do not find it sufficient.
  • Utilize RAID 10 (or 0+1), you lose half you disk space but eliminate parity calculations.
  • Utilize RAID 6 and eat the performance loss.

Note that comparing RAID 10 and 6 from a fault tolerance stand point is non-trivial. RAID 10 can theoretically survive half of its drives failing, if they are all on the same half of the mirror, however a pair of drives failing is enough to cause data failure as well.

EDIT: From a number standpoint RAID 6 is generally safer, as seen here.

1

Use Raid 15 - by mirroring between two DAS-boxes that are configured as Raid 5.

2
  • I think this is out of the scope, as he only mentions a single DAS shelf.
    – pauska
    Dec 14, 2011 at 12:44
  • If there was enough money for a pair of R710s I would dare to say that there should be enough money to avoid a single DAS as single point of failure as well. What if you need to update the firmware of the DAS-backplane?
    – Nils
    Dec 14, 2011 at 19:54
1

My suggestion is Raid 10/1+0. While Raid 6 will give you more usable storage in the end, you're going to take a pretty significant hit when it comes to performance, especially if you have a number of users writing things at once. Raid 10 gives you the best data security, and the best performance (1:1 read/write as opposed to raid 5's 1:4 and raid 6's 1:8 - meaning while a read action only has to be done once, every write action has to be done 4/8 times).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .