Running Win Server 2008 R2 with Hyper-V role. Is it okay to have domain controllers inside a virtual machine with other virtual machines that are part of that domain? The host computer will not be part of a domain controller. Hyper-V is configured to delay the boot up of other virtual machines to make sure the domain controller starts first.
This is fine, but like any other environment, best practices are to have more than one Domain Controller for any given domain. Since you're virtualizing, you'll want each DC to run on more than one piece of hardware.
In VMWare you can make DRS rules so that the two DCs don't get vMotioned to the same physical box, I'm sure there a similar thing for Hyper-V. Or, if you're just using it stand-alone, pop up another DC somewhere outside of the virtual environment.
I've been doing it at my company for several years, and it's worked quite well for us.
The biggest suggestion I have is that you shouldn't do a P2V conversion of existing domain controllers. Instead, create a fresh VM with windows installed, and do a DCPromo on it, then decommission the old DC, remembering to move the FSMO rules.
Yes you can have domain controllers as virtual machines on a Hyper-V host. I would not recommend that they be your only domain controllers though. Physical machines are preferable for domain controllers in my opinion. Also, don't snapshot and restore virtual machine Domain Controllers like you would with other VMs. That can cause USN rollbacks and lingering objects.
So yes, you can do that. Definitely if it's a lab or development environment. But for a serious production environment I would suggest some physical DCs.