The ins and outs of host management

Kind of a long post but helpful I hope.... 

When we started working on this product, we tried to wrap our heads around what it really means to provide a "VM Management Solution". A great way to figure it out is to spend a few days doing the work of a Windows Server admin and walk a mile in their shoes. We went out on the road to work with customers and here's what we found they spent most of their time doing:

  1. Managing/configuring host computers to run Virtual Server
  2. Managing images (that includes VHDs, ISOs, scripts, templates...the list goes on)
  3. Configuring Virtual Machines
  4. Converting physical machines into virtual machines
  5. Figuring out which physical host to run the VM on (Excel spreadsheets were used here...Excel is great but there had to be a better way)
  6. Monitoring, Patching and Backing up their VMs and hosts
  7. Automating and scripting all of the above

After returning to Redmond, we decided to assign a group of engineers to focus specifically on each of these areas of management with one goal - drive down the pain and cost associated with all of these tasks so people can get more real work done. Over the next few posts I'll walk you through some of the details on each of these areas, how VMM helps you out and what you can expect moving forward. Lets start with host management.

After firing up the VMM UI for the first time, the first thing you typically do is add a host or two to manage. Sometimes you're just adding 1, other times you're importing a large chunk of an existing environment. There are several ways we made this easier:

  • "Add host" wizard walks you through this process step by step 
  • You can search and bulk add directly from Active Directory (heck, you've already got a catalog of hosts in AD, might as well use it)
  •  Automatically install the agent software on added hosts if required - you can also locally install the agent if you want to bake it into an image
  • Automatically install and configure Virtual Server if required - we don't' enable the Web UI or IIS since you won't need them with SCVMM
  • Enable the addition of hosts located in a perimeter network - lots of web servers sit out there so this enables support for them as well
  • Use the add-vmhost PowerShell cmdlet (you can step through the wizard and then click on "view script" at the end if you want some hints...we'll be publishing a scripting reference manual and guide in November so stay tuned for that)

Before any of this works though, you'll need to make sure your host is running Win2K3 SP1+ and you need to ensure that WinRM (aka WS-Management) is installed. WS-Man is the protocol we use to communicate between the SCVMM server and the host computers. WS-Management is a web-services protocol and by being one of the first enterprise products to fully embrace it, it opens up a world of interoperability. You can learn more about the guts of WS-Man here if you're interested. One of the cool things about being a brand new product is that you get to use some of the most cutting edge technologies...I'll talk about more of them in later posts.

After you run the add-vmhost cmdlet or run through the wizard, SCVMM kicks off a bunch of jobs to actually add the hosts you requested. You can go to jobs tab in the UI to see the progress. This should work smoothly but if for some reason it doesn't, we've assembled some troubleshooting help based on the most common issues we customers hit during our early testing. When you go back to the VMs or Hosts view, you should see your recently added hosts begin to appear.

If you've got lots of hosts, you might want to 'bucketize them' into that we call "host groups". Why would you do this? Well, host groups are important as an organizing unit plus they are the unit of delegation for self service. You can also set host reserves at a host group level. Just right-click and hit properties on a host group. When you set reserves on hosts, our intelligent placement feature honors them so we keep some spare capacity around in the host group (for stuff like fail-over or other emergencies). If you reserve lots of capacity, you'll see the star ratings during placement affected as a result....I'll have more about this when I do my placement posting.

 

 

You can also double-click on a host to expose host properties and there are some interesting, non-obvious ones worth calling out

 The hardware tab allows you to see what type of iron you're running on and lets you create new virtual networks. If you give multiple virtual networks across hosts the same name, SCVMM assumes that they are identical. This is helpful as you move VMs around and want to ensure they stay connected to the required network. For example, you can create a network called "ITLAN" on each of your hosts and associate it with a physical NIC connected to your main network and then hook it up to VMs on that host. If you later want to migrate that VM to a different host, our intelligent placement will make sure that the target host has a network called "ITLAN" to wire the VM back up to else you'll lose network connectivity. This does require a little planning up front and personally, I'd just run a PowerShell script to add networks to a group of hosts up front to prevent the chances of human error and ensure all of my hosts have the right networking configured. One feature idea that has arisen from this is the concept of 'host templates' but I'm not sure when that might get into the product. In the mean time, Powershell gets the job done just as well.

 

 

The placement property tab let's you add physical paths (typically one per data volume) to store the VMs deployed to that host and also mark a host as unavailable for placement. You might do this if you're got a host down for maintenance and don't want VMs deployed there.

The "VMs" tab lets you 'register hosts". You'd use this if you have a VMC and VHDs sitting local to the hosts file system (not in the VMM library) and you want to fire them up. This isn't a typical thing that should happen but if it does, this is where you go. You can also use the 'register-vm' cmdlet for this.

 

 

The options tab lets you enable things like multiple VMRC connections which is off by default as of Virtual Server 2005 R2 SP1 because it allows snooping across sessions. The downside of disabling this is that live thumbnails cannot be shown on the same screen as a full VMRC session (since that would be considered 2 sessions) nor can multiple users VMRC into one box. Convenience versus privacy...your call depending on where/how you're deployed. 

 

The custom tab is common to many of our objects including hosts, templates etc. It lets you attach custom property values to a host. You can then group, search, sort or organize with this custom property. I've sen customers often use things like "business unit" or "chargeback ID" for values here. You can add columns to the UI to show these custom properties as well by right-clicking on the column bar in any of our center panes.

In the next version of SCVMM, we'll obviously allow you to add hosts running our new hypervisor and there will be several more improvements that we are planning including:

  • Smaller install footprint - The virtualization stack and other required bits will be part of Windows Server, we'll configure it for you...we're hoping to truly be agent-less
  • New Networking Options - Virtual Switches, VLANs.....networking is about to get very interesting
  • Support for non-trusted domain joined hosts - we've had several requests for this already
  • Adding VMware environments - I'll have more details on this later
  • Full cluster-awareness - today we work with Virtual Server clusters but we're not specifically cluster aware. This gets a lot easier for you.
  • A bunch of refinements I can't remember off the top of my head

 There's lots of additional detail about host management on our technet site located here.....that's it for now....rakesh