I'm far to be an expert in this area, so I need some light on this. I have a clean Windows Server 2012 Standard machine, where I need to install an SVN server, Team Foundation, and an Sql Server 2012. So far so good. The problem is that also I have to install a Domain Controller, situation that is not recommended to do in the same machine, as some people I have asked said. Some recommended to me that install the Domain Controller using a Virtual Machine. Is this a good approach? Wich VM software is the best for this? Virtual Box is an option or I have to use Hyper-V? Thank you very much!


As we do not know the load your various apps place on the system, we cannot provide a definitive answer about running all on one host. We would need more info regarding the RAM, disk configuration and processor(s) as well as number of users to give a better answer.

As far as having a physical DC. You will be placing a lot of services/Apps on that one host and will have a single point of failure for the domain. If the network clients or services are looking for services from the DC and it is offline as the host has failed, VM has carashed or because another VM is using too much of something (Network, disk I/O etc) then you may have issues. We tried this for a production environment and there were many issues. Adding a physical DC solved the issues right away. As noted, use a proper hypervisor and certified hardware for your VMs

  • This is for a development environment, with 10 users at maximum. The Domain Controller is needed for best Sharepoint and Team Foundation Server integration – Agustin Meriles Feb 21 '13 at 14:33

If you have to do all of this on a single server, I would install the Hyper-V role on the server and nothing else. Even better would be to download and install Windows Hyper-V Server (which is a separate, distinct product from Windows Server). Then I would create one VM for your domain controller (never install anything on a DC), one for your SQL server, and one for Team Foundation and SVN (or split them out).

However, having only virtualized DC's is a bad idea; you should have at least one physical DC. And since you should never install anything on a DC, this physical DC should be dedicated to only being a DC.

  • Thanks for your answer! I only would like to know what are the implications of having a Virtualized DC, why it's a bad idea? – Agustin Meriles Feb 21 '13 at 14:00

Putting a DC into a VM is okay, but only as long as you've got another DC as a physical server. If you don't, sooner or later you'll run into problems. Only do it if you're aware of all implications, which are manifold (Personally, for me, it's just not worth the effort).

The same applies to putting the VM DC onto the same machine, using the OS as a Host that hosts as all the services you just described. While doable, avoid it (except if you are using the machine just as a VM Host and have the other services running in a VM as well).

If you've got above conditions fulfilled, you may pick any virtualization solution, you won't notice much differences in this scenario.

Edit: Alright, alright, it seems that some clarification is in order since some downvoted:

  • About the requirement of a physical DC: AD is often a highly critical service, just like DNS. While one can completely virtualize these services, one must do so with great care and avoid the loop holes which lure there. I generally advise against it as a safeguard and additional protection, since a virtualization layer introduces additional possible failure points (and mitigates others) - as with any additional layer introduced. This includes human mistakes, such as making the virtualization layer dependent on services virtualized (seen enough of it). Completely removing virtualization however is the wrong conclusion. Choose a healthy mix. It will help when disaster strikes (and it will, eventually).

  • About any virtualization solution: Of course, don't use salesman-grade software like vmware player etc. But still, if you have a small environment (and it sounds like you've got one here), it's really not worth arguing over Hyper-V, vmware, KVM et al. Choose one thats easy for you to understand to setup and maintain.

  • -1 for suggesting that any virtualization solution is fine in this production scenario. VirtalBox is most certainly not fine, any more than VMWare Workstation would be a good virtualization choice for this scenario. – HopelessN00b Feb 21 '13 at 13:58
  • 4
    Why are people suggesting that there should always be a physical DC? We are in the process of getting a network infrastructure virtualized and have had several quotes/proposals from companies who are experts in this field - each proposal involves only two physical servers, which will be the hosts for the virtual servers, includng the Domain Controllers. Are you saying that in a professionally created virtualization environment there should be at least one physical server sat alongside that is a domain controller? – MrVimes Feb 21 '13 at 14:08
  • 1
    -1 for "but only". The only real implication of virtualising your Domain Controllers is ensuring that you have sufficient resilience and redunancy. Other than that there is no difference between a physical DC and a virtual DC. I agree that it's often easier / cheaper to chuck in a physical DC for peace of mind - but that's all it is! In most modern deployments if your virtual environment is down, then everything is down anyway. I'd give another -1 due to the points made by @HopelessN00b, too. – Dan Feb 21 '13 at 14:36
  • MrVimes, you may ask this as a regular question (as it's of general interest), or read my updated answer. @HopelessN00b et al, I clarified my answer. I'd appreciate if you'd re-evaluate your downvotes. Thanks. – Roman Feb 21 '13 at 15:38
  • @Roman I still disagree with your post, and maintain by downvote. Properly built virtualisation adds resilience and redundancy over bare metal – Dan Feb 21 '13 at 17:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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