Posts Tagged ‘VMware’

VMware vSphere Design Workshop – Day 1

October 27th, 2010

Today was day 1 of 3 for my VMware vSphere Design Workshop training.  I’ve been looking forward to this training since spring of this year when I scheduled it.  The timing couldn’t be better since I’m scheduled to sit the VMware VCAP-DCD BETA exam in November.  I’m told by the instructor, an EMC employee of eight years as well as a CLARiiON and SRM specialist, that this is the VMware recommended classroom training for the VCAP-DCD exam.  To be perfectly honest, I haven’t looked at the exam blueprint yet but I intend to tomorrow.  My hope and expectation at this point is that the class is going to cover the blueprint objectives.  Beyond the introductions, I don’t think we were 30 minutes into the class and conversation had already turned to Duncan Epping and Chad Sakac, along with their respective blogs.  By then, I knew I was in for a great three days.

The scope of the course covers vSphere 4.0 Update 1.  I was slightly disappointed by this in that it’s covering a release that is nearly one year old, however, if the exam objectives and the exam itself is based on 4.0 Update 1, then the training is appropriate.  That said, the instructor is willing to notify the class of any changes through the current version – 4.1.  Looking more closely at the scope, the following areas will be covered:

  • ESX
  • ESXi
  • Storage
  • Networks
  • Virtual Machines
  • vCenter Server and related databases
  • DRS
  • HA
  • FT
  • Resource Pools
  • Design Process
  • Design Decisions
  • Best Practices
  • Two comprehensive design case studies to apply knowledge in the lab:
    • SMB
    • Enterprise

Design is a different discipline than Administration.  Administration focuses on tactical things like installation, configuration, tools, CLI, Service Console, clients, etc.  Having said that, there is ample opportunity for working in a vSphere lab to master the various administrative tasks covered by the VCAP-DCA blueprint.  In fact, as most may know by now, the DCA exam is lab based.  Design is different.  It’s a step higher than the tools and the CLI which are generally abstracted from the logical design discussion.  The focus is shifted to the big virtual datacenter picture and the components involved to architect a solution which meets customer requirements and other variables used as design criteria input for the engagement.  As mentioned above, there are a series of paper-based labs which follow 2 design case studies: SMB and Enterprise.

It is just a three day class and we covered quite a bit of ground today.  Much of the time was spent on Design Methodology, Criteria, Approach, and VMware’s Five-Step Design Process:

  1. Initial Design Meeting
  2. Current-State Analysis
  3. Stakeholder and SME training
  4. Design Sessions
  5. Design Deliverables

Having years of consulting experience under his belt, the instructor volunteered helpful insight toward what he often referred to as the consultative based approach/discovery.  We talked about phases of the engagement, design meetings to hold, who to invite, who not to invite, and the value and persuasion power of food.  We got into some conversations about hypervisor choices (ESX vs. ESXi), with a sprinkling of hardware tangents (NUMA, PCIe, processors, storage, etc.) We closed the day with discussions on resource planning, peaks, and averages, as well as our first lab exercise which was to decide on a hardware standard (blade versus rack mount) and plan for capacity in terms of number of hosts and cluster sizes given data from customer interviews.

I’ll close here with an infrastructure design growth formula and practical application:

The scenario:  Contoso, Inc. has a consolidation ratio of 30:1 on an existing cluster.  Contoso expects 25 percent annual growth of a 200 VM cluster over the next four years.

The growth formula:  % Growth Rate x # VMs Growing x Term ÷ Consolidation Ratio = Growth Hosts Needed

The growth formula applied:  25% x 200 x 4 ÷ 30/1 = Growth Hosts Needed

The growth formula applied:  50 x 4 ÷ 30 = Growth Hosts Needed

The growth formula applied:  200 ÷ 30 = Growth Hosts Needed

The growth formula applied:  7 Growth Hosts Needed (round up)

I’m looking forward to Thursday!

Request for UI Consistency

