Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

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

This question already has an answer here:

Our company is getting ready to upgrade our infrastructure by moving away from physical machines, and into load balanced VMs. We are trying to decide how many VMs we need, and I am curious how others separate their servers. We will be running Exchange,AD,SQL,IIS,Print Server, and alot of internal license services all on 2008 R2 OS's.

Should we put each service on its own VM, or keep some of them together if the overhead is low(such as AD). What are large companies doing in regards to this? I looked for some best practice docs but couldn't find anything useful outside of SQL.

share|improve this question

marked as duplicate by Lucas Kauffman, Michael Hampton, Helvick, TheCleaner, mdpc Feb 8 '13 at 2:42

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

This should probably have been part of the "should we virtualize" discussion... – ceejayoz Feb 7 '13 at 17:48
If you're putting a single VM on one physical machine, then what's the point of virtualizing? – Lucas Kauffman Feb 7 '13 at 17:49
App into a VM, App into a VM, lather, rinse, repeate. – t1nt1n Feb 7 '13 at 18:00
I mistyped the question, there will be multiple VMs on each server. Yes, it wouldn't make sense to run only 1 VM per machine except for quick failover and speedy recovery. – Lee Harrison Feb 7 '13 at 18:38
Well, the more guests you have, the more resources you're using for just extra operating system processes. This is not much different from capacity planning for physical servers - you have to figure it out on an app-by-app and server-by-server basis. You just have some more flexibility compare to a non-virtualized environment. – mfinni Feb 7 '13 at 18:45
up vote 2 down vote accepted

Licensing is one factor in making the decision, certainly. For many people it ends up being the major factor because of the potentially immense cost. Microsoft's updated Windows Server 2012 licensing makes these choices different than prior versions (not better, just different).

Another factor is separation of security concerns. I'm one of these old "stick in the mud" paranoid security types that believes that you don't mix VMs of different security concerns on the same physical host computer. There are too many side-channel attacks possible to exfiltrate data from a more secure VM to a less secure VM, let alone attacks against the hypervisor itself.

Most applications today are agnostic about virtualization. You should be more concerned about being able to provide the necessary RAM, CPU cycles, IOPS, and I/O bandwidth (to storage and to the network) than about the application's suitability for being run in a VM. Obviously, if you're running older applications then you should probably keep this in mind.

share|improve this answer

Aside from licensing concerns, you should generally attempt to keep your services separated out to provide for better stability and easier management. Exchange and SQL should definitely get their own VMs. Typically you'd have your print server on a DC or file server, not by itself.

As Evan said, it's far more important to make sure the VMs have sufficient resources available to them.

share|improve this answer

Of course the value of Virtualization is you can distribute roles across as many instances as you need. IMO you asked a general question so I will try to give you a general answer.

If you are looking towards windows Virtualization consider 2012 as the Host hypervisor. Economics and ease of management are my first thoughts, reliability is high but debatably not as high as competition.

If you license the host with datacenter edition you should be able to run unlimited Guest win VMs. W/o worrying about licensing you could spin up a VM for any Role. Monitor the performance of the guest and host, then distribute your loads evenly across the hosts. 2012 makes it far more easier "live migrate".

If you are new to virtualization make sure you have the storage infrastructure to support your needs. Also, consider it a "best practice" to keep your active directory PDC on reliable physical hardware. Not required, but seriously decreases potential for AD related issues.

Hope this helps, if you need more specific answers just ask more specific questions.

share|improve this answer

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