Posts Tagged ‘vSphere’

Veeam Reporter 4.0 Free Edition

August 16th, 2010

SnagIt CaptureToday, Veeam has launched a new free version of an existing product which you may already be familiar with: Veeam Reporter Free Edition.  Veeam Reporter is an enterprise virtual infrastructure tool which is best described by Veeam on their product page:

Veeam Reporter™ discovers, documents and analyzes your entire virtual infrastructure. It maintains a complete history of all objects, settings and changes. And it trends performance and utilization. So you can really understand your virtual infrastructure—past, present and future.

When it comes to documenting and reporting on your virtual infrastructure, Reporter does it all.

This new free version contains most of the features of the full version.  The free edition can easily be upgraded to the full version of Veeam Reporter to gain these additional capabilities (A features comparison can found here):

  • Capacity planning (report pack)
  • Historical change management (beyond the most recent 24 hours)
  • Microsoft Visio reports for multipathing, network, vMotion, and datastore utilization
  • Full access to archive data—to create custom reports or update your configuration management database (CMDB)
  • Full dashboard capabilities
  • Automatic report distribution

I was invited by Veeam to take a look at the beta version of Veeam Reporter Free Edition.  I’ve captured some of my experience and documented it here.

Installation

Installation of Veeam Reporter Free Edition is fairly straightforward but I should disclose that I’m working with a beta (pre GA) version.  I installed on Microsoft Windows Server 2008 R2 Standard (64-bit only) which is my preferred platform, if supported by the vendor’s product (Veeam Reporter supports it).  Veeam Reporter requires Microsoft .NET Framework 3.5.1.  In Windows Server 2008 R2, this is installed as a Feature:

SnagIt Capture

If installing the Veeam Reporter’s Web UI (the default), the IIS Role is also required during the .NET Framework instllation…plus a few extra roles:

 SnagIt Capture

SnagIt Capture

During the beta, I ran into a JavaScrip error message after the installation was complete:

8-15-2010 8-45-45 PM

As it turns out, the issue has nothing to do with JavaScript, rather, the Static Content Role must be installed for IIS:

8-16-2010 6-31-57 PM

During the Veeam Reporter installation routine, I also installed the Microsoft PowerShell component which is optional:

SnagIt Capture

The Veeam Reporter PowerShell snap-in enables users to perform reporting tasks by running single cmdlets or custom automation scripts via the command-line interface.  The PowerShell SnapIn ReporterDBSnapIn is installed which adds the following Veeam Reporter specific cmdlets to the PowerShell environment:

CONNECT-VRVISERVER
DISCONNECT-VRVISERVER
GET-VRVM
GET-VRVMHOST
GET-VRDATASTORE
GET-VRRESOURCEPOOL
GET-VRCLUSTER
GET-VRSNAPSHOT
GET-VRCURRENTDATE
SET-VRCURRENTDATE

As is quite common with virtualization management tools, including VMware vCenter itself, a back end database is required for the storage of datacenter information.  Veeam Reporter has the ability to leverage an existing Microsoft SQL Server.  In the absence of a dedicated SQL server, Veeam Reporter will install Microsoft SQL Express and integrate with it locally.  Installation of a local SQL Express instance takes quite some time as the necessary SQL binaries (including SP1) are downloaded at this time (this also implies internet connectivity from the Veeam Reporter server is required).

SnagIt Capture

A logoff/logon is required at the end of the installation as opposed to a system reboot:

SnagIt Capture

Configuration

Now that the installation is complete, the next step is to configure Veeam Reporter Free Edition.  There’s really not much to the initial configuration or data collection.  Add to that, the installation and data collection process is agentless – a definite plus. 

So before any data can be displayed, it needs to be collected from the vCenter Server(s).  This is handled by creating a Collection Job which points at the vCenter Server and pulls in the data that Veeam uses.  A collection job should be scheduled to run periodically so that it grabs updated data at regular intervals.  I set up a Collection Job to run automatically once per day at midnight.  For the purposes of instant gratification, I manually ran the job to get some data:

8-16-2010 8-54-55 PM

In addition to configuring a Collection Job, I also set up a few of the ancillary items one would commonly find in reporting and management applications such as an Email server.

Now that I have some data, I can start creating useful reports and that’s where the fun begins.  I will cover some of the reports in the next update so stay tuned.

In the mean time, download your copy of Veeam Reporter Free Edition today and get started!

 

Free Book – vSphere on NetApp Best Practices

August 2nd, 2010

Hello gang!  For anyone who doesn’t specifically follow the NetApp blogs, this is just a quick heads up to let you know that NetApp has updated its popular NetApp and VMware vSphere Storage Best Practices book and is offering 1,000 free copies of the new Version 2.0 edition

The free copies are available while supplies last so get registered for yours soon!

vSphere 4.1: Multicore Virtual CPUs

July 25th, 2010

With the release of vSphere 4.1, VMware has introduced Multicore Virtual CPU technology to its bare metal flagship hypervisor.  This is an interesting feature which had already existed in current versions of VMware Workstation.  VMware has consistently baked in new features in its Type 2 hypervisor products, such as Workstation, Player, Fusion, etc., more or less as a functionality/stability test before releasing the same features in ESX(i).  VMware highlights this new feature as follows:

