For the past 15 years and more, VMware has been the leader in the virtualization landscape with a product that was once a revolutionary and made complicated features a breeze to configure, thanks to an easy-to-use UI and solid API. While the trend is facing cloud providers and cloud native workloads, on-premise virtual platforms still have solid traction as moving to a cloud native model requires both technical, human and organizational efforts that most small and large companies just can’t afford.
In the meantime, they need somewhere to run their workloads. And as good as VMware Cloud on AWS or VMware on Azure may sound, this doesn’t solve the issue as this is a typical lift-and-shift scenario that will only bring additional costs to run servers (unless OPEX is favorable to CAPEX).
As you know, vSphere comes in several editions with different price points (including vSphere+ Standard as of 2022). In this blog, we will go back in time and talk about the 7 best features to leverage if your hosts are equipped with vSphere Standard licenses as opposed to vSphere Enterprise Plus which unlocks all capabilities of the product.
Lifecycle manager
What used to be known as vSphere Update Manager (or VUM) is now vSphere Lifecycle Manager. The point of vLCM is that you can easily manage your fleet of servers by controlling the ESXi image being applied while including packages (VIBs) with vLCM Desired State Image and even firmware if you have the correct hardware provider.
vLCM makes vSphere admins’ life a lot easier with features like depot editing to allow edits, such as adding or removing a driver or other VIBs. In addition, hardware compatibility now includes firmware on top of the I/O controllers. Lastly, vLCM provides much-improved witness management for vSAN as it can manage those nodes during maintenance operations.
Note that vLCM can still function like vSphere Update Manager (VUM) by using vLCM Baselines. However, you will find that vLCM Desired State Image offers wider capabilities and is future proof in that regard.
vLCM Desired State Image | vLCM Baseline | |
---|---|---|
Declarative Lifecycle Management | Yes | No |
ESXi Upgrade | Yes | Yes |
Vendor Add-on | Yes | Yes, Manual with Custom ISO |
Full-Stack Firmware Upgrade | Yes | No |
VMware Solution Support (vSAN, NSX-T, vSphere with Tanzu) | Yes, Fully integrated | Yes, Manual |
vSAN HCL checks | Yes | No |
UMDS Shared repository | Yes | Yes |
Depot Override | Yes | No |
Quick Boot Support | Yes | Yes |
Suspend to Memory | Yes | No |
Suspend to Disk | Yes | Yes |
Automatic Downloads | Yes | No, Manually import the ISO to create the baseline |
vMotion and Storage vMotion
Probably the start of the show, no need to introduce vMotion anymore but I will still do so as this blog is somewhat aimed at new users getting their bearings with vSphere.
vSphere vMotion is VMware’s feature that allows you to live migrate virtual machines between hosts with no interruption of service. The feature has been around since the very beginning but it received countless improvements and optimizations over the many iterations of vSphere since its release.
Thankfully, vSphere vMotion is included in vSphere Standard and you can even migrate virtual machines between vCenter servers since the popular sVMotion fling made its way into the final product.
Performing a vMotion is as easy as it gets but the speed of the migration will depend on a couple of factors:
- Speed of the network used by vMotion (NIC, switches…). 10Gbps or above is encouraged to speed up migrations as much as possible
- Amount of memory on the VM. Because a vMotion is essentially a copy of the content of the RAM from one host to another, a VM configured with 4GB of RAM will migrate much faster than a VM with 64GB of RAM
Note that, when a virtual machine is powered off, the migration isn’t really a vMotion as the RAM is empty. In this case, the VM is simply unregistered from the source host and registered on the destination host, making the operation instantaneous regardless of the size of the RAM.
On the other hand, storage vMotion offers the possibility to move the disk files of a virtual machine to a different datastore without changing the host where the machine is running. Those will obviously take longer to execute as virtual disks are most often larger than memory allocation.
vSphere HA
Why do we need virtualization anyway? So things don’t break as bad when something go sideways right? This is the whole purpose of vSphere HA (a.k.a. High Availability). The purpose of HA is to restart virtual machines on a host in the cluster in case of failure of the one they were running on.
vSphere HA works with a heartbeat mechanism. No dedicated network or file required like in Hyper-V as it will use the management network. vSphere HA works at the cluster level (i.e. VMs can only restart on hosts that are part of the same cluster and that share the datastore on which the VMs are stored).
Note that vSphere HA offers 2 main methods to identify failures:
Regular heartbeat (Host monitoring): ESXi hosts communicate with each other and detect when a host no longer answers.
Datastore heartbeat: ESXi hosts communicate with each other by writing to a special file that is stored on a datastore. This is useful to detect if the host is down or if it is an issue with the management network.
Without going into the details here, vSphere HA (a.k.a. vSphere Availability) offers several levels of response to failures by attempting to identify events such as host failure, host isolation, datastores in APD state (All Paths Down) or in PDL (Permanent Device Loss), application failure with App monitoring…
Some environments even leverage Proactive HA which directly interacts with the Out-Of-Band (OOB) card (iLO, iDRAC, iRMC…) to evacuate the host when the health of a hardware device is degraded (CPU, Memory dimm…).
Finally, an important concept to understand when working with vSphere HA is Admission Control which prevents you from starting virtual machines if it means you would be violating the failover threshold set by Admissions control (which thankfully can be configured as Cluster resource percentage without having to calculate it from slots like in older versions).
vCenter HA
Don’t be confused with vSphere HA here and pay attention to the name when dealing with vCenter HA. You might be used to appliances working in HA mode like load balancers or routers, vCenter HA achieves a somewhat similar goal by running 3 instances in parallel to reduce unavailability of vCenter in case of failure of a host on which it runs.
vCenter HA will replicate the vPostgres database from the active to passive node and the witness component will ensure a tie breaker. vCenter HA is then composed of 3 nodes:
- Active
- Runs the active vCenter Server instance
- Uses a public IP address for the management interface
- Uses the vCenter HA network for replication of data to the Passive node
- Uses the vCenter HA network to communicate with the Witness node
- Passive
- Is initially a clone of the Active node
- Constantly receives updates from and synchronizes state with the Active node over the vCenter HA network
- Automatically takes over the role of the Active node if a failure occurs
- Witness
- Is a lightweight clone of the Active node
- Provides a quorum to protect against a split-brain situation
Content Library
Working with templates makes VM deployment much easier and has been an essential thing to have in every single virtual environment for a very long time now. However, managing templates in vSphere can prove challenging at times as you end up with templates scattered across datastores, mismanaged or those that remain outdated for months on end.
The Content Library feature lets you create a library that you can populate with templates, ISOs and OVFs. They can then be deployed easily from the content library and version managed as you updated the guest OS and packages in it.
Note that you can also subscribe to content library that have been published beforehand. Most of the time you will be working with libraries that are internal to your organization when dealing with multiple sites for instance. However, you can also very well subscribe to public content libraries and directly synchronize or deploy images from the internet. Examples for that includes William Lam’s nested ESXi public library or the official VMware Tanzu repo that hosts supported Tanzu kubernetes grid images.
PowerCLI
PowerCLI is one of best, when it comes to managing vSphere infrastructures as I used to spend hours on it to automate tasks and simplify my VI admin life. I wrote a bunch of articles about it over the years that you will find on the BDRSuite blog.
What’s New in PowerCLI 13
Build your Own Tailored PowerCLI Commands
What’s New in PowerCLI 12
PowerCLI is an official PowerShell module that lets you connect to vCenter and other VMware products to automate routine tasks or build various scripts. It benefits from PowerShell’s awesome syntax which makes it easy to learn.
To install PowerCLI, simply run the following:
Install-Module VMware.PowerCLI -Scope CurrentUser”
You can even use esxcli from within PowerCLI when connected to a vCenter. This is very useful when troubleshooting, if you want to run commands against several servers and don’t want to go through the trouble of enabling SSH, connecting and running your commands.
You can simply do it like so (find out more about it in our blog on the topic):
$esxcli = Get-EsxCLI -VMhost ESX1 -V2
$esxcli.system.module.parameters
=========================
EsxCliElement: parameters
Method Elements:
———
copy
list
set
…
Note also that you can use PowerCLI in MacOS and Linux since they support PowerShell 7.0 and the modules are now on par with Windows since PowerCLI 13.0
vSphere tags
vSphere tags are a way to add metadata to resources in vCenter to identify and group them based on specific requirements that can’t be retrieved programmatically (geographic location, project, business acumen, department and so on). Annotating resources sounds a bit boring I will admit. However, tie vSphere tags with a bit of automation (PowerCLI for instance) and you can build powerful workflows for cheap.
The use cases for vSphere tags are numerous and will depend on each environment but a few that I implemented myself which saved me a ton of time include:
- Create a poor man’s DRS automation in PowerCLI for an environment equipped with vSphere Standard licenses.
Automatically add VMs to the correct DRS VM group to assign them to a geographical site (required DRS) - Annotate VMs to be backed by your backup solution
- If you aren’t using tags yet, I strongly recommend that you look into it with a pinch of PowerCLI
Conclusion
VMware vSphere offers a plethora of features but not all organizations can afford to purchase vSphere Enterprise Plus licenses for all of their hosts as the cost difference is not negligible. However, while vSphere Standard is somewhat crippled compared to its big brother, the available features paired with a bit of creativity can take your environment much further than you would think.
Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.