Posts
  • John Kelbley's real life enterprise interop and administration

    Hyper-V Book Second Edition is On It’s Way!

    • 0 Comments

    Mike Sterling and I have been hiding this winter and updating everyone’s favorite Hyper-V book to include Windows Server 2008 R2 (we’ll at least it’s our favorite Hyper-V book!).

    We just got a shot of the cover (below).  It should be available by TechEd 2010 (I’m there), but feel free to pre-order a few zillion copies if you like.

    clip_image001

    -John

  • John Kelbley's real life enterprise interop and administration

    Hyper-V and Open Source: A Powerful (PowerShell) Combination

    • 0 Comments

    CodePlexIn my post last week, I highlighted a number of ways to harness the power of virtualization with little or no costs.  One tool I mentioned was the open source  PowerShell Hyper-V Management library written by James O’Neill available on CodePlex.  This library of PowerShell commandlets can enable you to automate and monitor all sorts of Hyper-V related tasks.  I install and use the library on all of my Hyper-V hosts because it provides me with a simple, consistent command line user interface to access and report on my virtual environment.  There is some documentation available on how to load and use the library online, but I go into more detail in two chapters of our book about Hyper-V.  We’re revising the book right now to cover enhancements in Windows Server 2008 R2 – one of which is the inclusion of PowerShell V2.  The new version of PowerShell includes some cool enhancements you may not know about, like Out-GridView.  I use it with the Hyper-V library to filterable / sortable reports of my virtual environment.  Here are a few quick examples. 

    Tough Reporting is Easy!

    f1025Data gathering across multiple physical systems can be hard, and sometimes the best way to collect information seems like laborious “cut and paste” torture.   How might you (for example) gather all the MAC addresses from your VM’s virtual network cards for a network audit?  You could access the setting for each VM using Hyper-V Manager one at a time… but there’s an easier way!
    I can generate a report of all the MAC addresses for virtual machine in my environment by creating a list of my Hyper-V hosts (in a text file called Serverlist.txt) and typing the following command line:

    get-vmnic -server (get-content .\serverlist.txt) | select * | out-gridview

    Being able to create reports like this on the fly is super useful, and I can’t imagine how I would be able to gather information as easily with out the library (other than using System Center Virtual Machine Manager!).

    The truth is, I’m not a scripting or a PowerShell expert.  I don’t use it every day and often forget how to use the library.  I’ve used Out-Gridview to create a report of all the functions in  the library that I keep in Excel using the following command line:

    get-command -module HyperV | get-help | select-object -property name, synopsis | out-gridview

    Simplified Management

    f1044I perform all sorts of management task too, like creating new VMs or starting /saving the state of all VMs on a host – those things are a piece of cake to automate.  One super useful thing I  do with the library is to Live Migrate all the VMs from cluster node to another with one simple command line.  Say for example I wanted to move all the VMs from one node (HPDL380T) to another (HPDL380B), I could just use the following:

    Get-VM -server HPDL380T | move-vm -Destination HPDL380B

    These are just a few examples of how I use the library (lots more in the update to our book!).  If you would like to see examples of other ways to automate tasks with the library, leave me a comment.  For other great ideas on automation, checkout the TechNet Script Center.  It’s packed full of scripting examples, tutorials, witty repartee – all at the same low low price!

    -John

     

  • John Kelbley's real life enterprise interop and administration

    Virtualizing on a Shoestring

    • 0 Comments

    I just put up a way too long post on the "Windows Server Expert’s” site on how to go cheap with virtualization (post is here).

    Lots of good stuff in  the post about Hyper-V Server and mention of James' O’Neill’s James’ 'PowerShell Hyper-V Management library for Hyper-V.

    Does anybody else think those pictures on the site are kind of scary?  Here’s mine.

    John Kelbley                 image

    I was thinking of changing it a little …and had a great suggestion…but I’m far from an artist.

    Should I add a hat?

  • John Kelbley's real life enterprise interop and administration

    CSV is not Required for Live Migration

    • 4 Comments

    I had this whole post all ready to go, then my lab took a power hit (poof!).  At least I know what to write again!  Anyhow, I received a great comment on the other “Windows Server Expert” blog about CSV and Live Migration.  I had mentioned in a post about the value of Hyper-V backup that CSV is not required for Live Migration.  One of  the readers (thanks Dan), called me on this, because all of the documentation he had seen spoke of them together (including this article: “Hyper-V: Using Live Migration with Cluster Shared Volumes in Windows Server 2008 R2”

    Most of the documentation that I’ve seen covers CSV and Live Migration together because they both required increased network bandwidth between cluster nodes.  The guidance I’ve seen isn’t wrong, it’s just incomplete.  Mike Sterling and I are addressing some of this in our upcoming R2 update to our Hyper-V book.  I’ll make it really clear:

    You do not need CSVs to use Live Migration!

    What you do need if you ware not using CSVs is to dedicated each VM to a separate LUN Disk Setupor cluster file system (like Sanbolic’s Melio FS).  For Live Migration to work, the VM must be able to move to a new node without being associated to another virtual machine (as it would be if more than one VM were hosted on a LUN with out CSV or a CFS).  For demonstration purposes, I setup a small LUN in my lab and but a single VM on it.  It’s show as Drive W: in the picture top the right (there are a few other LUNs as well, including a 512GB LUN used for CSV).

    Hyper-V Setting for VMI created a Windows Server 2008 R2 Enterprise Edition VM on one of the cluster nodes on the new dedicated LUN as show in the Hyper-V Manager VM “Settings” screen to the Left.  I then make the VM “highly available by adding the LUN to the cluster and running through the “High Availability Wizard”.  Once  the VM was started and running on the cluster, I  was all set – as you can seFailover Cluster Console e in the Failover Clustering console image on the right.

    OK, so now what.  Demonstrating that  you don’t need CSV is as simple as right clicking on the VM in “Services and applications and seeing what options you have… like… like LIVE MIGRATION!

    Pretty cool, right?  So if you can use Live Migration without a Live Migration is THERE! CSV, why would you bother with setting up CSVs?  Because using CSVs reduces the hassles associated with storage provisioning.  You don’t have to setup a separate LUN for each VM if you put all your VMs on a big CSV (or multiple CSVs).  CSVs also reduce the potential disconnect period at  the end of the migration, since the CSV doesn’t have to be unmounted from one host and remounted on another. THIS IS A BIG DEAL if you have a less than optimal networking setup (like in my lab).  I only have two NICs on each of the hosts in this cluster – on for VMs and the other for cluster / iSCSI (a real no no! – Not enoughMigration FAILED due to low bandwidth! bandwidth!).  On this cluster, the time out to mount / unmount a VM on a dedicated LUN is just a bit too long, and my non-CSV Live Migrations often fail as a result!

    If CSVs make using Live Migration easier, why not use them all the time?  In my last post I mentioned the challenge with host-based backup of VMs using CSVs.  You can use CSVs or dedicated LUNs for your clustered virtual machines, you just have to be aware of the trade offs.

    -John

  • John Kelbley's real life enterprise interop and administration

    Host-based Backup of CSV Volumes

    • 0 Comments

    Happy New Year!

    I’ve received several questions and comment about backing up VMs that reside on CSV volumes.  In short, you can do it, but it’s tricky.

    There’s a great post on the DPM Insider blog about the challenges (Here).  Host-based backup of CSV-base VMs works with DPM 2010 and other tools.  The trick is to tie the CSV volume to the physical cluster node where a VM is executing for the duration of a VSS snapshot and backup.  As noted in Asim’s post, using a hardware provider makes the most sense (saves time!).  I’ve already heard moans about the suggestion of using a hardware VSS provider.

    What strikes me about all the questions is how greedy we’ve gotten with our expectations around the benefits of virtualization!  If you’re using CSV (and Live Migration or even VMotion for that matter) you have already invested in shared storage.  What’s the big deal with using a hardware provider?  Yes it may be more expense, but if you are serious about host-base backup of highly available VMs you need to do it.  Yes, I’m being a hypocrite here – my primary storage subsystem does not support hardware integrated snapshots!  I know they aren’t always an option.  You can still use software snapshots (with System Center DPM 2010), just be aware that it will take longer to complete, and that IO will be pinned to the cluster node being backed up for the duration of the backup.  Remember that you don’t need CSV for Live Migration, it just makes storage provisioning easier.  You can setup each VM on an individual LUN and not have a CSV backup challenge…it’s a trade off.

    Don’t forget that you can still backup using a process or agent IN the VM!  It may be somewhat old school, but nothing should stop you from deploying an agent inside your critical VMs and executing a backup.  Depending on your application workload, this may be the best solution REGUARDLESS of your use of CSV / Live Migration. 

    What if, for example your VM is running a workload that just doesn’t work right with VSS?  The backup coordination from the host (via the “Backup” Integration Services) is meaningless and must be disabled.  If it is disabled, then the VM would be “saved” during a host-based backup – interrupting processing.  The best alternative in a situation like this would be to use an application aware backup agent inside the VM.

    -John

  • John Kelbley's real life enterprise interop and administration

    Having Fun With the Other Blog!

    • 0 Comments

    Playing around with the other blog is fun – I’m using more cool pictures like this one of a can!  I’ll get back to being technical on this blog again now, sorry for digressing.

    Hyper-V Drink

  • John Kelbley's real life enterprise interop and administration

    Better Linux Performance on Hyper-V With Integration Services

    • 0 Comments

    I showed you in my last post how to get nearly any OS running on Hyper-V by adding the Legacy Network Adapter (2114X compatible NIC).  Yes it works, but the performance isn’t all that great.

    Microsoft provides Integration Services (also sometimes referred to as Integration Components or ICs) for Linux to run on Hyper-V which enable properly configured Linux VMs to take advantage of the high-performance synthetic network adapter as well as other virtual devices.  The currently available Linux Integration Services are essentially drivers that can be installed to access the following synthetic devices:

    • Network Interface
    • IDE (disk)
    • SCSI (disk)

    Once they are installed, you’ll be able to see and use new virtual “hardware” inside your Linux virtual machines.  Here (for example) is  the network card configuration view (and  an ifconfig and uname -a) from a SLES VM I was playing with in the lab:

    image

    Notice that it not only has a 2114x NIC, but also a “Virtual Ethernet Card” (seth0).  To install the Integration Services, I had to download and unzip a Linux specific ISO file containing the necessary tools and code. 

    If you want to do this yourself, get started by downloading the Linux Integration Services here:

    Hyper-V v1: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=ab7f4983-93c5-4a70-8c79-0642f0d59ec2#tm
    Hyper-V R2: http://www.microsoft.com/downloads/details.aspx?familyid=C299D675-BB9F-41CF-B5EB-74D0595CCC5C&displaylang=en

    There’s  a great post up on the TechNet Social site with "simplified” install instructions here:  http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/0d2c5fa8-682c-4f5d-9fe7-388dd80a7e06 
    (be sure to read through all the comments – lots of great nuggets there!).

    In the not too distant future, these Integration Services will be included in many Linux distributions, as Microsoft released the code for these three drivers to the Linux community!

    Yes, you heard me, Microsoft contributed to Linux!  http://port25.technet.com/archive/2009/07/20/the-hyper-v-linux-integration-components.aspx

    More on the release of the code, as well as what the ICs do (and do not do) for you in upcoming posts.

    -John

  • John Kelbley's real life enterprise interop and administration

    How To Run Linux, UNIX, and Other OS’ on Hyper-V

    • 0 Comments

    I’ve gotten questions about how I managed to get Hannah Montana Linux (and OpenSolaris and SCO UNIX) to work on Hyper-V.  Some folks have tried, but were not able to access network resources (you can clearly see that I was browsing to Bing in the screen shots, but they couldn’t get there!).

    When you create a new VM using Hyper-V Manager, it typically configures the virtual machine with a high-performance synthetic network adapter.  To use this virtual device, you have to load a network driver – for a supported Windows VM, you can do this by installing the Integration Services (while the VM is running, connect to the console and select Actions> Insert Integrations Services Setup Disk).

    image

    This inserts a CD  into (mounts an ISO image file in) the virtual DVD drive of the VM, containing the setup and drivers for (among other things) the high performance synthetic network adapter.

    If your VM is not a supported version of Windows, this process will not work.  The ISO image only contains support for Windows! 

    There are high-performance network drivers available for Linux (my next post?), but they do not work on all versions of Linux or on non-Linux operating systems (UNIX). 

    Fortunately,  Hyper-V includes emulated device support for a common and widely supported Ethernet NIC the (formerly DEC) Intel 2114X 10/100.  Functioning drivers for this network interface card are included in nearly every operating system I’ve loaded in Hyper-V.  So why then have some people not been able to get it to work?  As I mentioned before, Hyper-V Manager typically configures the virtual machine with a high-performance synthetic network adapter.  Hyper-V has two different network adapters you can add to a VM:

    image

    To present the 2114X compatible adapter to your VM, simply add it to the configuration (while the VM is not running) and attach it to a configured virtual network switch (You can also remove the synthetic adapter if you will not be using it).  A VM with the Legacy Network Adapter should be able to find and access network services, like this SLES VM (which does not have the Linux Integration Services installed):

    image

    image

     

     

     

     

    The 21140 Legacy network adapter doesn’t perform as well as the synthetic network adapter, but it does work!  For better performance in Windows or Linux you should load Integration Services.

    Next time I’ll get into what the Integration Services can and cannot do for you in Linux, and later how to load them.

    -John

  • John Kelbley's real life enterprise interop and administration

    I’ve Got 2 Blogs Now!

    • 2 Comments

    I was tapped to post up on the Microsoft Windows Server site recently, and I’m now also posting on the “Because it’s everybody’s business” area as a Windows Server expert (the actual blog site is here).

    The goals of the site are to focus on ways to innovate and be efficient with Microsoft technology.  How I got to be an expert, I’m not sure (maybe because I’m “frugal”), but I’m excited about it! 

    I posted a summary of some of the backup materials I’ve put here.  Let me know if you have any suggestions for topics.  I’ve had some questions about how I run and install other operating systems on Hyper-V, and I thought I’d follow up with some posts here about that – what the integration components/ integration services (ICs / ISs) do, and what you might need to alter in your VM configuration if you don’t have them.

    Because its everybody's business

  • John Kelbley's real life enterprise interop and administration

    Backup and Recovery of Non-Windows VMs on Hyper-V – IT JUST WORKS!

    • 1 Comments

    In the last few posts I showed you a simple (and low cost) manual method for back and recovery of virtual machines running on Hyper-V.  When I ran through the process in my lab, I purposely used two different types of virtual machines:

    • one Windows VM with a VSS-aware OS and enabled integration services (Windows Server 2003)
    • VM without VSS or integration services and absolutely no support from Microsoft (Hannah Montana Linux)

    I mentioned in the VSS Overview post that contemporary versions of Windows running in a VM on Hyper-V that support VSS and have the appropriate Integration Services installed can coordinate VSS activities with many of the applications and services inside the VM when a backup request is made on the physical host.  This coordinated VSS processing via the Hyper-V Integration Services means that VSS aware applications can be backed up in a VM with absolutely no downtime. without installing an additional backup agent inside the VM (saving cost and reducing complexity).

    For that other class of VMs, those that do not support VSS or do not have the “Backup” Integration Service enabled, Windows Server 2008 R2 and Hyper-V still can create a consistent backup, but the process is a little bit different.  If the VM (for whatever reason) cannot itself consume the coordinate VSS request, Hyper-V will save the state of the VM (hibernate it) copying the contents of memory to disk and then generate a snapshot of the disk housing the VM.  Here’s how the process looks to a running VM in this category:

    1. Backup is requested, and a running VM is found on the host – say, like Hannah Montana Linux (or Windows 2000), which does not have VSS
      clip_image002
    2. Hyper-V and VSS figure out that Hannah Montana can’t consume the VSS  request, so the state of running VM is saved to disk into the directory which contains the VMs configuration file – this usually takes only a few seconds, but depends on the amount of memory used by the VM and the speed of the attached disk storage
      clip_image002[4]
    3. Once the VM is completely stopped and the configuration saved, the VSS snapshot on the host can be created
      clip_image002[6]
    4. After the snapshot is generated, the VM is restarted
      clip_image002[8]
    5. The VM starts right back where it was, with only a brief “freeze” and “thaw’
      clip_image002

    Remember I did this entire process simply by requesting a backup of the physical Hyper-V host – I didn’t need to request all of this to happen Windows Server 2008 R2 / Hyper-V / VSS did it all for me!   Any VSS aware backup of Windows Server 2008 should be able to do the same thing for you, if you use diskshadow, Windows Server Backup (WSB – part of Windows Server 2008), or a more full featured enterprise backup solution. 

     

     

     

     

     

    The key thing to note is that you can improve the backup and recovery of even unsupported operating systems running on Hyper-V.

    -John

Page 3 of 5 (41 items) 12345