We are lucky today that virtualization is a technology mature enough to run critical systems such as domain controllers, DHCP Servers, DNS servers, and management systems. These are the basic parts of the infrastructure that need to be in place before anything else can function correctly, regardless of the level of virtualization in use. To entrust these components to run as virtual machines is easy, but to ensure that they are always online is a finesse practice point.
I was reminded of this recently when I had to shut down the entire virtualization environment for an entire facility’s planned power outage. In this environment, both vSphere and Hyper-V are in use, and by design, one manages the other. Specifically, the vCenter Server runs on a Hyper-V VM and the Microsoft System Center Virtual Machine Manager (SCVMM) system runs on a vSphere VM. Take a moment to get your head around that, and it will make sense.
While this example is a reflection of a specific environment I am working with, the details may apply differently in other situations. But in any virtualization environment, we need the core infrastructure up first. This includes systems like domain controllers, DNS servers, and management systems like VMware vCenter Server or SCVMM as well as any associated database servers.
For my specific recovery situation, the first system online was a Hyper-V host that had the domain controller and a few other critical systems. The network and storage systems were brought online, and at that point the one Hyper-V host was the only operating system online. But, with the domain controller offline, starting up the rest of the environment isn’t very feasible. The fix is easy — to make a critical VM start automatically on Hyper-V, even if the host is managed by SCVMM (which may not be online either).
Within Hyper-V Manager, the option to start a virtual machine automatically on boot is an attribute of the virtual machine itself (not a property of the host like it is on vSphere). Figure A below shows a virtual machine set to automatically start up when the Hyper-V host boots up:
Click to enlarge
A VM can also be given a startup delay (number of seconds) to help it maintain any sequencing that you may be concerned about. This can apply to subsequent virtual machines as well.
Having everything start up in sequence is critical with virtualization, especially if all the critical infrastructure components run on VMs.
What other startup tricks have you used in Hyper-V virtualization? Share your comments below.