Setting Virtual Machine Boot Options in Windows Server 2008 Hyper-V

One of the problems with server virtualization is that when you virtualize your servers, you are essentially putting all of your eggs into one basket. Imagine for instance that a physical server that is hosting a number of virtual machines drops offline for whatever reason. None of the virtual machines hosted by that server will be available until the host operating system is rebooted, and all of the virtual servers are booted. Fortunately, there are some things that you can make the process of bringing everything back online a lot less painful.

Automatic Start Action

Even if your host operating system isn’t normally prone to failure, it’s worth taking a look at Hyper-V’s automatic startup options for virtual machines. It’s inevitable that you will eventually have to reboot your host operating system as a part of the match management process. When those reboots do occur, it’s nice not to have to manually boot every single virtual machine that’s hosted by that server individually.

This is where the automatic start actions come into play. Automatic start actions are set individually for each virtual machine. You can access the automatic start actions by opening the Hyper-V Manager Console, right clicking on a virtual server, and choosing the Settings command from the shortcut menu. When you do, Windows will display the settings for the selected virtual machine. Toward the bottom of the settings list is an option called Automatic Start Action. You can see what this option looks like in Figure A.

setting_virtual_machine_boot_options-1

Figure A

Hyper-V offers you a variety of automatic startup options for your virtual machines.

As you can see in the figure, the automatic start options are divided into two separate sections. The first of these sections has to do with how the virtual machine will behave when the host operating system starts. You have the option of doing nothing (not automatically booting the virtual machine), or of automatically starting the virtual machine when the host operating system starts. Another option is to base the startup behavior on whether or not the virtual machine was running at the time when the host operating system was shut down. Hyper-V’s default behavior is to automatically boot any virtual machines that were previously running, and to do nothing for virtual machines that were not running when the server was shut down.

The other option found in the Automatic Startup Action section is the Automatic Start Delay option. Initially, delaying the boot process may sound like a bad thing, but in a Hyper-V environment, it really isn’t.

Remember that the whole concept behind server virtualization is that all of your virtual machines and your host operating system share a limited pool of server resources. If all of your virtual machines boot simultaneously, the machines will be competing for disk throughput and for CPU resources. This tends to greatly slow the boot process.

Adding a delay to the boot process allows you to make sure that only one virtual server boots at a time. It also gives you the option of making sure that virtual machines boot in a specific order. For example, if your server hosts an application server and a domain controller / DNS server, then you probably need to make sure that the domain controller and DNS services are available before the application server boots. Adding a delay to the application server would allow you to make sure that happens.

Automatic Stop Actions

It’s a little bit off topic, but I wanted to mention that just as Hyper-V allows you to set automatic start actions, you can also set automatic stop actions. As you can see in Figure B, you have the option of saving the virtual machine’s state or of shutting down the virtual machine automatically when the host operating system is shut down.

setting_virtual_machine_boot_options-2

Figure B

Hyper-V also offers automatic stop options.

This does a couple of things for you. First, it ensures that virtual servers are shut down gracefully whenever you need to reboot the host operating system (assuming that you don’t choose the Turn Off the Virtual Machine option). Second, it makes the process of rebooting the host operating system easier, because as long as you have set the automatic stop actions ahead of time, you don’t have to worry about taking the time to manually shut down each individual virtual machine.

Conclusion

Nobody likes to think about rebooting a host server that has a bunch of virtual machines running on it, but a reboot is sometimes impossible to avoid. When those situations do occur, setting the automatic start actions can make your life easier.