October 25th, 2010

Sometimes it’s the little things that can make life easier.  This post is actually a fork from the one which I originally wrote previously on a DPM issue.  Shortly after that post, it was pointed out that I was reading DPM Priority Recommendations incorrectly.  Indeed that was the case.

Where did I go wrong?  Look at the priority descriptions between DRS and DPM, where both slide bars are configured with the same aggressiveness:

 “Apply priority 1, priority 2, priority 3, and priority 4 recommendations”

SnagIt Capture

 “Apply priority 4 or higher recommendations”

SnagIt Capture

My brief interpretation was that a higher recommendation meant a higher number (ie. priority 4 is a higher recommendation than priority 3).  It’s actually the opposite that is true.  A higher recommendation is a lower number.

I believe there is too much left open to interpretation on the DPM screen as to what is higher and what is lower.  The DRS configuration makes sense because it’s clear as to what is going to be applied; no definition of high or low to be (mis-)interpreted.  The fix?  Make the DPM configuration screen mirror DRS configuration screen.  Development consistency goes a long way.  As a frequent user of the tools, I expect it.  I view UI inconsistency as sloppy.

If you are a VMware DPM product manager, please see my previous post VMware DPM Issue.

VMware DPM Issue

October 24th, 2010

I’ve been running into a DPM issue in the lab recently.  Allow me briefly describe the environment:

  • 3 vCenter Servers 4.1 in Linked Mode
  • 1 cluster with 2 hosts
    • ESX 4.1, 32GB RAM, ~15% CPU utilization, ~65% Memory utilization, host DPM set for disabled meaning the host should never be placed in standby by DPM.
    • ESXi 4.1, 24GB RAM, ~15% CPU utilization, ~65% Memory utilization, host DPM set for automatic meaning the host is always a candidate to be placed in standby by DPM.
  • Shared storage
  • DRS and DPM enabled for full automation (both configured at Priority 4, almost the most aggressive setting)

Up until recently, the ESX and ESXi hosts weren’t as loaded and DPM was working reliably.  Each host had 16GB RAM installed.  When aggregate load was light enough, all VMs were moved to the ESX host and the ESXi host was placed in standby mode by DPM.  Life was good.

There has been much activity in the lab recently.  The ESX and ESXi host memory was upgraded to 32GB and 24GB respectively.  Many VMs were added to the cluster and powered on for various projects.  The DPM configuration remained as is.  Now what I’m noticing is that with a fairly heavy memory load on both hosts in cluster, DPM moves all VMs to the ESX host and places the ESXi host in standby mode.  This places a tremendous amount of memory pressure and over commit on the solitary ESX host.  This extreme condition is observed by the cluster and nearly as quickly, the ESXi host is taken back out of standby mode to balance the load.  Then maybe about an hour later, the process repeats itself again.

I then configured DPM to manual mode so that I could examine the recommendations being made by the calculator.  The VMs were being evacuated for the purposes of DPM via a Priority 3 recommendation which is half way between Conservative and Aggressive recommendations.

SnagIt Capture

What is my conclusion?  I’m surprised at the perceived increase in aggressiveness of DPM.  In order to avoid the extreme memory over commit, I’ll need to configure DPM slide bar for Priority 2.  In addition, I’d like to get a better understanding of the calculation.  I have a difficult time believing the amount of memory over commit being deemed acceptable in a neutral configuration (Priority 3) which falls half way between conservative and aggressive.  In addition to that, I’m not a fan of a host continuously entering and exiting standby mode, along with the flurry of vMotion activity which results.  This tells me that the calculation isn’t accounting for the amount of memory pressure which is actually occurring once a host goes into standby mode, or coincidentally there are significant shifts in the workload patterns shortly after each DPM operation.

If you are a VMware DPM product manager, please see my next post Request for UI Consistency.

vCenter Server Linked Mode Configuration Error

October 23rd, 2010

