kantver - Fotolia
The next release of vSphere won't include VMware ESX, so you may be unsure how to upgrade your ESX hosts to ESXi hosts. Unfortunately there is no magic bullet, and as with all upgrades, you should not rush into it without being prepared. In this article, I will provide a suggested methodology.
1. Understand the differences between ESX and ESXi
First, you need a good understanding of the differences between ESX and ESXi. The two hypervisors run the same VMkernel, but managing ESXi is different than management ESX. ESX and ESXi used to differ considerably, but vSphere 4/1 addressed most of the differences and the two hypervisors are now on par with each other.
2. Gain ESXi experience
Even if you've used ESXi, you may need to brush up on your skills. To experiment, set up a test environment so you don't affect your production environment. If you don't have spare hardware, you can run ESXi inside a virtual machine (VM) on an ESX host or with VMware Workstation.
Learn the different management techniques used with ESXi by installing the vSphere command-line interface (CLI) on your workstations and installing the vSphere Management Assistant (vMA) onto a host. Familiarize yourself with the vSphere PowerCLI. You should also experiment with the Tech Support Mode console, which can be accessed remotely or locally.
3. Find alternatives to ESX Service Console agents and scripts
If you use agents or scripts within the ESX Service Console, there are alternatives that work with ESXi. This includes backup and hardware monitoring agents. Check with vendors to make sure they have a technology that supports ESXi. This may mean upgrading older software.
Although VMware is working to ensure third-party software compatibility, don't assume that any software will work with ESXI -- at least not the version of the software with which you are familiar. Some vendors may change functionality to achieve compatibility.
Most vendor-specific hardware agents are built into the ESXi installable file via server customizations that are located in the oem.tgz file, which is installed onto ESXi's main disk partition. To get these agents you typically have to download a special copy of ESXi from the server manufacturer's website, as the ESXi installable file on VMware's website only contains standard, nonvendor specific Common Information Model providers. If you use Perl scripts inside the Service Console, you should consider PowerShell, the vSphere CLI or vMA.
4. Consider scripting host machine installations
As of the vSphere 4.1 release, ESXi supports automated ESX host deployment via scripted installations. Automated host deployment functionality is similar to ESX and involves PXE booting from a network interface card, loading the install image from a repository and running a KickStart script to customize the installation. You can read more about the process in VMware's ESXi installation documentation.
Host profiles can also customize host configurations, but their functionality is somewhat limited. You can also use scripted installs in conjunction with host profiles.
5. Plan your ESX to ESXi upgrade
Once you've gotten experience with ESXi and are ready to upgrade existing ESX hosts to ESXi, there are a few approaches you can take. It's not necessarily an easy process; no tools convert ESX hosts to ESXi, so you have to install ESXi over the existing ESX installation.
To make matters worse, local Virtual Machine File System (VMFS) volumes are not preserved as a default; the ESXi installer wipes out existing local partitions and creates new ones. Therefore, you have to move all VMs off a host before you can perform an upgrade on the host.
If the host's virtual machines use shared storage, the journey from ESX to ESXi isn't difficult, but if they use local storage, you must cold-migrate or use Storage VMotion to move them to other hosts and data stores. If you have limited disk space available on other data stores, you can use Storage VMotion and select the thin disk format to decrease the size of the disk files.
If you have extra disk space, you can create a new ESXi host and then migrate virtual machines to the new host. If you have enough spare capacity to move VMs from the host being upgraded to other hosts and still satisfy High Availability (HA) requirements, you can vMotion or cold-migrate the VMs from the host, perform the upgrade and then move VMs back to the newly upgraded ESXi host.
6. Choose your configuration method
While performing the upgrade from ESX to ESXi is simple, reconfiguring the host after the upgrade can be a pain. During the conversion process, all settings specific to a host are lost. There is no way to back up these settings and restore them, so documenting critical settings is extremely important and can save time as you reconfigure the host.
Settings you may want to document include vSwitch configurations, security settings, Domain Name System and time settings, power management settings and others. If you have a small number of hosts with simple configurations, documenting these settings shouldn't be too difficult. But if you have many hosts with highly detailed configuration settings, the documentation process could be difficult and time-consuming. Fortunately, there are several ways to make this process easier.
- If you are licensed for them, use host profiles. While host profiles don't cover everything, they cover some basic settings. You can simply apply the host profile to the new ESXi host once it is built.
- Use Distributed vSwitches if you are licensed for them, since the vNetwork Distributed Switch (vDS) configuration is stored in vCenter Server, it will not be lost when you upgrade the host from ESX to ESXi. Once the new ESXi host is built, attach the host to the vDS, assign the physical network interface card and you are all set.
- Use KickStart or PowerShell scripts to automatically update configuration settings for the host. You need to build these scripts and customize slightly for each host, but this can still be a big time saver.
- Use a tool that documents your ESX host configuration settings. Veeam Reporter is a great tool for this task and is available in a free edition as well. The tool automates the documentation part of the ESX host, and you can use scripts to help automate the ESXi host configuration.
- Use a more advanced host profile configuration application such as Reflex Systems' vProfile Configuration Management, which can manage more configuration settings than Host Profiles can. VProfile is a powerful configuration management tool that makes configuring hosts quick and easy. The concept is similar to Host Profiles, where you can simply apply a configuration to a new host after it is built.
7. Upgrade your ESX hosts to ESXi
Once you are ready to upgrade an ESX host to an ESXi host and have gathered the information required to reconfigure it post-conversion, you can take the following steps:
- Evacuate all VMs on local storage to other hosts.
- Remove the host from vCenter Server.
- If you're using Fibre Channel storage, it's a best practice to disconnect the fiber cables from the host before the upgrade and reconnect them once the upgrade completes so you don't accidently wipe out any shared data stores.
- Boot from the ESXi installer disc.
- Select Install at the Welcome screen.
- Select the local partition that ESX is installed on. There will be an asterisk noting that it already contains a VMFS partition; press F1 to see the details of the partition or press Enter to continue.
- A warning will appear saying the partition has active data and will be overwritten; press Enter to continue.
- A message appears saying that when ESXi is initially booted, it will format local storage that is unformatted on the host and that existing partitions on available disks will be removed.
Moving from ESX to ESXi can be a time-consuming and involved process, especially the first few times you do it. As you gain experience it should become easier.
Why users say 'nay' to the big ESX-ESXi switch
Wanted: command-line chops for ESXi
Installing VMware ESXi on a physical server
Ease into ESXi with the VMware Management Assistant