Setting up Hyper-V with a UPS

Setting up Hyper-V with a UPS

  • Comments 24

People have asked me how you go about setting up a UPS (Uninterruptable Power Supply) with Hyper-V.  This is much easier than it sounds.  The first thing to understand is that when you shut down the physical computer, the virtual machines will be automatically put into a saved state.  Virtual machines that were running when the server shuts down will be started automatically when the physical computer starts back up.

This all means that – for the most part – things “just work” when you connect a UPS and configure the management operating system like you would for a stand alone computer.

Depending on your environment – there are some configuration changes that you may want to make:

  1. Changing the automatic stop action

    As I mentioned, Hyper-V will save state any running virtual machines when the physical computer shuts down.  Depending on how much memory is assigned to the virtual machine, and the software installed inside the virtual machine, you may prefer to have the virtual machine shut down instead.  I have gone with this option on my server at home:

    StopAction

  2. Changing the automatic start action

    Only virtual machines that were running when the system was shut down will be started automatically.  If you are paranoid, like me, you can go in and configure essential virtual machines to always start automatically – even if they were not running when the physical system was shut down:

    StartAction

    You can also configure start up delays, to ensure that more important virtual machines are started first.

  3. Setting aside enough time for system shut down

    This one is critical.  It can take a while for Hyper-V to shutdown as we are trying to save state / shut down a bunch of virtual machines.  For this reason you need to ensure that your system starts shutting down with enough battery life left in order to make it through the whole shut down process.

My personal UPS story:

You would not believe, but living in north Redmond the power quality around here is lousy.  I often get strange power surges / flickers – and have to deal with half a dozen black-outs of one hour or more each year.  Needless to say I have lost a bunch of hardware over the years as a result of this.

A while ago I went out and bought a nice beefy UPS to protect my Hyper-V server and all of my networking gear.  To start with I just hooked up the power and confirmed that I could run for about 30 minutes before running out of power.  I connected the USB monitoring cable, but did not setup any monitoring software, for a couple of reasons:

  1. I got an APC UPS.  I love these guys for their hardware – I hate them for their software.  For that matter, I do not know of any UPS provider where I would be happy to install their monitoring software on my servers.
  2. I am lazy.

Recently, when I was performing some hardware maintenance on in my Hyper-V server I decided to go and have a look in the device manager to see what Windows thought about my UPS.  Much to my surprise I saw that Windows had detected the presence of a UPS battery with no intervention from me:

device manager

Once I noticed this I decided to have a look around – and I discovered that Windows had enabled standard power support – and was acting like my server was essentially a really big clunky laptop.  I had a battery icon in the task bar that accurately reflected the amount of charge in my battery, and when I disconnected power from the UPS – Windows immediately knew about it.

Next I opened the power policy settings and configured my system to get a low battery alert when the battery was at 75% charged, and to shut down when the battery reached 50% charged:

power plan

I have since tested this – and everything works perfectly – all with no need for anything other than the “in-box” capabilities of Windows Server 2008 R2.  Neat!

Cheers,
Ben

Leave a Comment
  • Please add 1 and 8 and type the answer here:
  • Post
  • Can Windows Server 2008 R2 detect a APC UPS connected over serial and have the same power control fuctions as USB? (or is that a special feature of USB?)

    Thanks

  • To connect UPS to a MS Windows workstation via USB, be sure taht UPS supports HID protocol. In this case windows automatically recocnize the UPS and you can find it in windows control panel. Miha, also Socomec UPS support HID (nt only APC!) but depends on the UPS model.

  • You say you've tested this - are you sure?

    I've configured my server in the same way, albeit using the low battery action to shutdown the server.  Whilst this works, it shuts down the Hyper-V server immediately, without first shutting down the running virtual machines.  If I shutdown the server manually, it all works as expected.

  • Toby Groves -

    Yup, it is working fine here.  I do not know why you are seeing the behavior that you are seeing.

    Cheers,

    Ben

  • Another Method for handling APC UPS units is provided by an open source project APCUPSD. They support Windows, Linux and Mac systems. Just Bing or Google for APCUPSD at the Source Forge site you will find source and binary code for USB 3.0 USB 2.0 and USB 1.1. The main reason for my using their software is they provide remote monitoring via PHP script and maintain logs.

    It has been very easy to do "forensics" on why a local or remote system went down. This has worked for my Linux and Windows systems.

  • I'm seeing the same behavior as Toby using a Dell PowerEdge 2900 server with a CyberPower LCD UPS. The UPS stays up and has plenty of power left, but the server shuts down way too soon when initiated by the critical battery action, resulting in a dirty shutdown for the VMs I'm running on the box with Hyper-V.

    Anyone else seeing this or have a potential solution? I saw references to this behavior in 2008 and it was supposed to have been fixed in 2008 R2.

  • This is unbelievable IMHO: social.technet.microsoft.com/.../16e31644-fadb-4d05-9da0-0c0ba4e1ae1e

  • Just got an APC USB UPS... and (on Windows 2012 Server) I am also getting the "hard shutdown" behavior. There's power left, but the server shut down in a few seconds, not letting HyperV save states, etc...

  • I too am seeing this hard shutdown issue in Windows 2012. The server shuts down before completely shutting down the VM's

Page 2 of 2 (24 items) 12