My standard demo rig has a separate virtual machine (VM) running my domain controller(DC), I then have a bunch of client and server VMs all of which belong to that domain and I spin those up for different demo scenarios such as Business Intelligence, System Center etc. However I have still broken a lot of best practice here for example my DC VM also provides DHCP and DNS, whereas my desktop expert Simon runs that in another VM albeit on the same physical server (We can only carry so much gear around with us!).
Other variations on this theme are:
- Running active directory alongside hyper-v on the host machine, definitely not great for production as per my post here,
- Creating a demo environment which has all of the services you need in one virtual machine, e.g. active directory, SQL Server, SharePoint, Visual Studio and office.
I mention this because there is best practice for domain controllers in KB888794 which discusses what you need to be aware when virtualising them. For example my DC will take longer to boot because it’s running DNS and it has to wait for that to come up before active directory can work to resolve names. A lot of it is common sense, but as with all Microsoft KB’s they are created when a the support engineers are asked the same questions again and again.
One final thought..
What is the future of domain controllers in a world of cloud based services?