As of vCenter Server 4.1, VMware supports Windows Server 2008 R2 as a vCenter platform (remember 2008 R2 is 64-bit only).  With this, I expect many environments will be configured with vCenter Server on Microsoft’s newest Server operating system.

While working in the lab with vCenter Server 4.1 on Windows Server 2008 R2, I ran into an issue configuring Linked Mode via the vCenter Server Linked Mode Configuration shortcut.  Error 28035. Setup failed to copy LDIFDE.EXE from System folder to ‘%windir%\ADAM’ folder.

SnagIt Capture

After no success in relaxing Windows NTFS permissions, I remembered it’s a Windows Server 2008 R2 permissions issue.  The resolution is quite simple and is often the solution when running into similar errors on Windows 7 and Windows Server 2008 R2.  In addition, I found the workaround documented in VMware KB 1025637.  Rather than launching the vCenter Server Linked Mode Configuration as you normally would by clicking on the icon, instead, right click the shortcut and choose Run as administrator.

SnagIt Capture 

You should find that launching the shortcut in the administrator context grants the installer the permissions necessary to complete Linked Mode configuration.

VCDX Talk with Jason Boche and David Davis

October 22nd, 2010

Train Signal was nice enough to invite me to an on camera chat at VMworld 2010 regarding VMware’s VCDX certification.  The video, along with a flattering introduction, is located here.  David Davis asked some good questions and I had a great time talking with him.  Train Signal provided me with the right to reproduce the video and you’ll find it embedded below:

Update 10/23/10: Just one day later, a video was released where David Davis interviews VCDX001 John Arrasjid at VMworld Europe.  This is an outstanding resource for those going down the path of the VCDX.  Follow the link below:

VIDEO: VMware’s John Arrasjid, VCDX001, Interviewed by David Davis at VMworld

Update 10/26/10: Here’s a link to another great video which has emerged from VMworld Europe where John Troyer interviews John Arrasjid, VCDX001:

VCDX Program – John Arrasjid, Principal Architect, VMware, Inc.

CPU Ready to %RDY Conversion

October 21st, 2010

Most customers expect x amount of performance out of their virtual machines which is going to be dependent on established Service Level Agreements (SLAs).  Capacity planning, tuning, and monitoring performance all play a role in meeting customer SLAs.  When questioning performance of a physical machine, one of the first ubiquitous metrics that comes to mind is CPU utilization.  Server administrators are naturally inclined to look at this metric on virtual machines as well.  However, when looking at VM performance, Ready time is an additional metric to be examined from a CPU standpoint.  This metric tells us how much time the guest VM is waiting for its share of CPU execution from the host.

I began learning ESX in 2005 on version 2.0.  At that time, the VMware ICM class focused a lot on leveraging the Service Console.  At that time, vCenter Server 1.x was brand new and as such, ESXTOP was king for performance monitoring.  In particular, the %RDY metric in ESXTOP was used to reveal CPU bottlenecks as described above.  %RDY provides statistics in a % format.  I learned what acceptable tolerances were, I learned when to be a little nervous, and I could pretty well predict when the $hit was hitting the fan inside a VM from a CPU standpoint.  Duncan Epping at Yellow Bricks dedicates a page to ESXTOP statistics on his blog and at the very beginning, you’ll see a threshold he has published which you should keep in the back of your mind.

Today, ESXTOP still exists fortunately (it’s one of my favorite old-school-go-to tools).  The Service Console is all but gone, however, you’ll still find resxtop in VMware’s vMA appliance which is used to remotely manage ESXi (and ESX as well).  But what about the vSphere Client and vCenter Server?  With the introduction of vCenter Server, the disappearance of the Service Console, and the inclination of a Windows based administrator to lean on GUI based tools as a preference, notable focus has moved away from the CLI approach in lieu of the vSphere Client (in conjunction with the vCenter Server). 

