Friday, December 7, 2012

Hyper-V 2012

Like most of us these days, I am trying to get the most out of a limited IT budget.  I run three physical servers, enough for development and proof of concept evaluations. Their host OS environments change as often as new hypervisors appear.   When the latest version of Microsoft's Hyper-V 2012 server became available I decided to try it out.

This release is a free, slimmed down version of Windows 2012 with Hyper-V with minimal GUI suport.  In fact, you will want another machine (Window 2012, Windows 8 or System Center) to handle the Virtual Machine monitoring and management).  There are good reasons for this.

  • Security - in the world of the public cloud, you don't want datacenter admins peeking into your corporate data.
  • Performance - All that graphic fluff costs memory, disk access (time), power, cooling and cycles.
Some really nice features include a better High Availability option - clustering no longer requires a shared data segment.  But to get the full details, you can go to these links: 

http://blogs.technet.com/b/keithmayer/archive/2012/09/07/getting-started-with-hyper-v-server-2012-hyperv-virtualization-itpro.aspx.

http://technet.microsoft.com/en-us/library/hh833682.aspx

I have been doing long-term evaluations of Citrix Xen and VMware ESXi for the last several years.  With this new Hyper-V release, I decided to to add this to the mix.  After several weeks of experimentation, I ported my development environment (about 10 virtualized servers - 2003 and 2008R2) and haven't looked back.

What I liked:
  • Improved Networking
    • virtual switches
  • Improved Security
    • By removing GUI support (among other things) it becomes harder for datacenter workers to steal data.
  • Better performance
    • While slower to startup then its major competitors, once the virtual machines are up and running, and an app or service accessed for the first time, user perceived performance was much better then competitors.
  • Better resource management
    • Dynamic memory permitted better resource planning and allocation.
    • Processor resource management is now on par with VMWare (personal opinion).
  • Ease of setup
    • Total install time was under an hour.  This included setting up SAN based drives for the virtual image storage.  (Required significant usage of diskpart command and net share).
  • Scalability
    • Significantly larger memory and processor allowances than competitors for free product version:
      • 64 virtual processors per virtual machine.
      • 1 TB per virtual machine.
      • 64 TB per VHD.
      • 320 logical processors on the computer that runs Hyper-V.
      • 4 TB on the computer that runs Hyper-V.
      • 1024 virtual machines per host server.
  • Migration
    • Live migration.
    • Multiple concurrent migrations permitted in a clustered configuration.
What I didn't like:

Refused to reconnect to iSCSI stores after a reboot.  Had to go in and manually disconnect and reconnect to the SAN (about a 10 second process) after every reboot.

It didn't matter that it had been told to save the settings, or whether the connection was set up as a default or custom configured (exact initiator and target port specified, and initiator selected).  Likewise, setting up service dependancies (this should be an automatic component of the ISCSI process guys) didn't help.  However, as soon as I did the disconnect and reconnect, the drives came right up.  I note that this problem, which didn't exist with initial releases (around 2003), has been reported by a lot of people with some variation since Windows 2008 came out.  My guess, given that it isn't a universal problem, is that it is specific to the environments in question (non-HBA), but after doing an extensive web search, I haven't found a solution that works.  I do wonder if it has something to do with the added IPv6 support.  Fortunately, I do not recall seeing an instance of this where HBAs were employed.

With this cavaet, I would heartily recommend evaluating this platform for virtual machine hosting in your lab, if not an iSCSI based production environment.  The base features now rival that of more expensive competitors and management is also simpler.


Windows 2012 Remote Desktop Services

I haven't had much time to write lately as have been working on a major project.  But while performing recent evaluations for the project, I was surprised by my findings and thought they might be useful to someone else, hence this posting.

Windows 2012 now provides several flavors of VDI, depending on your needs.
  • Traditional VDI with a minimum single server footprint supporting multiple sessions for smaller or less resource intensive environments.
    • Small physical foot print - with Windows 2008, we employed this for a client as a single virtual machine for 40 users.
  • Advanced VDI employing multiple servers.  Best for very large scale. highly available or resource intensive environments.  Servers:
    • Required
      • Connection broker (Physical or virtual)
      • Web Access (Physical or virtual)
      • Hyper-V Host (Physical - either Hyper-V 2012 (free) or Windows 2012 Server with the Hyper-V option installed).
    • Optional
      • Gateway (Physical or virtual)
      • Licensing Server (Physical or virtual)
Likewise, some new or improved features:
  • RemoteFx
    • improved device transparency (USB).
    • improved 3-D graphics processing.
    • Multitouch support
    • Better performance over a wide range of network connections for the entire user experience, including video.
  • Single sign-on

I started experimenting with Windows 2012/8 VDI just over a week ago.  The first step was to define the server set to be employed,.  Currently there are two options, an all-in-one single server option and a three server option.  I decided to start with the 3 server option as this appeared to be the most scalable choice.  The servers required were:

  • Eval-CB - Connection Broker (Virtual)
  • Eval-WA - Web Access (Virtual)
  • Eval2012-HV - A Hyper-V 2012 server (this is the free version of Microsoft's 2012 Virtualizaton Host server)
Found several very good step by step guides on this (here is one: http://blog.itvce.com/?p=1569).  Some articles had you installing application support on the Connection Broker server and IIS on the Web Access server, but this is not required with the RTP release.  Even with the guides, there were some issues (user lack of sleep or incomplete documentation), and I had to restart it a number of times before everything worked according to plan.

The security environment was my 2008R2 development domain.  This caused some problems when I decided to apply roaming profiles later in the process, but I eventually found a solution to this. 

A summary of the process:
  1. Created the 3 servers.
  2. Assigned static IPs, and implemented manual DNS settings.
  3. Set the Time Zones (all)
  4. Joined the servers to the domain (all).
  5. Added the personalization feature (CB, WA).
  6. Configured the desktops (CB, WA)
  7. Started the Server Management process
  8. Collected these servers in the All server management view
  9. Selected the create a RDS option.
  10. Followed the wizard selecting the three server solution.
  11. Verified all the options and let it run.
  12. After reboots, ran the server manager again to set up the collection.
  13. I had previously set up a windows 8 template so I chose this option.  There is a wizard option to create a template employing an iso of the windows 8 media disk.  The template must be sysprepped before use by the collection builder process.
  14. Set up each desktop to start with 512M of memory in dynamic mode with a max of 1024M.
  15. Experimented with the user profile options (setting up the user profiles here as opposed to in Active Directory).
At this point it just ran, but there were issues:

Issues
  • Access website Certificate errors - expected and not a problem.
  • Profiles weren't functioning (I had to set up the profiles directories in the collection setup, the 2008 AD options didn't work.).  Also unchecked the reset on exit box in collection setup.  Make sure that the shared datastore directory where you store the profiles has the appropriate privileges (shared as full access for all (domain) users).
  • Connection to the RDS website was spotty.  Had to go into the Virtualized servers and set their power settings to High performance.
  • Also make sure that the Link Layer Topology Discovery service is started.
  • Had to reboot all the servers after creating the OU for the RDS user pool.  I got tired of waiting for the refresh to reach the servers and didn't feel like chancing a powershell typo at 3AM.
Performance
  • Connections were a bit slow as each session had to be integrated with its profile., but not terribly.
  • Once up, speed was quite good.  Almost as fast as working on a live machine.
Comments
  • More complicated setup than before, but everything needed is really covered by the wizard accept for establishing connections between users and specific RDS sessions.
  • Resource balancing is quite good.
 Coming up will be on Hyper-V 2012 setup (free version) and a user's perspective performance comparison between Hyper-V 2012 and ESXi version4.1.