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:
- 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. - 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. - 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. - 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?). - 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. - 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. - I do not have enough storage space on my home server.
Yup. Need more storage 🙂
Cheers,
Ben
I have a similar setup. Main machine is Q6600 with 8 gigs of ram. Server is an E6600 with 8 gigs of ram. Running Hyper V on the server with the following setup.
Note: All Hard Drives are mirrored raid sets
System Drive 250 GB(C and D Partitions)
Data Drive 1 750 GB
Data Drvie 2 750 GB
I am running the following
Domain / DNS
TFS Server
SQL 2008 Server
Oracle 11g Server
Windows 2008 Web Server
It is very functional. MS did a good job with Hyper V.
Great post!
How many virtual memory do you allocate for MED-V Server so that it runs well?
If you want to manage this machines even from your mobile phone have a look at hyper9 virtualization mobile manager. Testing it at the moment.
Cheers,
Bjoern
do you have a lot of free time on your hands, or do you really have a need for AD, DNS, DHCP,MED-V, SCOM and SCVMM at home?
my home setup includes a Win7 Media Center PC and cloud backup services (which used to just be called online backup services 😉
Bjoern –
The MED-V server only has 1GB of RAM, but then again – it only has one user. Me 🙂
I have tried using Hyper9 VMM but have not been able to get it to work probably.
nzregs –
No, I do not need all of this, but I do dedicate time to using our software "hands on" so that when I talk to server admins I can actually have some level of credibility 🙂
Cheers,
Ben
My suggestions:
1) Can’t you use a physical drive as a virtual drive? Thus you could use the physical drive in your VM instead of using a fixed VHD on the physical drive. It would make any future disk almost full errors useful as well.
It would also simplify things as well, maybe even speed up disk access slightly for the VM? Probably negligibly.
Switching over would be a pain though, since you’d have to move files around a bit.
3) Once you do 1) you’d have access to the free space on your other drives to figure out how to organize things.
4&5) If you do 1) you have an opportunity to make a good backup system, or at least make a single backup then (since you’d have to move the files somewhere anyway so you can remove the VHD and put them back).
7) This would make 1) easier too. 🙂
Hey Ben,
Do you have any suggestions for an antivirus product for this sort of setup? I’ve also got a Windows server running lots of VMs, and currently (gasp!) don’t have any AV on the parent partition. I know I should – but it seems like the price jump from client to server AV is hideous.
I’ve got access to Forefront if I want it, but it seems like overkill for my situation – just wondered if you have any suggestions.
Cheers
John
Ben –
That’s clear that you are the only MED-V user 😉
Good to know that it works with only 1GB.
Think I have had the same issue with Hyper9 VMM but I mailed with the guys and get a solution (some hours ago) will test it.
If it works I let you know.
Cheers,
Bjoern
I guess that your server cannot stream more that two simultaneus stream and it’s a single point of failure.
I have choose to use more on the networking side (router that have DHCP, Firewalling and other identity and function) and NAS function (Synology DS407e w/RAID5) to have my data always available and secured.
All my computers does backup on the NAS on a scheduled based.
I guess this configuration is more stable and reliable that ones you are using in your house.
Think about you upgrade the parent partition and something broke… you cannot see your favourite media that reside on a VM….
Just to add I don’t have any data I cannot afford to lose on a single drive. All drives must be mirrored in my house. :o). Any critical data not on the server is backed up to 1 of 2 500 GB USB drives attached to the server. The server automatically backups specific folders online when their contents change.
FYI as a rule I separate my VM’s according to usage. In my post above I showed the following. I’ve added the VM’s to show how they are dispersed.
System Drive 250 GB(C and D Partitions)
– Domain /DNS
– Data Drive 1 750 GB
– SQL 2008 Server
Oracle 11g Server
Data Drvie 2 750 GB
– TFS Server
– Windows 2008 Web Server
This allows me to keep most of the disk I/O separated when performing functions. The biggest user I’ve noticed is the TFS server as it is running the following. I had to dedicate 2.5 GB of ram to it for it to run smoothly.
– TFS
– TeamCity
– SQL 2005
I have some shared directories on my data drives as well. On one drive I keep some personal stuff and the other all of my MSDN and development stuff (OS images, etc).
As a rule anything I can re-download off the internet without hassle I do not backup other than having it on raid.
Ben,
Have you looked at a Mozy type poduct for Backup? 60 bucks a year for UNLIMITED data (Home use). Backed by EMC.. Sounds like a good deal! 🙂
Take Care.
Carlo.
There is obviously a pressing need for more hardware here. With your job, how can you find it acceptable with a system at home that you can’t test live migration with? =) You should add an i5/i7 system (or one of those new 6-core AMD:s?), with an SSD as main/VHD disk. Add 3+ pcs of 2TB drives for safe raid 5 future-proof storage. That should take care of most of your problems.
No sorry, I have no clue how to get the wife-unit to see the logic in the above.
So how about a hyper-v high availability cluster? With just one more decent-spec’d machine and one more smaller machine, you could run another 2008 server and cluster the two using the small-ish machine as a Windows Storage Server 2008 iSCSI-target for shared storage. RAID 5 the WSS machine and use that to share out your VMs. I have the same setup at work with two Dell Optiplex 755’s as nodes and an older GX620 as the iSCSI target. Works a treat as a lab setup, considering replicating the whole thing for home use as well…
Possible mitigation for the single points of failure…. Although Windows Server isn’t "officially" supported as a client of Windows Home Server, it works just fine. I haven’t tried restoring a DC, but the DC’s data is ultimately still files on the disk.
Install the Connector on the parent partition, then go into the Backup Configuration and exclude the drives/folders which contain the WHS data and (optionally) the WHS system partition.
My question is about a Windows 7 Machine in this configuration.
I really love media centre with Windows 7, which I currently use my Xbox360 as an Extender.
I would really love to build this kind of setup at home, and have a Windows 7 Client in there for Media Centre extender.
But Last time I tried, the performance to Xbox360 was terrible, and media centre was unusable.
Do you have any experience with this?
Ben,
I don’t have the number of drives you do, but I do have almost the same configuration, Core 2 Quad (Q6600) with 8 GB of Memory and a single 750 GB drive on my lab server running Microsoft Hyper-V Server 2008 R2 in workgroup mode. I also love the Home Server, but I purchased one of the Hewlett Packard units and it works really well. I put a 1.5 TB drive in the server and attached a 400 GB drive in addition to the 500 GB included drive. The couple of things that I like about the Home Server is automatic backup and remote access with a URL rather than trying to remember my external IP address.
Like many here, I run a domain at home. Also, like many, I struggle to find a usable backup solution. Windows Home Server is attractive but works only in a Workgroup. I’ve never been able to figure out if there’s a workaround that would allow WHS to reach out and back up the other boxes that are members of my domain.
My backup at present for what it’s worth is a 2 TB WD external disk connected by eSATA. Fast, and better than nothing.
Thoughts anyone?
Richard
Re. AV.
I have a similar setup with Untangle placed in router mode which can also handle the DHCP and DNS but more importantly give you good line of defence from the outside in. Therefore requiring no additional av/security software which would add further processing devaluation.
If you start adding mobile laptops/usbs then i would consider av on those devices but Untangle would be best suited for your setup….My 2cents worth.
Oh…i have mine running on a dedicated server next to my main rig but you could virtualize Untangle or create an XP VM then run Untangle in Windows mode if you’re worried about space etc.
I have recently setup a similar Hyper-V in my house, but was able to buy the server components so I put in a Q9950 Quad (2.8) an had three hard drives running Raid. Hence as to your bottleneck on C: I don’t experience that…
I recommend that you look into that if your board can handle it. If not, its always fun to have an excuse to build a new machine. 😉
My excuse was that the company I work for would not give me a virtual to run Exchange development, so I bought the components and built the system. The mother board was Asus and I wasn’t sure it could properly exploit virtualization of the CPU for Hyper-V. Until I installed it.
My router/gateway handles the DHCP so I have to tweak the DNS settings on all virtuals so I can see the Main AD server, but that is no biggie…
Thanks for the article.
this is funny… because whs doesnt use any standards for disk management so you lose the d: drive your done
How do you install WHS in Hyper V? The installation step that requires that you agree to the EULA seems to require a mouse…and Hyper V won’t let me use my mouse in the VM until the integration components are installed.
Ben,
There’s a simple thing you can do to provide fault tolerance for your AD (you having 1 DC, and EVERYTHING on one server, makes me nervous). Use the virt solution of your choice – I expect Windows Virtual PC on W7 is the simplest – to create a small VM on your client as a second DC / DNS / DHCP in your domain. Bring it up every once in a while (certainly less than the tombstone lifetime of 180 days) to keep it in sync with your main DC. If you have a server problem, or simply have to reboot for hotfixes, bring up your client VM. That’s what I do.
I modified my setup this weekend. Take a look here for details.
http://tsells.wordpress.com/2009/11/07/setting-up-windows-home-server-in-a-vm-on-win-2008-r2-2/
Can someone please give me some highlevel direction. I am making an attempt to setup a Virtualized Server environment in my house. I have a Server with a Intel Xeon E5520 Processor, 8GB of memory, Controller supporting RAID 1 or 5, three 250GB Hot Swap Hard Drives, Single Port NIC.
I plan to set up a Web Server, TFS, DNS, SQL Server, Domain Controller. I may also set up Windows Home Server for features available for my home computers. Ultimately, I’d like to also set up the Web Server Front End in a DMZ.
I have Windows Server 2008 64 Bit Enterprise. Can someone please tell me if my hardware is sufficient? If not, what do you suggest I pick up? Any information or tips in terms of topology and hardware/software recommendations is very much appreciated.
Thank you,
Oscar, I’d suggest getting a dual port nic as an add in, so you can work with additional adapters should the need arise, (i.e. running a firewall in a VM with a dedicated external/internal nic….
Hi Ben – What about having a DC installed in the parent partition? Is this supported by Microsoft? I know it's not recommended, but as it works fine – will premier support it? 😉
Thanks
Mike
Ben,
Have you changed this setup in the past 2 years? I'm setting up a new environment and looking for good examples.
Thanks,
Todd
I also tried to use Hyper-V with Windows Home Server but I found I had trouble with UDP traffic being unable to traverse the Virtual switch, have you found a solution to this or has it not been a problem for you? Perhaps my NIC should be swapped out for a move VM friendly one?