User-configurable Number of Virtual CPUs per Virtual Socket: You can configure virtual machines to have multiple virtual CPUs reside in a single virtual socket, with each virtual CPU appearing to the guest operating system as a single core. Previously, virtual machines were restricted to having only one virtual CPU per virtual socket. See the vSphere Virtual Machine Administration Guide.

VMware multicore virtual CPU support lets you control the number of cores per virtual CPU in a virtual machine. This capability lets operating systems with socket restrictions use more of the host CPU’s cores, which increases overall performance.

Using multicore virtual CPUs can be useful when you run operating systems or applications that can take advantage of only a limited number of CPU sockets. Previously, each virtual CPU was, by default, assigned to a single-core socket, so that the virtual machine would have as many sockets as virtual CPUs.

You can configure how the virtual CPUs are assigned in terms of sockets and cores. For example, you can configure a virtual machine with four virtual CPUs in the following ways:

  • Four sockets with one core per socket (legacy, this is how we’ve always done it prior to vSphere 4.1)
  • Two sockets with two cores per socket (new in vSphere 4.1)
  • One socket with four cores per socket (new in vSphere 4.1)

VMware defines a CPU as:

The portion of a computer system that carries out the instructions of a computer program and is the primary element carrying out the computer’s functions.

VMware defines a Core as:

A logical execution unit containing an L1 cache and functional units needed to execute programs. Cores can independently execute programs or threads.

VMware defines a Socket as:

A physical connector on a computer motherboard that accepts a single physical chip. Many motherboards can have multiple sockets that can in turn accept multicore chips.

One of the benefits of multicore which physical computing had was increased density of the hardware.  VMs do not share this advantage as they are virtual to begin with and have no rack footprint to speak of.

