Hyper-V is definitely NOT for workstations

EDIT: The multimedia performance problems described below turned out to be a display driver issue with nvidia having some kind of conflict with Hyper-V. Downgrading to Windows XP drivers cured this for me.

Also, the very minimal performance testing I did previously (start-up time of a Windows XP VM in Hyper-V) was a bit apples-to-oranges as I installed a fresh copy of WinXP under Hyper-V. Since I already reinstalled Hyper-V to test out the display drivers fix, I decided to do a better comparison. This time I converted my VMware VM to a Hyper-V VM (minimal services set to start and all) and found startup time on par with VMware workstation, maybe a few seconds faster.

My only roadblock to using Hyper-V now is the lack of wireless NIC support.

I’m at a point in my current project where I need to test out automated installs on different OSes at various states (totally clean, .net framework installed, our software already installed, etc).  Having just moved to Win2k8 on my workstation, I decided to give Microsoft’s new paravirtualization product, Hyper-V, a shot.

I’m a pretty big VMware fan.  I use VMware Workstation on a daily basis and also used their free VMware Server product before they switched over to the clunky web-only interface in v2.  Microsoft’s Virtual PC and Virtual Server offerings never compared with even the free VMware Server, as far as features and performance were concerned.  It was even worse when you take into account Workstation’s killer snapshot management.  Hyper-V (essentially $28 when bundled with Win2k8) was supposed to bring everything much more in parity with VMware’s enterprise offerings.  I was excited to try it out.

That didn’t last long though, as I soon discovered that Hyper-V doesn’t support binding to wireless NICs.  There are some painful workarounds involving binding your wireless NIC to the virtual NIC, or using ICS on your wireless NIC to share it out to the virtual NIC.  Both are kludgy and neither were very stable for me.

The real killer though was how much host performance suffered.  When the Hyper-V role is installed on Win2k8, the hypervisor stack is installed underneath the host OS stack and the host essentially becomes a virtualized environment, just like any other VM.  This is great for the server environments that Hyper-V is intended for, but for a workstation where you want interactivity, it means pretty noticeable performance degradation.  Videos that would normally load up and play instantly would hang for 5-10 seconds before playing, and even then, the audio and video would stutter for the first few seconds.  Performing other activities involving reasonable disk I/O (such as copying files) would make the audio and video stutter more.  Scrolling applications, which are smooth without Hyper-V, are jerky when virtualized (reminded me a lot of scrolling on a remote desktop session).

Granted, Hyper-V isn’t designed for workstation use, just like Win2k8 server, but for IT pros/Developers who have switched toWin2k8 for their workstation regardless, stick with VMware.  It provides more features and better host performance.  Guest performance seems remarkably better as well (a WinXP VM that takes 13 seconds avg to boot to a desktop under VMware took 24 seconds avg under Hyper-V).  I’m not really sure I see the benefit Hyper-V provides, at this point.

Error 1079 and 1006 after an AD domain rename

After having some DNS forwarding issues with my internal dev domain and my external domain name, I decided to rename it from dev.bluey.com to dev.local.

Renaming an AD domain isn’t as big a deal as most people make it out to be.  The rendom.exe command takes care of most everything for you.  I did all the usual rendom /list, rendom /upload, rendom /prepare, and finally rendom /execute to actually kick off the domain rename.

I noticed after rebooting the DC, it hung for a very long time at “Applying Computer Settings…”.  I had the same issue with my lappy after joining it to the new domain, it would hang at “Applying Computer Settings…” during boot.  I kept seeing 1079 and 1006 errors in the event log.  gpupdate.exe showed that my group policies were refusing to apply.  dcdiag.exe spewed back more of the same.  Out of desperation I tried reloading the gpo schema with dcgpofix.exe but still had the same issue.

In the end, I realized I forgot to actually FINISH the domain rename.  A quick rendom /end, gpfixup, and rendom /clean and everything worked like magic again.  So in case you’re dumb like me and forget to complete the rename, there ya go…

SharedView

Been cranking on a new project. A coworker asked if I had SharedView when we were doing some knowledge transfer. I’d never heard of it but downloaded it and finally got a chance to try it out last night and it is AWESOME. If you regularly get calls from relatives that start off “I’m on my computer and I’m trying to…”, you NEED this utility. Where “Remote Assistance” falls flat on its face, SharedView shines.

We used it last night to track down some code issues. The session host is able to share a single application or their entire desktop to all other participants (up to 15) in their session. Initially the session host controls the mouse and keyboard, and other participants get a color-coded read-only mouse cursor. When read-only participants click on things, it draws a circle around their cursor to draw attention to it. The session host can easily hand over control to another participant (and just as easily take it back). There’s “handout” functionality if you need to exchange files and it has minimal chat functionality, but we mostly used IM to talk. I was hosting the session, but the other participant said performance was fast when viewing, and a little bit slower when controlling but nothing major.

Most importantly, setting up a session is pretty painless. It automatically generates a random password for your session and populates it into a link you can IM/email to other users to join in. That’s about all there is to it. Like most everything Microsoft now-a-days, it does authentication based on a Live account, so you’ll need one to have one even to just to watch a session.