Cloud: Computer Name Scavenging, Reuse and Conflict Handling in VMM 2012

Here are some notes from the field as part of our “Private Cloud in the real world” series. In this installment, I’ll talk about System Center Virtual Machine Manager 2012 (VMM) behavior when issuing names to VMs, reuse of names, conflict resolution (when no names are available) and the domain join process. I thought this useful info for those scenarios you may never have time to test for yourself, but for which the answers can prove very useful when known in advance.

Defining  Available Name Values

When you design templates and provide naming conventions for VMs in VMM 20112, you can use wildcards (specifically, the # sign) in your templates as an indicator to VMM which characters it can assign unique numeric sequences to at deploy time. For example, a value of WEBAPP### would result in computer (NetBIOS) names of WEBAPP001 through WEBAPP999 being issued to to newly deployed VMs. This creates a range (or pool) of names that can be used (and re-used) in deployment.

VM Name Scavenging and Reuse

Default behavior (witnessed in deployment and deletion of more than 200 virtual machines this week) indicates that VMM scavenges names (returns names to the pool) when VMs are deleted and reuses them as soon as possible. For example, if you deploy 10 machines with the WEBAPP### convention using a service template (containing a single VM), they will be named WEBAPP001 – WEBAPP010. If you delete the service containing WEBAPP005, the next VM deployed will be named WEBAPP005.

This is a clear indicator that VMM is paying attention and making efficient use of available names based on the naming pattern provided.

VMM Behavior in Naming Conflicts

There are a couple of scenarios to consider here. Conflicting names and also poor choice in naming pattern that results in a limited pool of available names, in which case we may actually run out of available names for new VMs.

First, when you attempt to deploy from template and provide a name that is already in use, VMM will throw an error and block the attempt, which is predictable I think.

For the second scenario, let’s look at an example. I define a slightly different naming pattern in my template, this time WEBAPP#. This provides a pool of exactly nine names…WEBAPP1 – WEBAPP9. So what happens when the pool of available names is exhausted and you attempt to deploy a service (via service template) that contains the 10th machine?

VMM will actually launch the service deployment, but when the deployment attempts to provision the VM, the following error is thrown and the deployment fails.

Error (630). The computer name must be a valid IP address or name containing letters and numbers. The computer name cannot contain spaces or any of the following characters….

 

The takeaway here is simply that you want to consider how many VMs may be deployed simultaneously in your environment and choose a pool larger than you will need. Using the example above:

  • WEBAPP## gives you 99 unique options (WEBAPP01 – WEBAPP99)
  • WEBAPP## gives you 999 unique options (WEBAPP001 – WEBAPP999)

Domain Join with Name Reuse

My VM and service templates are configured to join the computer to the domain at deployment time. In a Windows 2008 R2 Active Directory domain, I found the domain join process was seamless, even with frequent name reuse. DNS could be an issue if security is tight (and not just anyone can update an A record), so I am running with a less stringent DNS security configuration in my environment. The most common issue I have encountered in conditions of frequent name reuse (not uncommon in a lab environment where lots of deployment testing goes on) is actually DNS cache on the Hyper-V host. I have seen connection to the VM after deployment fail, causing application deployment to fail, requiring the job to be restarted. Not an everyday occurrence, but something to consider.

Additional Resources

Hopefully this info provides some food for thought when choosing your naming conventions for your template-based deployments in VMM 2012. Here are a few additional articles in the ‘private cloud in the real world’ series and related System Center articles you may find interesting.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.