VMware’s benefit statement for this feature is a legitimate one and is the primary use case.  It’s the same benefit which applied when multicore (as well as hyperthreading to some extent) technology was introduced to physical servers.  What VMware doesn’t advertise is that the limitation being discussed usually revolves around software licensing - a per-socket license model to be precise which is what many software vendors still use.  For example, if I own a piece of software and I have a single socket license, traditionally I was only able to use this software inside of a single vCPU VM.  With Multicore Virtual CPUs, Virtual Machines have now caught up with their physcial hardware counterparts in that a single socket VM can be created which has 4 cores per socket.  Using the working example, the advantage I have now is that I can run my application inside a VM which still has 1 socket, but 4 cores for a net result of 4 vCPUs instead of just 1 vCPU.  I didn’t have to pay my software vendor additional money for the added CPU power.  To show how this translates into dollars and cents, let’s assume a per socket license cost of my application to be $1,000 and then extrapolate those numbers using VMware’s example above of how CPUs can be assigned in terms of sockets and cores:

  • Four sockets with one core per socket = $1,000 x 4 sockets = $4,000 net license cost, 4 CPUs
  • Two sockets with two cores per socket = $1,000 x 2 sockets = $2,000 net license cost, 4 CPUs
  • One socket with four cores per socket = $1,000 x 1 socket = $1,000 net license cost, 4 CPUs
  •  

    Now, all of this said, the responsibility is on the end user to be in license compliance with his or her software vendors.  Just becasue you can do this doens’t mean you’re legally obliged to do so.  Be sure to read your EULA and check with your software vendor or reseller before implementing VMware Multicore Virtual CPUs.

    Implementation of Multicore Virtual CPUs was quite straightfoward in VMware Workstation.  Upon creating a new VM or editing an existing VM’s settings, the following interface was presented for configuring vCPUs and cores per vCPU in VMware Workstation.  In this example, a 2xDC (Dual Core) configuration is being applied which results in a total of 4 CPU cores which will serve the VM’s operating system, applications, and users. Note that here, the term “processors” on the first line translates to “sockets”:

    7-25-2010 11-39-53 AM

    Making the same 2xDC CPU configuration in vSphere 4.1 isn’t difficult but nonetheless it is done differently.  Configuring total vCPUs and cores per vCPU is achieved by applying configurations in two different areas of the VM configuration. The combination of the two configurations produces a mathematical calculation which ultimately determines cores per vCPU.

    First of all, the total number of cores (processors) is selected in the VM’s CPU configuration.  This hasn’t changed and should be familiar to you.  The number of cores (processors) available for selection here is going to be 1 thru 4 or 1 thru 8 if you have Enterprise Plus licensing.  I’ve purposely included the notation of the VM hardware version 7 which is required. An inconsistency here compared to VMware Workstation is that the term “virtual processors” translates to “cores”, not “sockets”:

     7-25-2010 11-41-09 AM

    Configuring the number of cores per processor is where VMware has deviated from the VMware Workstation implementation.  In ESX and ESXi, this configuration is made as an advanced setting in the .vmx file.  Edit the VM settings, navigate to the Options tab, choose General in the Advanced options list. Click the Configuration Parameters button which allows you to edit the .vmx file on a row by row basis.  Click the Add Row button and add the line item cpuid.coresPerSocket. For the value, your going to supply the number of cores per processor which is generally going to be a value of 2, 4, or 8 (Enterprise Plus licensing required).  Note, using a value of 1 here would serve no practical purpose because it would configure a single core vCPU which is what we’ve had all along up until this point:

    7-25-2010 11-45-38 AM

    As a supplement, here are the requirements for implementing Multicore Virtual CPUs:

    • VMware vSphere 4.1 (vCenter 4.1, ESX 4.1 or ESXi 4.1).
    • Virtual Machine hardware version 7 is required.
    • The VM must be powered off to configure Multicore Virtual CPUs.
    • The total number of vCPUs for the VM divided by the number of cores per socket must be a positive integer.
    • The cpuid.coresPerSocket value must be a power of 2. The documentation explicitely states a value of 2, 4, or 8 is required, but 1 works as well although as stated before it would serve no practical purpose.
      • 2^0=1 (anything to the power of 0 always equals 1)
      • 2^1=2 (anything to the power of 1 always equals itself)
      • 2^2=4
      • 2^4=8
    • When you configure multicore virtual CPUs for a virtual machine, CPU hot Add/Remove is disabled (previously called CPU hot plug).
    • You must be in compliance with the requirements of the operating system EULA.

    This feature rocks and I think customers have been waiting a long time for it.  Duncan mentioned it quite some time ago but obvioulsy it was unsupported at that time.  I am a little puzzled by the implementation mechanisms, mainly the configuration of the .vmx to specify cores per CPU.  I suppose it lends itself to scriptability and thus automation, but in that sense, we lack the flexibility to configure cores per CPU with guest customization when deploying VMs from a template.  Essentially this means cores per CPU needs to be hard coded in each of my templates or cores per CPU needs to be manually tuned after deploying each VM from a template.  When I take a step back, I guess that’s no different than any other virtual hardware configuration stored in templates, but with the cores per CPU setting being buried in the .vmx as an advanced setting, it’s that much more of a manal/administrative burden to configure cores per CPU for each VM deployed than it is to simply change the number of CPUs or amount of RAM.  It would be nice if the guest customization process offered a quick way to configure cores per processor.

    GoGo Inflight Internet

    July 24th, 2010

    During a recent trip, I decided to use GoGo Inflight Internet aboard a Delta Airlines flight.  I’ve only used the service once before and that is merely because the service typically isn’t offered on the flights I am on.  Both the reliability and latency of service far exceeded my expectations.  I used the service for a little over three hours and lost only 77 frames: 

    Ping statistics for w.x.y.z:
    Packets: Sent = 8650, Received = 8573, Lost = 77 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 107ms, Maximum = 3220ms, Average = 205ms

    I was easily able to upgrade a vCenter Server and build an ESXi host to vSphere 4.1, as well as process a bunch of email I had fallen behind on.  The cost was $9.95 and given my satisfaction of the service and what I was able to accomplish, it was well worth the price.  I wish more flights offered this service.

    Two Thumbs Up! 8-)

    vSphere Cluster Showing Noncompliant on the Profile Compliance Tab

    June 24th, 2010

    To troubleshoot a vSphere cluster showing Noncompliant on the Profile Compliance tab, check the following:

    FT logging NIC speed is at least 1000 Mbps
    At least one shared datastore exists
    FT logging is enabled
    VMotion NIC speed is at least 1000 Mbps
    All the hosts in the cluster have the same build for Fault Tolerance
    The host hardware supports Fault Tolerance
    VMotion is enabled

    Read more at: http://kb.vmware.com/kb/1017471

    vSphere Upgrade Prerequisites Checklist

    May 27th, 2010

    Upgrading your virtual infrastructure to vSphere?  Be sure to check out this handy reference from VMware:  vSphere Upgrade Prerequisites Checklist.  There are several areas which need to be considered and this document covers them all, including both requirements and recommendations.  If you’re a consultant who visits new customer sites on a regular basis, it wouldn’t be a bad idea to bring this with to each engagement, or at least a condensed version of it.

    Happy Birthday vSphere!

    May 21st, 2010

    birthday-cake

    I was reminded by today’s vCalendar page that vSphere was launched by VMware one year ago today.  Happy Birthday Buddy – you set the bar which all other hypervisors aspire to be at one day.

    On this day in 2009, VMware vSphere, the next generation datacenter virtualization product and successor to Virtual Infrastructure 3 (VI3), was released boasting approximately 150 new features, new license tiers, and an amazing 350,000 I/O operations per second (IOPS). vSphere is a 64-bit only ESX host OS.

    Don’t have a vCalendar yet?  Get one!

    No Failback Bug in ESX(i)

    April 7th, 2010

    I few weeks ago, I came across a networking issue with VMware ESX(i) 4.0 Update 1.  The issue is that configuring a vSwitch or Portgroup for Failback: No doesn’t work as expected in conjunction with a Network Failover Detection type of Link Status Only. 

    For the simplest of examples:

    1. Configure a vSwitch with 2 VMNIC uplinks with both NICs in an Active configuration.  I’ll refer to the uplinks as VMNIC0 and VMNIC1.
    2. Configure the vSwitch and/or a Portgroup on the vSwitch for Failback: No.
    3. Create a few test VMs with outbound TCP/IP through the vSwitch. 
    4. Power on the VMs and begin a constant ping to each of the VMs from the network on the far side of the vSwitch.
    5. Pull the network cable from VMNIC0.  You should see little to no network connectivity loss on the constant pings.
    6. With VMNIC0 failed, at this point, all network traffic is riding over VMNIC1.  When VMNIC0 is recovered, the expected behavior with No Failback is that all traffic will continue to traverse VMNIC1.
    7. Now provide VMNIC0 with a link signal by connecting it to a switch port which has no route to the physical network.  For example, simply connect VMNIC0 to a portable Netgear or Linksys switch.
    8. What you should see now is that at least one of the VMs is unpingable.  It has lost network connectivity because ESX has actually failed its network path back to VMNIC0.  In the failback mechanism, VMware appears to balance the traffic evenly.  In a 2 VM test, 1 VM will fail back to the recovered VMNIC.  In a 4 VM test, 2 VMs will fail back to the recovered VMNIC.  Etc.

     The impact spreads to any traffic being supported by the vSwitch, not just VM networking.  Thus, the impact includes Service Console, Management Network, IP based storage, VMotion, and FT.  Scope of the bug includes both the standard vSwitch as well as the vSphere Distributed Switch (vDS).

    Based on the following VMTN forum thread, it would appear this bug has existed since August of 2008.  Unfortunately, documentation of the bug never made it to VMware support:

    http://communities.vmware.com/thread/165302

    You may be asking yourself at this point, well who really cares?  At the very least, we have on our hands a feature which does not work as documented on page 41 of the following manual: http://www.vmware.com/pdf/vsphere4/r40_u1/vsp_40_u1_esxi_server_config.pdf.  Organizations which have made a design decision for no failback have done so for a reason and rely on the feature to work as it is documented.

    Why would my VMNIC ever come up with no routing capabilities to the physical network?  Granted, my test was simplistic in nature and doesn’t likely represent an actual datacenter design but the purpose was merely to point out to folks that the problem does exist.  The issue actually does present a real world problem for at least one environment I’ve seen.  Consider an HP C-class blade chassis fitted with redundant 10GbE Flex10 Ethernet modules.  Upstream to the Flex10 modules are Cisco Nexus 5k switches and then Nexus 7k switches.

    When a Flex10 module fails and is recovered (say for instance it was rebooted – which you can test yourself if you have one), it has an unfortunate habit of bringing up the blade facing network ports (in this case, VMNIC0 labeled 1 in the diagram) up to 20 seconds before a link is established with the upstream Cisco Nexus 5k (labeled 2 in the diagram) which grants network routing to other infrastructure components.  So what happens here?  VMNIC0 shows a link and ESX fails back traffic to it up to 20 seconds before the link to the Nexus 5k is established.  There is a network outage for Service Console, Management Network, IP based storage, VMotion, and FT.  Perhaps some may say they can tolerate this much of an outage for their VM traffic, but most people I have talked to say even an outage of 2 or more seconds is unacceptable.  And what about IP based storage?  Can you afford the 20 second latency?  What about Management Network and Service Console?  Think HA and isolation response impact.  VMs shutting down as a result.  Etc.  It’s a nasty chain of events.  In such a case, a decision can be made to enable no failback as a policy on the vSwith and Portgroups.  However, due to the VMware bug, this doesn’t work.  Some day you may experience an outage which you did not expect.

    As pointed out in the VMTN forum thread above, there is a workaround which I have tested and does work: Force at least one VMNIC to act as Standby.  This is not by VMware design, it just happens to make the no failback behavior work correctly.  The impact with this design decision is of course that now one VMNIC stands idle and there are no load balancing opportunities over this VMNIC.  In addition, with no failback enabled, network traffic will tend to become polarized to one side again impacting network load balancing.

    An SR has been opened with VMware on this issue.  They have confirmed it is a bug and will be working to resolve the issue in a future patch or release.

    Update 4/27/10:  The no failback issue has been root-caused by VMware and a fix has been constructed and is being tested. It will be triaged for a future release.

    Windows 2008 R2 and Windows 7 on vSphere

    March 28th, 2010

    If you run Windows Server 2008 R2 or Windows 7 as a guest VM on vSphere, you may be aware that it was advised in VMware KB Article 1011709 that the SVGA driver should not be installed during VMware Tools installation.  If I recall correctly, this was due to a stability issue which was seen in specific, but not all, scenarios:

    If you plan to use Windows 7 or Windows 2008 R2 as a guest operating system on ESX 4.0, do not use the SVGA drivers included with VMware Tools. Use the standard SVGA driver instead.

    Since the SVGA driver is installed by default in a typical installation, it was necessary to perform a custom installation (or scripted perhaps) to exclude the SVGA driver for these guest OS types.  Alternatively, perform a typical VMware Tools installation and remove the SVGA driver from the Device Manager afterwards.  What you ended up with, of course, is a VM using the Microsoft Windows supplied SVGA driver and not the VMware Tools version shown in the first screenshot.  The Microsoft Windows supplied SVGA driver worked and provided stability as well, however one side effect was that mouse movement via VMware Remote Console felt a bit sluggish.

    Beginning with ESX(i) 4.0 Update 1 (released 11/19/09), VMware changed the behavior and revised the above KB article in February, letting us know that they now package a new version of the SVGA driver in VMware Tools in which the bits are populated during a typical installation but not actually enabled:

    The most effective solution is to update to ESX 4.0 Update 1, which provides a new WDDM driver that is installed with VMware Tools and is fully supported. After VMware Tools upgrade you can find it in C:\Program Files\Common Files\VMware\Drivers\wddm_video.

    After a typical VMware Tools installation, you’ll still see a standard SVGA driver installed.  Following the KB article, head to Windows Device Manager and update the driver to the bits located in C:\Program Files\Common Files\VMware\Drivers\wddm_video:

        

    The result is the new wddm driver, which ships with the newer version of VMware Tools, is installed: 

    After a reboot, the crisp and precise mouse movement I’ve become accustomed to over the years with VMware has returned.  The bummer here is that while the appropriate VMware SVGA drivers get installed in previous versions of Windows guest operating systems, Windows Server 2008 R2 and Windows 7 require manual installation steps, much like VMware Tools installation on Linux guest VMs.  Add to this the fact that the automated installation/upgrade of VMware Tools via VMware Update Manager (VUM) does not enable the wddm driver.  In short, getting the appropriate wddm driver installed for many VMs will require manual intervention or scripting.  One thing you can do is to get the wddm driver installed in your Windows Server 2008 R2 and Windows 7 VM templates.  This will ensure VMs deployed from the templates have the wddm driver installed and enabled.

    The wddm driver install method from VMware is helpful for the short term, however, it’s not the scalable and robust long term solution.  We need an automated solution from VMware to get the wddm driver installed.  It needs to be integrated with VUM.  I’m interested in finding out what happens with the next VMware Tools upgrade – will the wddm driver persist, or will the VMware Tools upgrade replace the wddm version with the standard version?  Stay tuned.

    vpxd.cfg Advanced Configuration

    March 13th, 2010

    vpxd.cfg is an XML formatted file which can be modified to alter the native behavior of the VMware vCenter Server.  Sparse references on the internet document the changes that can be made in this environment.  Inspired by Ulli Hankeln, the purpose of this blog post is to collect and document all known, unknown, supported, and unsupported vpxd.cfg modifications in a centralized location. 

    If you have any to add, please provide feedback in the form of a blog comment along with a link pointing to a reference and I’ll update the post.

    **Disclaimer**
    As with anything found on this site and much of the internet in general, information is provided “as is” without warranty.  Modify settings at your own risk.  I suggest thoroughly researching the changes first and also checking with VMware Support.

    The vpxd.cfg file is located on the VMware vCenter Server by default at %ALLUSERPROFILE%\Application Data\VMware\VMware VirtualCenter\vpxd.cfg

    • On Windows Server 2008, this would generally be C:\ProgramData\VMware\VMware VirtualCenter\vpxd.cfg
    • On Windows Server 2003, this would generally be C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\vpxd.cfg

    This collection of vpxd.cfg settings has been sourced from various places.  The parameters will generally apply to a version of vCenter Server ranging from 2.0 through 4.x.  A given parameter can apply to several or even all versions.  However, one thing I didn’t do was specify which version of vCenter Server the parameter applies to – too much work – sorry – you’ll have to experiment in your lab or DEV environment.  I do think it’s safe to say that most of these parameters focus on the latest releases of vCenter Server – 2.5 and 4.0.

    Remember to restart the VMware VirtualCenter Server service in the Server Manager for changes to vpxd.cfg to take effect.

    Tag:  blockingTimeoutSeconds
    Nested In:  vmomi, soapStubAdapter
    What It Does:  Defines the timeout value in seconds for SOAP layer blocking.  Use cases for increasing: slow connections, low bandwidth, or high latency between virtual infrastructure components.  Read more here and here.
    Example:

    <vmomi>
    <soapStubAdapter>
    <blockingTimeoutSeconds>10800</blockingTimeoutSeconds>
    </soapStubAdapter>
    </vmomi>

    Tag:  calls
    Nested In:  trace, vmomi
    What It Does:  Unknown.  Read more here.
    Example:

    <trace>
    <vmomi>
    <calls>true</calls>
    </vmomi>
    </trace>

    Tag:  cipherList
    Nested In:  vmacore, ssl
    What It Does:  Reverts to cipher suites used in previous versions of vCenter Server (2.5u3 and earlier) for browser/SSL compatibility issues.  Read more here.
    Example:

    <vmacore>
    <ssl>
    <cipherList>DEFAULT</cipherList>
    </ssl>
    </vmacore>

    Tag:  compressOnRoll
    Nested In:  log
    What It Does:  Defines whether or not vCenter Server vpxd log files are rolled up and compressed into .gz files.  Read more here.
    Example:

    <log>
    <compressOnRoll>false</compressOnRoll>
    </log>

    Tag:  cpuFeatureMask
    Nested In:  guestOSDescriptor, esx-2-x-x, all-versions, all-guests
    What It Does:  Masks CPU features to force VMotion compatibility between hosts. VMware neither supports nor recommends modifying the VMotion constraints for CPU features.  Read more here.
    Example:

    <guestOSDescriptor>
    <esx-2-x-x>
    <all-versions>
    <all-guests>
    <cpuFeatureMask>Elements and mask definition go in here</cpuFeatureMask>
    </all-guests>
    </all-versions>
    </esx-2-x-x>
    </guestOSDescriptor>

    Tag:  directory
    Nested In:  log
    What It Does:  Defines the location for the vCenter logs.  Read more here.
    Example:

    <log>
    <directory>D:\VC_Logs</directory>
    </log>

    Tag:  dontstartconsolidation
    Nested In:  vcp2v
    What It Does:  May resolve an issue where the Consolidation button is missing in the Virtual Infrastructure Client.  Read more here.
    Example:

    <vcp2v>
    <dontstartconsolidation>true</dontstartconsolidation>
    </vcp2v>

    Tag:  filterOverheadLimitIssues
    Nested In:  vpxd
    What It Does:  Unknown.
    Example:

    <vpxd>
    <filterOverheadLimitIssues>true</filterOverheadLimitIssues>
    </vpxd>

    Tag:  hostRescanFilter
    Nested In:  unknown
    What It Does:  Defines the behavior of mass ESX(i) host rescans of vmHBAs.  Read more here.
    Example:

    <hostRescanFilter>true</hostRescanFilter>

    Tag:  IoMax
    Nested In:  vmacore, threadpool
    What It Does:  Unknown but my guess is it defines the maximum I/O for the vpxd.exe process (vCenter Server service). Influenced by TaskMax.
    Example:

    <vmacore>
    <threadpool>
    <IoMax>200</IoMax>
    </threadpool>
    </vmacore>

    Tag:  level
    Nested In:  log
    What It Does:  Defines the logging level for vCenter logs.  Read more here.
    Example:

     <log>
    <level>trivia</level>
    </log>

    Tag:  logLevel
    Nested In:  trace, vmomi
    What It Does:  Enables debug logging level for vmomi?  Read more here.
    Example:

    <trace>
    <vmomi>
    <logLevel>verbose</logLevel>
    </vmomi>
    </trace>

    Tag:  loglevel
    Nested In:  nfc
    What It Does:  Enables debug logging level for the NFC process.  Read more here.
    Example:

    <nfc>
    <loglevel>debug</loglevel>
    </nfc>

    Tag:  managedIP
    Nested In:  unknown
    What It Does:  Defines the managed IP address used in vCenter Server Heartbeat.  Read more here.
    Example:

    <managedIP>10.10.0.1</managedIP>

    Tag:  maxCostPerHost
    Nested In:  ResourceManager
    What It Does:  Defines the number of simultaneous VM migrations (both hot and cold) per ESX(i) host.  Read more here.
    Example:

    <ResourceManager>
    <maxCostPerHost>8</maxCostPerHost>
    </ResourceManager>

    Tag:  maxFileNum
    Nested In:  log
    What It Does:  Defines the maximum number of log files for vCenter logs.  Read more here.
    Example:

    <log>
    <maxFileNum>50</maxFileNum>
    </log>

    Tag:  maxFileSize
    Nested In:  log
    What It Does:  Defines the maximum log file size in Bytes and thus rollover interval for vCenter logs.  Read more here.
    Example:

    <log>
    <maxFileSize>10485760</maxFileSize>
    </log>

    Tag:  name
    Nested In:  log
    What It Does:  Defines the log file prefix name for vCenter logs.  Read more here.
    Example:

    <log>
    <name>vpxd</name>
    </log>

    Tag:  notRespondingTimeout
    Nested In:  heartbeat
    What It Does:  Defines the heartbeat timeout value in seconds between ESX(i) hosts and vCenter Server.  Use case would be to increase the value if remote ESX(i) hosts frequently go into a not responding state in vCenter Server due to WAN bandwidth or latency issues.  Read more here.
    Example:

    <heartbeat>
    <notRespondingTimeout>60</notRespondingTimeout>
    </heartbeat>

    Tag:  portReserveTimeout
    Nested In:  dvs
    What It Does:  Defines the timeout value in minutes for unused dvPort reservations.  Lowering the value temporarily is helpful for unlocking dvPorts to remove a vDS or dvPort group.  Read more here.
    Example:

    <dvs>
    <portReserveTimeout>10</portReserveTimeout>
    </dvs>

    Tag:  serializeadds
    Nested In:  vpxd, das
    What It Does:  Unknown but if I had to guess I’d say it defines the behavior of how the HA agent is installed on cluster hosts.
    Example:

    <vpxd>
    <das>
    <serializeadds>true</serializeadds>
    </das>
    </vpxd>

    Tag:  slotCpuMinMHz
    Nested In:  vpxd, das
    What It Does:  Defines the minimum CPU calculation of a HA cluster slot size when there are no CPU reservations. Read more here.
    Example:

    <vpxd>
    <das>
    <slotCpuMinMHz>256</slotCpuMinMHz>
    </das>
    </vpxd>

    Tag:  slotMemMinMB
    Nested In:  vpxd, das
    What It Does:  Defines the minimum memory calculation of a HA cluster slot size when there are no memory reservations. Read more here.
    Example:

    <vpxd>
    <das>
    <slotMemMinMB>0</slotMemMinMB>
    </das>
    </vpxd>

    Tag:  sspiProtocol
    Nested In:  unknown
    What It Does:  Defines the authentication mechanism used with passthrough authentication between the Virtual Infrastructure Client and vCenter Server.  Read more here.
    Example:

    <sspiProtocol>Kerberos</sspiProtocol>

    Tag:  TaskMax
    Nested In:  vmacore, threadpool
    What It Does:  Defines the number of worker threads for the vpxd.exe process (vCenter Server service). Influences IoMax.
    Example:

    <vmacore>
    <threadpool>
    <TaskMax>30</TaskMax>
    </threadpool>
    </vmacore>

    Tag:  timeout
    Nested In:  task
    What It Does:  Defines the timeout value in seconds for long tasks.  Read more here.
    Example:

    <task>
    <timeout>10800</timeout>
    </task>

    Tag:  verbose
    Nested In:  trace, db
    What It Does:  Enables database tracing.  Enables database logging in the vpxd log.  Read more here and here.
    Example:

    <trace>
    <db>
    <verbose>true</verbose>
    </db>
    </trace>

    Tag:  verbosity
    Nested In:  trace, vmomi
    What It Does:  Unknown.  Read more here.
    Example:

    <trace>
    <vmomi>
    <verbosity>verbose</verbosity>
    </vmomi>
    </trace>

    Tag:  verboseObjectSize
    Nested In:  trace, vmomi
    What It Does:  Unknown.  Read more here.
    Example:

    <trace>
    <vmomi>
    <verboseObjectSize>40</verboseObjectSize>
    </vmomi>
    </trace>

    Tag:  VMOnVirtualIntranet
    Nested In:  migrate, test, CompatibleNetworks
    What It Does:  Setting to false enables VMotion for VMs connected to an internal vSwitch. Setting to false will turn off the internal vSwitch restriction on VMotion events. Useful for servers behind a firewall virtual appliance deployed in bridged networking mode.  Read more here.
    Example:

    <migrate>
    <test>
    <CompatibleNetworks>
    <VMOnVirtualIntranet>false</VMOnVirtualIntranet>
    </CompatibleNetworks>
    </test>
    </migrate>

    Tag:  VMOverheadGrowthLimit
    Nested In:  cluster
    What It Does:  Defines the growth rate cap in terms of MB per minute for VM memory overhead at the cluster level. Can be adjusted to resolve high CPU utilization in guest VMs introduced in ESX(i) 3.5 and vCenter 2.5.  Read more here.
    Example:

    <cluster>
    <VMOverheadGrowthLimit>5</VMOverheadGrowthLimit>
    </cluster>

     

    Slightly related, the vCenter Server process (vpxd.exe) can be launched at a command prompt on the vCenter Server (instead of starting as a service) for troubleshooting purposes.  The executable is located at:

    <Install Directory>\VMware\Infrastructure\VirtualCenter Server>vpxd.exe

    Usage: vpxd.exe [FLAGS]
    Flags:
    -r Register VMware VirtualCenter Server
    -u Unregister VMware VirtualCenter Server
    -s Run as a standalone server rather than a Service
    -c Print vmdb schema to stdout
    -b Recreate database repository
    -f cfg Use the specified file instead of the default vpxd.cfg
    -l licenseKey Store license key in ldap and assign it to VirtualCenter
    -e feature Set the feature to be in use for VirtualCenter. This option takes only one feature at a time.
    -p Reset the database password
    -v Print the version number to stdout

    Perf Charts Service Experienced An Internal Error

    March 12th, 2010

    Happy Friday evening y’all.  Tonight’s blog post comes from a former colleague of mine whom I will call “Paul Berg”.  Paul came across an error in VMware vSphere which he was able to resolve and he would like to share the solution with the VMware community. 

    Paul uses an Oracle database to back end vCenter. When viewing the performance charts in Performance tab | Overview button, he received the following error:

    Perf Charts service experienced an internal error.

    Message:  Report application initialization is not completed successfully.  Retry in 60 seconds.

    You can probably guess what followed… missing data in the charts.  No joy whatsoever.

    Following is the resolution:

    1. Get the fully qualified domain name or the global name of the TNS service from the Oracle database. This can be found in the file named tnsnames.ora on the Oracle database server

    2. Add this FQDN to the registry key HKLM\Software\ODBC\ODBC.INI\VirtualCenter\ServerName on the VC server.

    3. Restart the VMware VirtualCenter Server service.

    For us, the database was listed as VMDB in the registry. We have moved to an Oracle RAC configuration so I needed to change the entry to VMDB.GLOBAL to match what was in the tnsnames.ora listing. I wasn’t aware that VMDB.GLOBAL was considered the FQDN for an Oracle DB.

    The following VMware KB Article 1012812 documents the issue as well as a few different approaches to a resolution depending on root cause.  Again, this issue is specific to Oracle database environments.

    Performance Overview charts fail with the error: STATs Report Service internal error

    Thank you for sharing Paul.  I’ve got one more in the queue from you – I’ll try to get it out in the next couple of weeks.  Here’s a teaser: Poor vSphere performance on Nehalem processors.  Ouch!

    VMkernel Networks, Jumbo Frames, and ESXi 4

    February 12th, 2010

    Question:  Can I implement jumbo frames on ESXi 4 Update 1 VMkernel networks?

    Answer:  Who in the hell knows?

    You see, the ESXi 4.0 Update 1 Configuration Guide states on page 54:

    “Jumbo frames are not supported for VMkernel networking interfaces in ESXi.”

    Duncan Epping of Yellow Bricks also reports:

    “Jumbo frames are not supported for VMkernel networking interfaces in ESXi. (page 54)”

    One month after the release of ESXi 4 Update 1, Charu Chaubal of VMware posted on the ESXi Chronicles blog:

    “I am happy to say that this is merely an error in the documentation. In fact, ESXi 4.0 DOES support Jumbo Frames on VMkernel networking interfaces. The correction will hopefully appear in a new release of the documentation, but in the meantime, go ahead and configure Jumbo frames for your ESXi 4.0 hosts.”

    Shortly after, Duncan Epping of Yellow Bricks confirms Charu Chaubal’s report that jumbo frames are supported on ESXi VMkernel networks.

    Now, nearly two months after Charu’s clarification and three months after the release of ESXi 4 Update 1, the documentation remains dubious on page 54 stating that jumbo frames are not supported on ESXi 4 VMkernel networks which is a direct contradition to a VMware ESXi blog.

    I opened a Business Critical Support SR with VMware on the question.  I was told by VMware BCS that jumbo frames are NOT supported on ESXi 4 Update 1 VMkernel networks and a reference was made to the documentatation on page 54. 

    Our dedicated VMware onsite Engineer escalated and I was then told ESXi 4 Update 1 DOES support jumbo frames on VMkernel networks, making reference to Charu’s article.

    Hey VMware, which is it?  If this is a documentation mistake, why are you dragging your feet in getting the documentation updated two months after a VMware employee discovers the error and blogs it?  Waiting for the next release of ESXi?  Unacceptable!  You update the public documentation as soon as you discover the error and be damned sure your BCS support Engineers know the right answer!  Do you know how much companies pay for BCS?  You owe your customers the correct answer.  If misinformation comes as a result of a known documentation error, SHAME ON YOU!  Architecture and design decisions are being made daily on this information or misinformation, which ever it may be.

    Update 2/23/10:  Toby Kraft (@vmwarewriter on Twitter) will be updating the documentation by next week.  Thank you Toby!

    Update 3/1/10:  VMware has updated their documentation to reflect currently supported configurations.  Thank you VMware (and Toby)!

    Train Signal Releases vSphere Pro Vol 1

    February 10th, 2010

    Train Signal has released a new addition to its VMware library of training entitled VMware vSphere Pro Series Training Vol 1 which covers the topics of VMwareView, ThinApp, Nexus 1000V, and PowerCLI. The 11 hours of new content spans 20 videos and is authored by (in no particular order) industry recognized experts David Davis, Hal Rottenberg, and Rick Scherer.

    General availability was February 9th meaning you can order today at an individual cost of $297, or purchase it in a bundle with Train Signal’s other vSphere videos for $594.

    Here are two hints of what you’ll be getting with this new release:

    Video 1 – Sample content from each of the 3 video authors in the course – a true overview of what you will see in the course featuring VMware View, Nexus 1000V, and PowerCLI.

    Video 2 – “ThinApp your App in Under 5 minutes”

    These are a great group of guys who really know there stuff. Order your copy of VMware vSphere Pro Series Training Vol 1 today!

    vSphere 4.0 Quick Start Guide Released on Amazon

    November 23rd, 2009

    What a great way to kick off the new week – The highly anticipated book, vSphere 4.0 Quick Start Guide: Shortcuts down the path of Virtualization, has arrived at Amazon.com! I look at this new release as the 2nd edition or vSphere edition of RapidApp’s Quick Start Guide to ESX 3.0 which is still available and was a huge success.

    The vSphere 4.0 Quick Start Guide was written by a lineup of new authors who are well known rock stars in the virtualization community: Bernie Baker, Thomas Bryant, Duncan Epping, Dave Mischenko, Stewart Radnidge, and Alan Renouf. I obtained a preview copy of this book at VMworld 2009 in San Francisco and I can tell you that this it is absolutely amazing. Nowhere else will you find as much information in such a small and convenient footprint. Its small size allows you to put it in your pocket and take it virtually anywhere: On the plane, on the bus, into a meeting, or into the datacenter. As with the first edition, there are several blank pages in this book which allow you space to write down notes, command line information, configuration maximum changes, information about your environment, helpful URLs, etc. The authors did a great job on this book and considering the cumulative years of experience and combined expertise packed into this book, you can’t beat the price. I don’t think a better value exists. My copy has been traveling with me daily in my laptop bag. I give it two thumbs up.

    Old vCenter Server Name Shown In Title Bar; Update Manager Plugin Fails

    November 22nd, 2009

    I recently rebuilt a vCenter Server on a new Windows host having a different name than the vCenter Server host used previously. Wanting to maintain my existing datacenter configuration and layout, I chose to connect to and preserve the existing SQL database back end.

    The installation went well and my existing datacenter configuration was in tact, however, I noticed one anomaly having two symptoms. After establishing a vSphere Client connection to the new vCenter Server named vc40.boche.mcse, the vSphere Client title bar showed jarjar.boche.mcse which was the old vCenter Server name.

    Furthermore, the Update Manager plugin was failing to load because it could not establish a connection to jarjar.boche.mcse. I wasn’t surprised a connection could not be made since jarjar was retired and no longer on the network. But why was the legacy vCenter Server name persisting in my new installation?

    At first, I thought there was some funky DNS reverse lookup going on but I was able to quickly rule that out when I remembered that I had assigned a new IP address to the new vCenter Server host.

    I quickly came to the conclusion that there was a row in the SQL database tattooed with the old vCenter Server name which was showing up in the vSphere Client. With that thought in mind, I used the vSphere Client to access the Administration|vCenter Server Settings menu option.

    There it was, under Runtime Settings, the old name of the vCenter Server from the original installation. I was able to simply change the Name from jarjar.boche.mcse to vc40.boche.mcse

    Afterwards, the vSphere Client title bar was updated with the correct name of the vCenter Server vc40.boche.mcse. No reboot or recycling of any services needed. The Update Manager plugin had also followed suit, making its connection to the correct vCenter Server name instead of the old one which no longer existed.

    Simple stuff but I thought I’d write it up in case anyone else ran into this and was pulling their hair out.