Focusing on a VM in the vSphere Client, you’ll find a performance metric called CPU Ready.  This is the vSphere Client metric which tells us how much time the guest VM is waiting for its share of CPU execution from the host just as %RDY did in ESXTOP.  But when you look at the statistics, you’ll notice a difference.  %RDY in ESXTOP provides us with metrics in a % format.  CPU Ready in the vSphere Client provides metrics in a millisecond summation format.  I learned way back from the ICM class and through trench experience that ~10% RDY (per each vCPU) is a threshold to watch out for.  How does a % value from ESXTOP translate to a millisecond value in the vSphere Client?  It doesn’t seem to be widely known or published but I’ve found it explained a few places.  A VMware communities document here and a Josh Townsend blog post here.

There’s a little math involved.  To convert the vSphere Client CPU Ready metric to the ESXTOP %RDY metric, you divide the CPU Ready metric by the rollup summation (which are both values in milliseconds).  What does this mean?  Say for instance you’re looking at the overall CPU Ready value for a VM in Real-time.  Real-time is refreshed every 20 seconds and represents a rollup of values over a 20 second period (that’s 20,000 milliseconds).  Therefore…

  • If the CPU Ready value for the VM is, say 500 milliseconds, we divide 500 milliseconds by 20,000 milliseconds and arrive at nearly 3% RDY.  Hardly anything to be concerned about. 
  • If the CPU Ready time were 7,500, we divide 7,500 milliseconds by 20,000 milliseconds and arrive at 37.5% RDY or $hit hitting the fan assuming a 1 vCPU VM. 

What do I mean above by 1 vCPU VM?  The overall VM CPU Ready metric is the aggregate total of CPU Ready for each vCPU.  This should sound familiar – if you know how %RDY works in ESXTOP, then you’re armed with the knowledge needed to understand what I’m explaining.  The %RDY value in ESXTOP is the aggregate total of CPU Ready for each vCPU.  In other words, if you saw a 20% RDY value in ESXTOP for a 4 vCPU VM, the actual %RDY for each vCPU is 5% which is well under the 10% threshold we generally watch for.  In the vSphere Client, not only can you look at the overall aggregate CPU Ready for a particular VM (which should be divided by the number of assigned vCPUs for the VM), but you can also look at the CPU Ready values for the individual vCPUs themselves.  It is the per CPU Ready value which should be compared with published and commonly known thresholds.  When looking at Ready values, it’s important to interpret the data correctly in order to compare the right data to thresholds.

I’ve often heard the conversation of “how do I convert millisecond values in the vSphere Client to % values in ESXTOP?”  I’ve provided a working example using CPU Ready data.  Understand it can be applied to other metrics as well.  Hopefully this helps.

Hardware Status and Maintenance Mode

October 20th, 2010

I’m unable to view hardware health status data while a host is in maintenance mode in my vSphere 4.0 Update 1 environment.

SnagIt Capture

A failed memory module was replaced on a host but I’m skeptical about taking it out of maintenance mode until I am sure it is healthy.  There is enough load on this cluster such that removing the host from maintenance mode will result in DRS moving VM workloads onto it within five minutes.  For obvious reasons, I don’t want VMs running on an unhealthy host.

So… I need to disable DRS at the cluster level, take the host out of maintenance mode, verify the hardware health on the Hardware Status tab, then re-enable DRS.  It’s a round about process, particularly if it’s a production environment which requires a Change Request (CR) with associated approvals and lead time to toggle the DRS configuration. 

Taking a look at KB 1011284, VMware acknowledges the steps above and considers the following a resolution to the problem:


By design, the host monitoring agents (IPMI) are not supported while the ESX host is in maintenance mode. You must exit maintenance mode to view the information on the Hardware Status tab. To take the ESX host out of maintenance mode:

1.Right click ESX host within vSphere Client.

2.Click on Exit Maintenance Mode.

Fortunately, this design specification has been improved by VMware in vSphere 4.1 where I have the ability to view hardware health while a host is in maintenance mode.