vSphere

Automate common VM changes after converting a VM to vSphere

I recently had the need to ‘prep’ a VM after converting it to vSphere. By ‘prep’ I mean (after you've installed VMware tools) do the usual grind of updating the virtual hardware to the latest supported by ESXi, update the vNIC to VMXNET3, and change the SCSI controllers to ParaVirtual. I thought about the times when I was in customer land and we would have to convert VMs from some other platform or in some cases, correct a VM that had been built incorrectly.

Identifying Uncommitted Space culprits with PowerCLI

Note: A bit more testing on my end has found this script is only valuable if your VMDKs are on separate datastores. I am working to find a better metric to pull the data per VMDK. Background Have you ever heard of “Uncommitted Space” in vSphere? It's one of those things we all seem to ‘know’ without really knowing. It's a pretty standard metric most commonly found against vSphere Datastores. It's effectively calculated based on the provisioned and used storage of a datastore and its contents.

Unable to push CA certificates and CRLs to host

Note: This post addresses and (hopefully) fixes the cause of the issue found here: vVols Endpoint - Failed to establish connection on ESXi host Recently, one of my customers was trying to refresh the CA store on newly built ESXi 6.7 U3 hosts under a freshly upgraded vCenter Server 6.7 U3 instance. When the admin tried refresh the CA store, they were getting this error message in the vSphere Client:

vVols Endpoint - Failed to establish connection on ESXi host

My customer has successfully rolled out VMware vSphere Virtual Volumes (or “vVols”) in their environment. They're loving the simplicity of storage management in vSphere, but were a little stuck when they added a pair of newly installed ESXi hosts to their environment. The hosts were not mounting the vVols datastore as expected meaning hosts could not run VMs backed by vVols. All existing hosts were OK. To start, they dug in to the logs at /var/log/vvold.

Using Regex in vRealize Orchestrator - extracting useful information from a VM name

Recently I had a customer wanting to identify if a VM of theirs was in Production, Test, or Development based on the VM's name. Luckily, all of their VMs are named using a naming standard of “{customer}{P|T|D}{application}{server-role}", giving a generic VM name like “custpdc1” or “cust-t-sql2”. They're just getting started on their journey with vRealize Orchestrator, and wanted to use it to perform this function. Easy enough, what do we need?

Managing Windows Server VM templates with Packer - Part 1

Introduction We all know the immense pain of managing Windows Server VM templates, regardless of the platform you're using. Sure, you can build them once then update them manually on a schedule. However, it's tedious to document and even worse to execute, making sure the template is identical every time (except for your new updates of course). In my experience, you also have to maintain multiple versions and editions of Windows Server.

Poor performance generating entropy in a VM from /dev/random

Just recently a few colleagues of mine were attempting to generate new private keys with a 4096 bit size but they were seeing shocking performance from all of their Linux VMs. They were seeing key generation taking up to 15 minutes while smashing away at the keyboard to generate entropy. It wasn't a resource issue, the VMs were sized appropriately and showed no signs of stress. They asked me if they could throw a “Chaos Key” USB device into each of the ESXi hosts to generate more entropy to reduce the time it takes, but I knew that wasn't required (like I was going to let that happen).

PSC 6.0U3 not respecting certool.cfg settings when generating VMCA CSR

After a very successful and quick migration from Windows SSO 5.5 U3e installation to a Platform Services Controller v6.0U3 appliance I was ready to get my VMCA into action. We have a corporate internal Microsoft CA with the VMware certificate templates already created as per VMware KB 2112009. Everything was coming up Milhouse, until CSR generation time using the ‘certificate-manager’ on the PSCs. After stepping through the ‘certificate-manager’ wizard and having the CSR and private key files sent to a directory of my choosing, I quickly inspected the CSR using openssl to make sure I was on the right track:

Empty inventory after SSO v5.5 to PSC v6.0 U3 migration

After performing the vSphere v5.5 to vSphere 6.0 migration in our testing environment with great success, I began work on our production environment. First things first, migrating Windows SSO to PSC appliance. I had successfully converted the first machine, and started doing some testing. Things like logging into the thick client and checking all vCenter servers and basic login services. Problem Out of 6 vCenter servers, only 1 was having issues.

vSphere 6 certificate templates with SHA256 encryption

I was just in the middle of configuring a PSC 6.0 node’s VMCA as an intermediate CA and, in traditional fashion, went to request a certificate from a Windows Server 2008 R2 Microsoft CA using the web enrollment form (as per this VMware KB article). Oddly enough though my brand spanking new vSphere 6.0 machine and intermediate CA certificate templates were missing from the template selection drop down. I had a look around online and found that MS CA v3 certificate templates are not supported in the web enrollment form.