Hyper-V in my House

I often chat to people about how I use Hyper-V in my house – so I figured that I should write it down for all to read. 

At the moment I have a single server in my house.  It is a single processor quad-core system (Q6600 processor) with 8GB of memory.  This server is kept in the mezzanine space under the stairs in my house.  I have gone a little crazy with this space and have setup a basic raised floor with cooling and a beefy UPS.  It is a very small space (I cannot stand up in there) so I try to do as much remote management as possible.

At the moment the system configuration looks something like this:


I used to run this system with Windows Server core in the parent partition, but I am currently using a full installation of Windows Server. 

The main reason for this change was to make it easier to troubleshoot the system when I break something. 

As this is the only server in my house – it fills the roles of Domain Controller, DHCP server and DNS server.  This means that when it is having problems I often cannot authenticate to it from a remote computer, which in turn means that most of my troubleshooting is done from the physical console.  This is much easier when the physical console has a full graphical user interface, and not just a command line.

I also used to run my Domain Controller / DHCP Server / DNS Server in a virtual machine, but I know run them in the parent partition (you can read a discussion about Domain Controller configuration options here).

The reason for this change is that I want to be able to do remote troubleshooting if something is wrong.  But as I have already alluded to – I cannot do this if the Domain Controller is down.  If something does go wrong with the system (either in hardware or software) that stops virtual machines from running – the parent partition is usually still functional.  Putting the Domain Controller there means that I have a higher chance of being able to do remote troubleshooting.

All that said – my setup is by no means utopian.  The main issues that I have at the moment are:

  1. I have yet to get the behavior out of System Center Operations Manager that I want.

    So far, my experience with System Center Operations Manager has been one of fixing a long parade of error events that I do not particularly care about.  At the moment it is telling me that my Hyper-V server is “red” because I have a bunch of drives that are almost out of space.  This is expected in my case, because these drives are filled up with fixed size virtual hard disks.

    Not a show stopper – but it means that I am constantly having to double check error events.

    I have not given up on System Center Operations Manager yet – but so far it has been more irritating than useful for me. 

  2. Monitoring my parent partition remotely is a pain, because it is a Domain Controller.

    The biggest thing that I want to be able to monitor remotely is the state of my hardware.  I have set this up before when my parent partition was not a Domain Controller.  But now that it is a Domain Controller I am finding many cases where it is either impossible to do remote management, or you need to follow different (poorly documented) steps to do so.

    At the moment I find that I often fall back on just using Remote Desktop to connect to the parent partition, and checking things manually from there.  I really do not like doing this.

    This one issue is making me reconsider the whole decision to put the Domain Controller in the parent partition.

  3. C:\ is a performance bottle neck in my server.

    I have a bunch of virtual machines running on my system drive – which is a general performance (and best practice) no no.  It does not bother me too much – but I have noticed performance issues with this configuration.

    I am debating about what to do about this.

    Top on my list of ideas is to move C:\ to a set of mirrored disks.  This will help read performance, and would also help with the next point too.

  4. C:\ and D:\ are single points of failure in my system.

    I love Windows Home Server for many reasons.  The biggest one is how it manages data redundancy to protect me from disk failure.  Over the last couple of years I have had a number of disks failures – and thanks to Home Server I have not lost any data.

    Unfortunately, if either the C:\ or the D:\ were to fail, I would be in a lot of pain.

    I could recover from D:\ failing with no data loss, but it would be a pain to recover from.  Losing C:\ would involve data loss (did I mention that C:\ is the oldest disk in the system?).

  5. I do not have a good backup story.

    Leading on from the previous point – I do not have a good backup story for this system.  In fact, I do not have a backup story at all.

    I really need to do something about that.

  6. I have to bring everything down to do anything with the hardware.

    Every time that I need to reconfigure the hardware in this system, I have to bring everything down.  This does not happen too often, but when it does happen it is a big pain.  This also keeps me from putting my media center files on my home server – as I do not want to have the rest of the family mad at me if I need to reconfigure the server for other reasons.

  7. I do not have enough storage space on my home server.

    Yup.  Need more storage 🙂