VM Junkie

May 24, 2009

vSphere Tidbits Number 2

Filed under: Uncategorized, vmware, vSphere — Justin Emerson @ 6:16 pm

I’m chronicling some of the cool things I discover as I go along playing around with vSphere. This time, some stuff about Fault Tolerance!

First off, if your CPUs are not FT-compatible (check here) then it won’t even turn on. So unfortunately, it’s not one of those “it works but is unsupported” deals, unless there’s some way to turn off the CPU checking that still needs to be discovered. This has already bitten us in the lab…

Next, if they are compatible, then you need to turn HA on. So far it seems like HA is much more tempermental about DNS in 4.0 than it was in VI3.5 (even pre-Update 2). For example, do NOT add your hosts to vCenter by IP address if you want to get HA to work…

Also, FT is actually really flexible once you get it turned on. You can migrate not only the primary node but also the secondary. This can be important if you want to make sure your two FT nodes are in separate blade chassis, or even different datacenters if you’re doing stretched ESX clusters.

Finally, You can actually Open a Console to each VM (the secondary gives you a warning that it’s read only) and watch what you do on the primary VM get replayed in near-realtime on the secondary node.

I think FT is a really neat feature, and despite all the caveats (no vSMP, no thin provisioning, no snapshots, etc) I still think it’ll be a really great feature that can only get better!

May 22, 2009

vSphere Tidbits Number 1

Filed under: Uncategorized — Justin Emerson @ 8:53 am

As I play around more and more with vSphere, I wanted to post some little tidbits here and there of stuff that I find which it doesn’t seem like anyone has talked about yet.

The first cool tidbit is that the VI Client (now the vSphere Client) gives you a lot more information about what it’s doing on those long, multi-part tasks. However, if you upgraded your VI2.5 client to the vSphere Client, this area isn’t visible!

After upgrading to the vSphere Client, make sure you right click on the columns title area of the Recent Tasks pane, and check the “Details” column to make it visible. After an upgrade, this is hidden by default. Now, instead of wondering “What the heck is actually happening when VMotion is at 90%?” you can see it! For example, when enabling Fault Tolerance, you see the following subtasks:

  • Configuring the primary VM for Fault Tolerance
  • Creating secondary VM
  • Registering secondary VM
  • Preparing the VM for live migration
  • Migrating the active state of the VM

Pretty cool! Now when doing tasks like Enabling HA, you can see at which point the tasks fails.

May 18, 2009

New Best Practices for vSphere?

Filed under: vmware, vSphere — Justin Emerson @ 9:58 am

So, considering the big day is later this week, I’ve been going over what should be some new best practices for vSphere vs. VI3.5. With all the new features available, there’s definitely some changes to consider. For example:

  • All new systems where I/O rates matter should have a secondary disk using the PVSCSI controller.
  • Use the new Advanced VMXNet adapter where ever possible, and make sure its advanced features are enabled in your OS template.
  • Thin Provision your disks*

However, on that last one I’ve heard a few weird statements from VMware people about Thin Provisioning, like it doesn’t support snapshots. This is odd, in my testing this hasn’t been the case and then in the next breath they say VCB is still supported on Thin Provisioned VMs… which would lead me to believe that they’re mistaken.

What changes are you all out there planning on making to your best practices?

May 7, 2009

When Powershell is a little bit TOO fast…

Filed under: esx, powershell, vmware — Justin Emerson @ 9:49 am

Last night I was doing a bunch of migrations on a severely overworked vCenter box, moving a bunch of VMs from an old cluster to a new one. I tried using it to do a bunch of cold migrations, i.e.:
$vmlist | Move-VM -Destination $desthost

Unfortunately, what happened was performing this on 40 powered off VMs initiates all 40 tasks at one. This really makes vCenter unhappy and it just kind of sits there staring at these 40 tasks “In Progress” and freezes up for a good 3 or 4 minutes. In one instance this actually failed and said “unable to communicate with remote host” and failed all the tasks after only 2 or 3 completed.

Unfortunately, rather than serializing these operations, it was just doing them in parallel. So I wondered, how could I serialize these and give the poor vCenter server a break?

$vmlist | % { Move-VM -VM $_ -destination $desthost
Start-Sleep -Seconds 5 }

Tada! By wrapping it in a foreach loop and adding a sleep, this made life much easier for my poor vCenter box. That’ll teach me to use the built-in SQL Express database…

Blog at WordPress.com.