Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

If I was to build a virtual server for a small business (Hyper-V if specifics matter) that was going to be based on 2 primary disk arrays one being Raid6 and being Raid10, and did something along the lines of:

Raid 10

  • Hyper-V Server
  • Sql Server VM
  • IIS - Application Server VM

Raid 6

  • Exchange Server VM
  • File Server VM
  • Team Foundation Server VM
  • Locally stored backups (external backups of these exist also)

Would this be acceptable or would it face potentially serious performance issues? Would it be better off as 1 large Raid60 array for all the VMs and Server instead? Or would an entirely different configuration than my initial ideas be optimal?

Availability is the most important feature with performance being the second.

Edit: The reason for this layout would be cost, 1 PERC6i raid controller with 8 disks. Going with the assumption that I can only use one type of raid on each side of the controller.

share|improve this question

4 Answers 4

up vote 3 down vote accepted

To answer your immediate question, I would create a single RAID6 array using all 8 disks. The Perc6/i controller is very good at RAID6 (and 5) and the array will be so fast you can easily run all the VMs on it. When you split the disks into two arrays you reduce the number of disks in each array and that makes the arrays slower. I've confirmed by experiment that on the Perc (actually a Perc5/i) that there's a noticable speed increase going from a 5 disk RAID5 to a 6 disk RAID5, and I'd expect a 8 disk RAID6 to be faster still. I'd use a RAID6 because with 8 disks you increase the probability of a second disk failing while the array is rebuilding after the first failure.

There's a slight wrinkle because your 8 disk RAID6 is probably bigger then 2TB. Windows can't use all of a >2TB disk unless it's partitioned as GPT, and you can't boot from a GPT disk; it's a Catch 22. So create a small RAID6 array just big enough for the C: partition (64GB?) then create a second >2TB array in the unused space. If your total array size is <2TB ignore this paragraph!

But to step back a moment, I think you need to consider what your targets are and what you hope to achieve by using Hyper-V. We commonly run small VMs to run specialised apps that we don't want contaminating the main Windows install. For example we've run MS CRM and document management systems this way, and it works very well. Using VMs also makes it easy to move the "server" to bigger hardware if the load increases. However we don't normally virtualise the DC or file servers. Usually we'd have at least two servers, one DC/file server and a second to run the VMs. Occasionally, where money is tight, we've put Hyper-V onto a single server running SBS 2008, and actually this works very well as long as the VMs aren't doing too much.

JR

share|improve this answer
    
From what I read I thought SBS2008 didn't support running Hyper-V or were you saying it as Hyper-V running an instance of SBS2008 as a VM? –  Chris Marisic Jul 12 '09 at 19:39
1  
MS officially don't support running Hyper-V on SBS 2008, and indeed there are some minor wrinkles. However Hyper-V does work on SBS, and in fact works very well. Modern servers are so powerful that arguably just running SBS is a waste of resources. –  John Rennie Jul 13 '09 at 5:39
    
Good answer. One comment, RAID 6 is way overrated IMHO, and should not be used. For a good overview of why, see 3ware.com/intranet/pdf/RAID_6_TechBrief.pdf . My recommendation: Use RAID 0+1 (a.k.a RAID 10) if at all possible. Otherwise use RAID 5 or RAID 5 with a hot spare disk. RAID 5 with hot spare gives almost the same effective reliability as RAID 6, but is faster on writes. –  Jesper Mortensen Sep 9 '09 at 9:40

Mail data is typically lots of little transactions; you really want to store that on RAID10 rather than RAID6, too. If you only have 8 disks, the difference in how much storage you get from RAID10 and RAID6 is minimal, too.

share|improve this answer

One of the key things with Virturalization is machines per spindle and usage.

If the PERC can do 8 drives, one thing you can consider is doing 4x RAID 1, this would give you 4 drives and you can spread it out a little more. But I don't know the specifics about the PERC and if it can do that.

If you stick with the 2 seperate arrays, you would want to put the two heavy disk use VM's on the seperate arrays. Looks like you have this planned already, one being the Exchange server and the other being the SQL server.

The other thing to consider is your DC's. You will want two ideally and want them on seperate arrays as well. That way if you lose one array completely you don't have to rebuild your AD. If you don't have any other external machines already covering this part.

Since you didn't say anything about this then what I'd do is have the File server as one DC and the Team Foundation as the other. Then I'd swap the IIS & Team foundation server arrays are on. This puts one DC VM on each array which would be safer.

You're a small business, its not worth it for a SAN right now. Just complicates things for you when internal drives on a good RAID controller will be plenty. I support this type of customer as well. If one VM out grows the box and is hogging all the resources you can easily move it to a dedicated machine keeping it as a VM.

Also last thing, is I would consider using ESXi from VMWare, its also free and a much more mature product.

share|improve this answer

If availability was your most important feature, I'd be wanting to hear less about the specifics of the raid configuration and more about how this is being hosted on a SAN so that it can easily be failed over to another virtual server host box if one does a halt and catch fire. Just saying is all.

What is your rationale for this disk layout? If performance is the be all and end all then all VMs should be on seperate groups of spindles ideally, and certainly imho shouldn't be sharing disk space with the host OS itself.

If availability is an issue, then my comments earlier about shared storage aside, you'd (again) want to seperate the host OS disks from the guest OS disks to make recovering the host easier / possible without disturbing the guest OSes.

share|improve this answer

Your Answer

 
discard

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.