Vsphere Esxi 703 Upgrade Guide
Vsphere Esxi 703 Upgrade Guide
Update 3
VMware vSphere 7.0
VMware ESXi 7.0
VMware ESXi Upgrade
You can find the most up-to-date technical documentation on the VMware website at:
https://docs.vmware.com/
VMware, Inc.
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
©
Copyright 2018-2022 VMware, Inc. All rights reserved. Copyright and trademark information.
VMware, Inc. 2
Contents
VMware, Inc. 3
VMware ESXi Upgrade
Boot Options 42
About Installation and Upgrade Scripts 43
Install or Upgrade ESXi from a CD or DVD by Using a Script 55
Install or Upgrade ESXi from a USB Flash Drive by Using a Script 56
Performing a Scripted Installation or Upgrade of ESXi by Network Booting the Installer 57
Overview of the Network Boot Installation Process 58
Boot the ESXi Installer by Using PXE and TFTP 59
Boot the ESXi Installer by Using iPXE and HTTP 61
Boot the ESXi Installer by Using Native UEFI HTTP 64
Network Boot Background Information 66
PXELINUX Configuration Files 67
Sample DHCP Configurations 68
Upgrading Hosts by Using ESXCLI Commands 72
VIBs, Image Profiles, and Software Depots 72
Understanding Acceptance Levels for VIBs and Hosts 73
Determine Whether an Update Requires a Host to Be in Maintenance Mode or to Be
Rebooted 75
Place a Host in Maintenance Mode 76
Update a Host with Individual VIBs 78
Upgrade or Update a Host with Image Profiles 79
Update ESXi Hosts by Using Zip Files 82
Remove VIBs from a Host 83
Adding Third-Party Extensions to Hosts with an ESXCLI Command 85
Perform a Dry Run of an ESXCLI Installation or Upgrade 85
Display the Installed VIBs and Profiles That Will Be Active After the Next Host Reboot 86
Display the Image Profile and Acceptance Level of the Host 86
After You Upgrade ESXi Hosts 87
About ESXi Evaluation and Licensed Modes 87
Licensing ESXi Hosts After Upgrade 88
Run the Secure Boot Validation Script on an Upgraded ESXi Host 88
Required Free Space for System Logging 89
Configure Syslog on ESXi Hosts 90
VMware, Inc. 4
VMware ESXi Upgrade
VMware, Inc. 5
About VMware ESXi Upgrade
1
VMware ESXi Upgrade describes how to upgrade VMware ESXi™ to the current version.
At VMware, we value inclusion. To foster this principle within our customer, partner, and internal
community, we have updated this guide to remove instances of non-inclusive language.
Intended Audience
VMware ESXi Upgrade is for anyone who needs to upgrade from earlier versions of ESXi. These
topics are for experienced Microsoft Windows or Linux system administrators who are familiar with
virtual machine technology and data center operations.
VMware, Inc. 6
vCenter Server Upgrade Options
2
vCenter Server 7.0 provides many options for upgrading your vCenter Server deployment. For a
successful vCenter Server upgrade, you must understand the upgrade options, the configuration
details that impact the upgrade process, and the sequence of tasks.
The two core components of vSphere are VMware ESXi™ and VMware vCenter Server™. ESXi is
the virtualization platform on which you can create and run virtual machines and virtual appliances.
vCenter Server is a service that acts as a central administrator for ESXi hosts connected in a
network. You use the vCenter Server system to pool and manage the resources of multiple hosts.
vCenter Server appliance is a preconfigured virtual machine optimized to run vCenter Server.
You can upgrade existing vCenter Server deployments that include either an embedded or an
external Platform Services Controller to a deployment consisting of a vCenter Server appliance.
VMware, Inc. 7
VMware ESXi Upgrade
3 If your vSphere system includes VMware solutions or plug-ins, verify that they are compatible
with the vCenter Server appliance version to which you are upgrading. See VMware
Product Interoperability Matrix at http://www.vmware.com/resources/compatibility/sim/
interop_matrix.php.
5 Upgrade your ESXi hosts. See Overview of the ESXi Host Upgrade Process.
6 To ensure sufficient disk storage for log files, consider setting up a syslog server for remote
logging. Setting up logging on a remote host is especially important for hosts with a limited
amount of local storage.
See Required Free Space for System Logging and Configure Syslog on ESXi Hosts.
VMware, Inc. 8
VMware ESXi Upgrade
The details and level of support for an upgrade to ESXi 7.0 depend on the host to be
upgraded and the upgrade method that you use. Verify that the upgrade path from your
current version of ESXi to the version to which you are upgrading, is supported. For more
information, see the VMware Product Interoperability Matrices at http://www.vmware.com/
resources/compatibility/sim/interop_matrix.php.
You can upgrade an ESXi host with version 6.5 or 6.7 by using an interactive upgrade from a CD,
DVD, or USB, a scripted upgrade, ESXCLI, or vSphere Lifecycle Manager. When you upgrade an
ESXi 6.5 or 6.7 host that has custom VIBs to version 7.0, all supported custom VIBs are migrated.
For more information, see Upgrading Hosts That Have Third-Party Custom VIBs.
VMware, Inc. 9
VMware ESXi Upgrade
Choose
your
upgrade
method
Upgrade ESXi hosts using Upgrade ESXi hosts Upgrade ESXi hosts using
the GUI, script, or CLI using Auto Deploy vSphere Lifecycle Manager
1 Verify that your system meets the upgrade requirements. See ESXi Requirements.
2 Prepare your environment before upgrading. See Before Upgrading ESXi Hosts.
3 Determine where you want to locate and boot the ESXi installer. See Media Options for
Booting the ESXi Installer. If you are network booting the installer, verify that your network
boot infrastructure is properly set up. See Network Booting the ESXi Installer.
5 After upgrading ESXi hosts, you must reconnect the hosts to the vCenter Server and reapply
the licenses. See After You Upgrade ESXi Hosts.
VMware, Inc. 10
VMware ESXi Upgrade
The following methods are supported for a direct upgrade to ESXi 7.0.
n Use the interactive graphical user interface (GUI) installer from a CD, DVD, or USB drive.
n Use ESXCLI.
n Use vSphere Auto Deploy. If the ESXi host is deployed by using vSphere Auto Deploy, you can
use vSphere Auto Deploy to reprovision the host with a 7.0 image.
You can upgrade interactively by using an ESXi installer ISO image on a CD, DVD, or USB
flash drive or by network booting the installer. This method is appropriate for deployments
with a few hosts. If during the installation process, you select a target disk that contains an
ESXi installation, the installer upgrades the host to ESXi version 7.0. The installer also gives
you the option to migrate some existing host settings and configuration files and to preserve
the existing VMFS datastore. See Upgrade Hosts Interactively.
To do a scripted upgrade, you can use the ESXi 7.0 installer from a CD, DVD, or USB flash
drive or by network booting the installer. This method is an efficient way to deploy multiple
hosts. For more information, see Installing or Upgrading Hosts by Using a Script.
ESXCLI
You can use ESXCLI to upgrade ESXi 6.5 hosts or ESXi 6.7 hosts to ESXi 7.0 hosts. See
Upgrading Hosts by Using ESXCLI Commands .
If an ESXi host is deployed with vSphere Auto Deploy, you can use vSphere Auto Deploy
to reprovision the host and reboot it with a new image profile. Such profile contains an
ESXi upgrade or patch, a host configuration profile, and optionally, third-party drivers or
management agents that are provided by VMware partners. You can build custom images by
using vSphere ESXi Image Builder CLI. For more information, see Chapter 4 Using vSphere
Auto Deploy to Reprovision Hosts .
vSphere Lifecycle Manager is a vCenter Server service for installing, upgrading, and updating
ESXi hosts. By using images and baselines, vSphere Lifecycle Manager enables centralized
and simplified lifecycle management for multiple ESXi hosts at a cluster level. For more
information about performing orchestrated installations, upgrades, and updates, see the
Managing Host and Cluster Lifecycle documentation.
VMware, Inc. 11
VMware ESXi Upgrade
vSphere Client
You can use the vSphere Client to upgrade a virtual machine step by step. For more
information about upgrading virtual machines, see the vSphere Virtual Machine Administration
documentation.
You can use the vSphere Lifecycle Manager to upgrade the virtual machine hardware and
VMware Tools versions of the virtual machines in your environment. The vSphere Lifecycle
Manager automates the upgrade process and verifies that the steps occur in the correct order.
For more information, see the Managing Host and Cluster Lifecycle documentation.
VMware, Inc. 12
Upgrading ESXi Hosts
3
After you upgrade vCenter Server, upgrade your ESXi hosts. You can upgrade ESXi 6.5 and 6.7
hosts directly to ESXi 7.0.
To upgrade hosts, you can use the tools and methods that are described in Overview of the ESXi
Host Upgrade Process.
Caution If you upgrade hosts managed by vCenter Server, you must upgrade vCenter Server
before you upgrade the ESXi hosts. If you do not upgrade your environment in the correct order,
you can lose data and lose access to servers.
n ESXi Requirements
ESXi Requirements
To install or upgrade ESXi, your system must meet specific hardware and software requirements.
VMware, Inc. 13
VMware ESXi Upgrade
Caution Always create ESX-OSData partitions on persistent storage device that is not
shared between ESXi hosts. Use USB, SD and non-USB flash media devices only for
boot bank partitions.
The ESX-OSData volume is divided into two high-level categories of data, persistent and non-
persistent data. Persistent data contains of data written infrequently, for example, VMware Tools
ISOs, configurations, and core dumps.
Non-persistent data contains of frequently written data, for example, logs, VMFS global traces,
vSAN Entry Persistence Daemon (EPD) data, vSAN traces, and real-time databases.
VMware, Inc. 14
VMware ESXi Upgrade
250 MB boot-bank 0
boot-bank 0 500 MB to 4 GB,
(depending on the
size of the used
boot media)
250 MB boot-bank 1
(created if media > 3.4 GB) 2.5 GB large core-dump remaining space,
ROM data RAM data
up to 138 GB
4 GB scratch
VMware, Inc. 15
VMware ESXi Upgrade
You can review the boot media capacity and the automatic sizing as configured by the ESXi
installer by using the vSphere Client and navigating to the Partition Details view. Alternatively, you
can use ESXCLI, for example the esxcli storage filesystem list command.
Table 3-2. ESXi 7.0 System Storage Sizes, Depending on the Used Boot Media and Its Capacity.
Boot-bank 0 500 MB 1 GB 4 GB 4 GB
Boot-bank 1 500 MB 1 GB 4 GB 4 GB
Starting with vSphere 7.0 Update 1c, you can use the ESXi installer boot option systemMediaSize
to limit the size of system storage partitions on the boot media. If your system has a small footprint
that does not require the maximum of 138 GB of system storage size, you can limit it to the
minimum of 33 GB. The systemMediaSize parameter accepts the following values:
The selected value must fit the purpose of your system. For example, a system with 1 TB of
memory must use the minimum of 69 GB for system storage. To set the boot option at install
time, for example systemMediaSize=small, refer to Enter Boot Options to Start an Installation or
Upgrade Script. For more information, see Knowledge Base article 81166.
Boot-bank 0 /bootbank
Boot-bank 1 /altbootbank
VMware, Inc. 16
VMware ESXi Upgrade
n Supported server platform. For a list of supported platforms, see the VMware Compatibility
Guide at http://www.vmware.com/resources/compatibility.
n ESXi 7.0 requires a host with at least two CPU cores.
n ESXi 7.0 supports a broad range of multi-core of 64-bit x86 processors. For a complete
list of supported processors, see the VMware compatibility guide at http://www.vmware.com/
resources/compatibility.
n ESXi 7.0 requires the NX/XD bit to be enabled for the CPU in the BIOS.
n ESXi 7.0 requires a minimum of 4 GB of physical RAM. Provide at least 8 GB of RAM to run
virtual machines in typical production environments.
n To support 64-bit virtual machines, support for hardware virtualization (Intel VT-x or AMD RVI)
must be enabled on x64 CPUs.
n One or more Gigabit or faster Ethernet controllers. For a list of supported network
adapter models, see the VMware Compatibility Guide at http://www.vmware.com/resources/
compatibility.
n ESXi 7.0 requires a boot disk of at least 32 GB of persistent storage such as HDD, SSD, or
NVMe. Use USB, SD and non-USB flash media devices only for ESXi boot bank partitions. A
boot device must not be shared between ESXi hosts.
n SCSI disk or a local, non-network, RAID LUN with unpartitioned space for the virtual machines.
VMware, Inc. 17
VMware ESXi Upgrade
n For Serial ATA (SATA), a disk connected through supported SAS controllers or supported
on-board SATA controllers. SATA disks are considered remote, not local. These disks are not
used as a scratch partition by default because they are seen as remote.
Note You cannot connect a SATA CD-ROM device to a virtual machine on an ESXi host. To
use the SATA CD-ROM device, you must use IDE emulation mode.
Storage Systems
For a list of supported storage systems, see the VMware Compatibility Guide at http://
www.vmware.com/resources/compatibility. For Software Fibre Channel over Ethernet (FCoE), see
Installing and Booting ESXi with Software FCoE.
vSphere Auto Deploy supports network booting and provisioning of ESXi hosts with UEFI.
ESXi can boot from a disk larger than 2 TB if the system firmware and the firmware on any add-in
card that you are using support it. See the vendor documentation.
Other options for best performance of an ESXi 7.0 installation are the following:
n A local disk of 138 GB or larger for optimal support of ESX-OSData. The disk contains the boot
partition, ESX-OSData volume and a VMFS datastore.
Note GB units specified are in storage device sizes, i.e. 1,000,000,000 byte multiples.
Legacy SD and USB devices are supported with the following limitations:
n SD and USB devices are supported for boot bank partitions. For best performance, also
provide a separate persistent local device with a minimum of 32 GB to store the /scratch and
VMware Tools partitions of the ESX-OSData volume. The optimal capacity for persistent local
devices is 138 GB. The use of SD and USB devices for storing ESX-OSData partitions is being
deprecated.
VMware, Inc. 18
VMware ESXi Upgrade
n Starting with ESXi 7.0 Update 3, if the boot device is a USB or SD card with no local persistent
storage, such as HDD, SSD, or a NVMe device, the VMware Tools partition is automatically
created on the RAM disk. For more information, see Knowledge Base article 83376.
n If you assign the /scratch partition to a USB or SD card with no local persistent storage,
you see warnings to prevent you from creating or configuring partitions other than the boot
bank partitions on flash media devices. For best performance, set the /scratch partition on
the RAM disk. You can also configure and move the /scratch partition to a SAN or NFS. For
more information, see Knowledge Base article 1033696.
n You must use an SD flash device that is approved by the server vendor for the particular server
model on which you want to install ESXi on an SD flash storage device. You can find a list of
validated devices on partnerweb.vmware.com.
n See Knowledge Base article 85685 on updated guidance for SD card or USB-based
environments.
n To chose a proper SD or USB boot device, see Knowledge Base article 82515.
Caution If a local disk cannot be found, or the boot media is a USB or SD device without an
additional durable storage for persistent data, then the /scratch partition is on the RAM disk,
linked to /tmp, and ESXi 7.0 operates in degraded mode.
When in degraded mode, you see a System Alert such as: ALERT: No persistent storage
available for system logs and data. ESX is operating with limited system
storage space, logs and system data will be lost on reboot.
When ESXi 7.0 operates in degraded mode, the consumption of RAM for logs might result in
nonpersistent logs, possible failure to log or out of memory condition for temporary data. A
possible side effect is slow booting due to the time spent for rebuilding of the disk state.
Use persistent storage of sufficient size to prevent degraded mode. You can reconfigure /
scratch to use a separate disk or LUN.
The upgrade process to ESXi 7.0 repartitions the boot device and consolidates the original core
dump, locker, and scratch partitions into the ESX-OSData volume.
n If a custom core dump destination is not configured, then the default core dump location is a
file in the ESX-OSData volume.
n If the syslog service is configured to store log files on the 4 GB VFAT scratch partition, the log
files in var/run/log are migrated to the ESX-OSData volume.
n VMware Tools are migrated from the locker partition and the partition is wiped.
VMware, Inc. 19
VMware ESXi Upgrade
n The core dump partition is wiped. The application core dump files that are stored on the
scratch partition are deleted.
Note Rollback to an earlier version of ESXi is not possible due to the repartitioning process of the
boot device. To use an earlier version of ESXi after upgrading to version 7.0, you must create a
backup of the boot device before the upgrade, and restore the ESXi boot device from the backup.
If you use USB or SD devices to perform an upgrade, the installer attempts to allocate an
ESX-OSData region on an available local disk. A datastore is used for /scratch, if no space is
available. If no local disk or datastore is found, /scratch is placed on the RAM disk. After the
upgrade, reconfigure /scratch to use a persistent datastore or add a new disk for system storage
volumes.
For more information on reconfiguring the /scratch partition, see the vCenter Server Installation
and Setup documentation.
After upgrading to ESXi 7.0, you can add a new local disk and enable the setting
autoPartition=TRUE. After a reboot, the boot disk is partitioned. For more information on the
boot options to configure the size of ESXi system partitions, see Knowledge Base article https://
kb.vmware.com/s/article/81166.
In Auto Deploy installations, the installer attempts to allocate a scratch region on an available local
disk or datastore. If no local disk or datastore is found, the /scratch partition is placed on the
RAM disk. Reconfigure /scratch to use a persistent datastore after the installation.
For environments that boot from a SAN or use Auto Deploy, the ESX-OSData volume for each
ESXi host must be set up on a separate SAN LUN. However, if /scratch is configured not to
use ESX-OSData, you do not need to allocate a separate LUN for /scratch for each host. You
can co-locate the scratch regions for multiple ESXi hosts onto a single LUN. The number of hosts
assigned to any single LUN should be weighed against the LUN size and the I/O behavior of the
virtual machines.
Table 3-4. Supported Remote Management Server Models and Minimum Firmware Versions
Remote Management Server
Model Firmware Version Java
VMware, Inc. 20
VMware ESXi Upgrade
Table 3-4. Supported Remote Management Server Models and Minimum Firmware Versions
(continued)
Remote Management Server
Model Firmware Version Java
RAM ESXi hosts require more RAM than typical servers. Provide
at least 8 GB of RAM to take full advantage of ESXi
features and run virtual machines in typical production
environments. An ESXi host must have sufficient RAM to
run concurrent virtual machines. The following examples
are provided to help you calculate the RAM required by
the virtual machines running on the ESXi host.
Operating four virtual machines with
Red Hat Enterprise Linux or Windows XP requires at
least 3 GB of RAM for baseline performance. This figure
includes 1024 MB for the virtual machines, 256 MB
minimum for each operating system as recommended by
vendors.
Running these four virtual machines with 512 MB RAM
requires that the ESXi host have 4 GB RAM, which includes
2048 MB for the virtual machines.
These calculations do not include possible memory savings
from using variable overhead memory for each virtual
machine. See vSphere Resource Management.
Dedicated Fast Ethernet adapters for virtual machines Place the management network and virtual machine
networks on different physical network cards. Dedicated
Gigabit Ethernet cards for virtual machines, such as
Intel PRO 1000 adapters, improve throughput to virtual
machines with high network traffic.
VMware, Inc. 21
VMware ESXi Upgrade
Disk location Place all data that your virtual machines use on
physical disks allocated specifically to virtual machines.
Performance is better when you do not place your virtual
machines on the disk containing the ESXi boot image. Use
physical disks that are large enough to hold disk images
that all the virtual machines use.
VMFS6 partitioning The ESXi installer creates the initial VMFS volumes on
the first blank local disk found. To add disks or modify
the original configuration, use the vSphere Client. This
practice ensures that the starting sectors of partitions are
64K-aligned, which improves storage performance.
Hardware compatibility Use devices in your server that are supported by ESXi 7.0
drivers. See the Hardware Compatibility Guide at http://
www.vmware.com/resources/compatibility.
ESXi includes a firewall that is enabled by default. At installation time, the ESXi firewall is
configured to block incoming and outgoing traffic, except traffic for services that are enabled
in the host's security profile. For the list of supported ports and protocols in the ESXi firewall, see
the VMware Ports and Protocols Tool™ at https://ports.vmware.com/.
The VMware Ports and Protocols Tool lists port information for services that are installed by
default. If you install other VIBs on your host, additional services and firewall ports might become
available. The information is primarily for services that are visible in the vSphere Client but the
VMware Ports and Protocols Tool includes some other ports as well.
VMware, Inc. 22
VMware ESXi Upgrade
All vSphere components use this infrastructure. The default values for log capacity in this
infrastructure vary, depending on the amount of storage available and on how you have
configured system logging. Hosts that are deployed with Auto Deploy store logs on a RAM disk,
which means that the amount of space available for logs is small.
If your host is deployed with Auto Deploy, reconfigure your log storage in one of the following
ways:
If you redirect logs to non-default storage, such as a NAS or NFS store, you might also want to
reconfigure log sizing and rotations for hosts that are installed to disk.
You do not need to reconfigure log storage for ESXi hosts that use the default configuration,
which stores logs in a scratch directory on the VMFS volume. For these hosts, ESXi 7.0 configures
logs to best suit your installation, and provides enough space to accommodate log messages.
Table 3-6. Recommended Minimum Size and Rotation Configuration for hostd, vpxa, and fdm
Logs
Number of Rotations to
Log Maximum Log File Size Preserve Minimum Disk Space Required
VirtualCenter Agent 5 MB 10 50 MB
(vpxa)
For information about setting up and configuring syslog and a syslog server and installing vSphere
Syslog Collector, see the vCenter Server Installation and Setup documentation.
The following guest operating systems and Web browser versions are supported for the VMware
Host Client.
VMware, Inc. 23
VMware ESXi Upgrade
Note The default requirements for ESXi passwords can change from one release to
the next. You can check and change the default password restrictions by using the
Security.PasswordQualityControl advanced option.
ESXi Passwords
ESXi enforces password requirements for access from the Direct Console User Interface, the ESXi
Shell, SSH, or the VMware Host Client.
n By default, you must include a mix of at least three from the following four character classes:
lowercase letters, uppercase letters, numbers, and special characters such as underscore or
dash when you create a password.
Note An uppercase character that begins a password does not count toward the number of
character classes used. A number that ends a password does not count toward the number of
character classes used. A dictionary word used inside a password reduces the overall password
strength.
retry=3 min=disabled,disabled,disabled,7,7
With this setting, a user is prompted up to three times (retry=3) for a new password that is
not sufficiently strong or if the password was not entered correctly twice. Passwords with one
or two character classes and pass phrases are not allowed, because the first three items are
disabled. Passwords from three- and four-character classes require seven characters. See the
pam_passwdqc man page for details on other options, such as max, passphrase, and so on.
n Xqat3hi: Begins with an uppercase character, reducing the effective number of character
classes to two. The minimum number of required character classes is three.
VMware, Inc. 24
VMware ESXi Upgrade
n xQaTEh2: Ends with a number, reducing the effective number of character classes to two. The
minimum number of required character classes is three.
retry=3 min=disabled,disabled,16,7,7
This example allows pass phrases of at least 16 characters and at least three words.
For legacy hosts, changing the /etc/pam.d/passwd file is still supported, but changing the file
is deprecated for future releases. Use the Security.PasswordQualityControl advanced option
instead.
Note Not all possible combinations of password options have been tested. Perform testing after
you change the default password settings.
This example sets the password complexity requirement to require eight characters from four
character classes that enforce a significant password difference, a remembered history of five
passwords, and a 90 day rotation policy:
min=disabled,disabled,disabled,disabled,8 similar=deny
VMware, Inc. 25
VMware ESXi Upgrade
See the vCenter Server and Host Management documentation for information on setting ESXi
advanced options.
1 Make sure that you understand the ESXi upgrade process, the effect of that process on your
existing deployment, and the preparation required for the upgrade.
n If your vSphere system includes VMware solutions or plug-ins, make sure they are
compatible with the vCenter Server version that you are upgrading to. See the VMware
Product Interoperability Matrix at http://www.vmware.com/resources/compatibility/sim/
interop_matrix.php.
n Read Overview of the ESXi Host Upgrade Process to understand the upgrade scenarios
that are supported, and the options and tools that are available to perform the upgrade.
n Read the VMware vSphere Release Notes for known installation issues.
n Make sure that the current ESXi version is supported for the upgrade. See Overview of the
ESXi Host Upgrade Process.
n Make sure that the system hardware complies with ESXi requirements. See ESXi
Requirements and VMware Compatibility Guide at http://www.vmware.com/resources/
compatibility/search.php. Check for system compatibility, I/O compatibility with network
and host bus adapter (HBA) cards, storage compatibility, and backup software
compatibility.
n Make sure that sufficient disk space is available on the host for the upgrade.
n If a SAN is connected to the host, detach the Fibre Channel system before continuing with
the upgrade. Do not disable HBA cards in the BIOS.
3 Back up the host before performing an upgrade. If the upgrade fails, you can restore the host.
VMware, Inc. 26
VMware ESXi Upgrade
4 If you are using Auto Deploy to provision hosts, the user who is running the process must
have local administrator privileges on the ESXi host that is being provisioned. By default the
installation process has these privileges and certificate provisioning happens as expected.
However, if you are using another method than the installer, you must run it as a user who has
the local administrator privileges.
5 Depending on the upgrade option you choose, you might need to migrate or power off all
virtual machines on the host. See the instructions for your upgrade method.
n For an interactive upgrade from CD, DVD, or USB drive: see Upgrade Hosts Interactively.
n For vSphere Auto Deploy: see Chapter 4 Using vSphere Auto Deploy to Reprovision
Hosts . If the ESXi 6.5x or 6.7.x host was deployed by using vSphere Auto Deploy, you
can use vSphere Auto Deploy to reprovision the host with a 7.0 image.
n For the esxcli command method: see Upgrading Hosts by Using ESXCLI Commands .
6 Plan for the tasks that must be performed after the ESXi host upgrade:
n Consider setting up a syslog server for remote logging, to ensure sufficient disk storage for
log files. Setting up logging on a remote host is especially important for hosts with limited
local storage. vSphere Syslog Collector is included as a service in vCenter Server 6.0 and
can be used to collect logs from all hosts. See Required Free Space for System Logging.
For information about setting up and configuring syslog and a syslog server, setting up
syslog from the host profiles interface, and installing vSphere Syslog Collector, see the
vCenter Server Installation and Setup documentation.
7 If the upgrade was unsuccessful and you backed up the host, you can restore the host.
If the host or the installer ISO image contains a VIB that creates a conflict and prevents the
upgrade, an error message identifies the VIB that created the conflict. To upgrade the host, take
one of the following actions:
n Remove the VIB that created the conflict from the ESXi host and retry the upgrade. You can
remove a VIB from the host by using esxcli commands. For more information, see Remove
VIBs from a Host .
n Use the vSphere ESXi Image Builder CLI to create a custom installer ISO image that resolves
the conflict. For more information about vSphere ESXi Image Builder CLI, see the vCenter
Server Installation and Setup documentation.
VMware, Inc. 27
VMware ESXi Upgrade
When you upgrade an ESXi host to 7.0 or later, all supported custom VIBs are migrated,
regardless of whether the VIBs are included in the installer ISO. However, the NSX kernel module
is not automatically migrated to the installer ISO image. Before you proceed to the upgrade
operation, you must take one of the following actions:
n Create an extension baseline with a newly uploaded NSX kernel module. For more
information, see Managing Host and Cluster Lifecycle.
n Create a custom image profile with the NSX kernel module. For more information, see Create
a Custom Image Profile to Upgrade ESXi Hosts in an Environment With VMware NSX-T Data
Center.
n Use PowerCLI to create a new ISO image. For more information, see Create a New ISO Image
to Upgrade ESXi Hosts in an Environment With VMware NSX-T Data Center.
n Use ESXCLI. For more information, see Use ESXCLI to Upgrade ESXi Hosts in an Environment
With VMware NSX-T Data Center.
Prerequisites
n Download from VMware Customer Connect the NSX Kernel Module for VMware ESXi 7.0
zip file for the version of NSX-T Data Center deployed in your environment. For example,
nsx-lcp-3.0.0.0.0.15945993-esx70.zip for VMware NSX-T Data Center 3.0.0.
n Make sure that Auto Deploy and Image Builder are enabled in your vCenter Server system.
Procedure
2 Navigate to Home > Autodeploy > Software Depots to import to the vSphere ESXi Image
Builder inventory an ESXi 7.0.x base image, if it is not already available, and the ZIP file for the
NSX kernel module.
VMware, Inc. 28
VMware ESXi Upgrade
3 Create an image profile that combines the NSX-T Data Center NSX Kernel Module and the
base image for ESX 7.0.x. For detailed steps, see Create an Image Profile.
You can now create an upgrade baseline based on the imported ISO image by using the
vSphere Lifecycle Manager. For more information on vSphere Lifecycle Manager upgrades
workflow with baselines, see the Managing Host and Cluster Lifecycle guide.
Prerequisites
n Download from VMware Customer Connect the NSX Kernel Module for VMware ESXi 7.0
zip file for the version of NSX-T Data Center deployed in your environment. For example,
nsx-lcp-3.0.0.0.0.15945993-esx70.zip for VMware NSX-T Data Center 3.0.0.
n Install the PowerCLI and all prerequisite software. See vSphere ESXi Image Builder Installation
and Usage.
n Verify that you have access to the software depot that contains the software specification you
want to use.
Procedure
What to do next
Use the new ISO image to complete the ESXi upgrade in your preferred way. For more
information on vSphere Lifecycle Manager upgrade workflows, see the Managing Host and Cluster
Lifecycle guide.
VMware, Inc. 29
VMware ESXi Upgrade
To use ESXCLI for the upgrade of an ESXi host in a vSphere system that includes NSX-T
Data Center, you must follow the procedures described in Upgrading Hosts by Using ESXCLI
Commands:
Prerequisites
n Download from VMware Customer Connect the NSX Kernel Module for VMware ESXi 7.0
zip file for the version of NSX-T Data Center deployed in your environment. For example,
nsx-lcp-3.0.0.0.0.15945993-esx70.zip for VMware NSX-T Data Center 3.0.0.
Procedure
1 Place your ESXi host in maintenance mode. For more information, see Place a Host in
Maintenance Mode.
2 Download an ESXi 7.0.x image profile in a software depot that is accessible through a URL or
in an offline ZIP depot.
3 Run the ESXCLI command esxcli software profile update --depot <path-to-depot-file>
-p ESXi-X.X.X-XXXXXX-standard --allow-downgrades --no-sig-check. For example: esxcli
software profile update --depot /vmfs/volumes/5e8fd197-68bce4dc-f8f1-005056af93cf/
VMware-ESXi-7.0.0-15843807-depot.zip -p ESXi-7.0.0-15843807-standard --allow-
downgrades --no-sig-check. For more information, see Upgrade or Update a Host with Image
Profiles.
4 Install the NSX kernel module by using the ESXCLI command esxcli software vib install
-d <path_to_kernel_module_file> --no-sig-check. For example: esxcli software vib
install -d /tmp/nsx-lcp-3.0.0.0.0.15945993-esx70.zip
The following boot media are supported for the ESXi installer:
n Boot from a CD/DVD. See Download and Burn the ESXi Installer ISO Image to a CD or DVD.
n Boot from a USB flash drive. See Format a USB Flash Drive to Boot the ESXi Installation or
Upgrade.
VMware, Inc. 30
VMware ESXi Upgrade
n Boot from a remote location using a remote management application. See Using Remote
Management Applications
You can also create an installer ISO image that includes a custom installation script. See Create an
Installer ISO Image with a Custom Installation or Upgrade Script.
Procedure
Note The ks.cfg file that contains the installation script cannot be on the same USB flash drive
that you are using to boot the installation or upgrade.
Prerequisites
VMware, Inc. 31
VMware ESXi Upgrade
Procedure
tail -f /var/log/messages
You see several messages that identify the USB flash drive in a format similar to the
following message.
In this example, sdb identifies the USB device. If your device is identified differently, use
that identification, in place of sdb.
/sbin/fdisk /dev/sdb
b Enter n to create a primary partition 1 that extends over the entire disk.
c Enter t to set the type to an appropriate setting for the FAT32 file system, such as c.
3 Format the USB flash drive with the Fat32 file system.
VMware, Inc. 32
VMware ESXi Upgrade
The locations of the Syslinux executable file and the mbr.bin file might vary for the different
Syslinux versions. The following commands are default.
/usr/bin/syslinux /dev/sdb1
cat /usr/lib/syslinux/mbr/mbr.bin > /dev/sdb
5 Create a destination directory and mount the USB flash drive to it.
mkdir /usbdisk
mount /dev/sdb1 /usbdisk
6 Create a destination directory and mount the ESXi installer ISO image to it.
mkdir /esxi_cdrom
mount -o loop VMware-VMvisor-Installer-6.x.x-XXXXXX.x86_64.iso /esxi_cdrom
7 Copy the contents of the ISO image to the USB flash drive.
cp -r /esxi_cdrom/* /usbdisk
mv /usbdisk/isolinux.cfg /usbdisk/syslinux.cfg
9 In the /usbdisk/syslinux.cfg file, edit the APPEND -c boot.cfg line to APPEND -c boot.cfg
-p 1.
umount /usbdisk
umount /esxi_cdrom
Results
When multiple USB flash drives are present on the installation machine, the installation software
searches for the installation or upgrade script on all attached USB flash drives.
VMware, Inc. 33
VMware ESXi Upgrade
The instructions in this procedure assume that the USB flash drive is detected as /dev/sdb.
Note Do not store the ks file containing the installation or upgrade script on the same USB flash
drive that you are using to boot the installation or upgrade.
Prerequisites
n Linux machine
Procedure
1 Attach the USB flash drive to a Linux machine that has access to the installation or upgrade
script.
/sbin/fdisk /dev/sdb
a Type d to delete partitions until they are all deleted.
b Type n to create primary partition 1 that extends over the entire disk.
c Type t to set the type to an appropriate setting for the FAT32 file system, such as c.
3 Format the USB flash drive with the Fat32 file system.
cp ks.cfg /usbdisk
Results
The USB flash drive contains the installation or upgrade script for ESXi.
VMware, Inc. 34
VMware ESXi Upgrade
What to do next
When you boot the ESXi installer, point to the location of the USB flash drive for the installation or
upgrade script. See Enter Boot Options to Start an Installation or Upgrade Script and PXELINUX
Configuration Files.
See also About Installation and Upgrade Scripts and About the boot.cfg File .
Prerequisites
n Linux machine
Procedure
1 Download the ESXi ISO image from the VMware Web site.
XXXXXX is the ESXi build number for the version that you are installing or upgrading to.
cp -r /esxi_cdrom_mount/* /esxi_cdrom
cp KS_CUST.CFG /esxi_cdrom
5 (Optional) Modify the boot.cfg file to specify the location of the installation or upgrade script
by using the kernelopt option.
You must use uppercase characters to provide the path of the script, for example,
kernelopt=runweasel ks=cdrom:/KS_CUST.CFG
For UEFI boot, you must modify the boot.cfg file located in /efi/boot/.
The installation or upgrade becomes completely automatic, without the need to specify the
kickstart file during the installation or upgrade.
VMware, Inc. 35
VMware ESXi Upgrade
6 Recreate the ISO image using the mkisofs or the genisoimage command.
Command Syntax
You can use this ISO installer image for regular boot or UEFI secure boot. However, the
vSphere Lifecycle Manager cannot verify the checksum of such an ISO image and you cannot
use it for upgrades by using vSphere Lifecycle Manager workflows.
Results
What to do next
ESXi is distributed in an ISO format that is used to install to flash memory or to a local hard drive.
You can extract the files and boot them over a network interface.
PXE uses Dynamic Host Configuration Protocol (DHCP) and Trivial File Transfer Protocol (TFTP) to
boot an operating system over a network.
PXE booting requires some network infrastructure and a machine with a PXE-capable network
adapter. Most machines that can run ESXi have network adapters that can PXE boot.
Native UEFI HTTP uses DHCP and HTTP to boot over a network. UEFI HTTP boot requires a
network infrastructure, UEFI firmware version on the ESXi host that includes HTTP boot feature,
and a network adapter that supports UEFI networking.
Booting by using HTTP is faster and more reliable than using TFTP. This is due to the capabilities
of the TCP protocol that underlies the HTTP, such as built-in streaming and lost packet recovery. If
your ESXi hosts do not support native UEFI HTTP, you can use iPXE HTTP for the boot process.
Note Network booting with legacy BIOS firmware is possible only over IPv4. Network booting
with UEFI BIOS firmware is possible over IPv4 or IPv6.
VMware, Inc. 36
VMware ESXi Upgrade
Note Starting from vSphere 7.0, VMware deprecates software FCoE adapters in production
environments.
The boot LUN must not be shared between hosts and must have a size of minimum of 32 GB.
See the vSphere Storage documentation for information about installing and booting ESXi with
software FCoE.
You can use remote management applications to do both interactive and scripted installations of
ESXi remotely.
If you use remote management applications to install ESXi, the virtual CD might encounter
corruption problems with systems or networks operating at peak capacity. If a remote installation
from an ISO image fails, complete the installation from the physical CD media.
Prerequisites
Procedure
VMware, Inc. 37
VMware ESXi Upgrade
Device Identifiers
Depending on the type of storage, the ESXi host uses different algorithms and conventions to
generate an identifier for each storage device.
Storage-provided identifiers
The ESXi host queries a target storage device for the device name. From the returned
metadata, the host extracts or generates a unique identifier for the device. The identifier is
based on specific storage standards, is unique and persistent across all hosts, and has one of
the following formats:
n naa.xxx
n eui.xxx
n t10.xxx
Path-based identifier
When the device does not provide an identifier, the host generates an mpx.path name,
where path represents the first path to the device, for example, mpx.vmhba1:C0:T1:L3. This
identifier can be used in the same way as the storage-provided identifies.
The mpx.path identifier is created for local devices on the assumption that their path names
are unique. However, this identifier is not unique or persistent, and can change after every
system restart.
vmhbaAdapter:CChannel:TTarget:LLUN
n vmhbaAdapter is the name of the storage adapter. The name refers to the physical adapter
on the host, not to the SCSI controller used by the virtual machines.
Software iSCSI adapters and dependent hardware adapters use the channel number to
show multiple paths to the same target.
n TTarget is the target number. Target numbering is determined by the host and might
change when the mappings of targets visible to the host change. Targets that are shared
by different hosts might not have the same target number.
n LLUN is the LUN number that shows the position of the LUN within the target. The LUN
number is provided by the storage system. If a target has only one LUN, the LUN number
is always zero (0).
VMware, Inc. 38
VMware ESXi Upgrade
For example, vmhba1:C0:T3:L1 represents LUN1 on target 3 accessed through the storage
adapter vmhba1 and channel 0.
Legacy identifier
In addition to the device-provided identifiers or mpx.path identifiers, ESXi generates an
alternative legacy name for each device. The identifier has the following format:
vml.number
The legacy identifier includes a series of digits that are unique to the device. The identifier
can be derived in part from the metadata obtained through the SCSI INQUIRY command. For
nonlocal devices that do not provide SCSI INQUIRY identifiers, the vml.number identifier is
used as the only available unique identifier.
Before upgrading, consider disconnecting the network storage. This action decreases the time
it takes the installer to search for available disk drives. When you disconnect network storage,
any files on the disconnected disks are unavailable at installation. Do not disconnect a LUN that
contains an existing ESXi installation.
Prerequisites
n Verify that the ESXi installer ISO in one of the following locations.
n On CD or DVD. If you do not have the installation CD or DVD, you can create one. See
Download and Burn the ESXi Installer ISO Image to a CD or DVD
VMware, Inc. 39
VMware ESXi Upgrade
n On a USB flash drive. See Format a USB Flash Drive to Boot the ESXi Installation or
Upgrade
Note You can also use PXE to boot the ESXi installer to run an interactive installation or a
scripted installation. See Network Booting the ESXi Installer.
n Verify that the server hardware clock is set to UTC. This setting is in the system BIOS.
n ESXi Embedded must not be on the host. ESXi Installable and ESXi Embedded cannot exist on
the same host.
n If you are upgrading an ESXi host, supported custom VIBs that are not included in the ESXi
installer ISO are migrated. See Upgrading Hosts That Have Third-Party Custom VIBs
n See your hardware vendor documentation for information about changing the boot order.
Procedure
1 Insert the ESXi installer CD or DVD in the CD-ROM or DVD-ROM drive, or attach the Installer
USB flash drive and restart the machine.
2 Set the BIOS to boot from the CD-ROM device or the USB flash drive.
3 In the Select a Disk panel, select the drive on which to install or upgrade ESXi and press Enter.
Note Do not rely on the disk order in the list to select a disk. The disk order is determined by
the BIOS. On systems where drives are continuously being added and removed, they might be
out of order.
4 Upgrade or install ESXi if the installer finds an existing ESXi installation and VMFS datastore.
If an existing VMFS datastore cannot be preserved, you can choose only to install ESXi and
overwrite the existing VMFS datastore, or to cancel the installation. If you choose to overwrite
the existing VMFS datastore, back up the datastore first.
6 Remove the installation CD or DVD or USB flash drive when the upgrade is complete.
8 Set the first boot device to be the drive which you selected previously when you upgraded
ESXi.
The installation or upgrade script contains the installation settings for ESXi. You can apply the
script to all hosts that you want to have a similar configuration.
VMware, Inc. 40
VMware ESXi Upgrade
For a scripted installation or upgrade, you must use the supported commands to create a script.
You can edit the script to change settings that are unique for each host.
The installation or upgrade script can reside in one of the following locations:
n FTP server
n HTTP/HTTPS server
n NFS server
n CD-ROM drive
At boot time you might need to specify options to access the kickstart file. You can enter boot
options by pressing Shift+O in the boot loader. For a PXE boot installation, you can pass options
through the kernelopts line of the boot.cfg file. See About the boot.cfg File and Network
Booting the ESXi Installer.
To specify the location of the installation script, set the ks=filepath option, where filepath
indicates the location of your kickstart file. Otherwise, a scripted installation or upgrade cannot
start. If ks=filepath is omitted, the text installer is run.
Procedure
2 When the ESXi installer window appears, press Shift+O to edit boot options.
VMware, Inc. 41
VMware ESXi Upgrade
Boot Options
When you perform a scripted installation, you might need to specify options at boot time to access
the kickstart file.
VMware, Inc. 42
VMware ESXi Upgrade
netmask=subnet mask Specifies subnet mask for the network interface that
downloads the installation script and the installation media.
For more information on ESXi booting options post installation, see VMware knowledge base
article 77009.
The command section of the script contains the ESXi installation options. This section is required
and must appear first in the script.
The following locations are supported for the installation or upgrade script:
n CD/DVD. See Create an Installer ISO Image with a Custom Installation or Upgrade Script.
VMware, Inc. 43
VMware ESXi Upgrade
n USB Flash drive. See Create a USB Flash Drive to Store the ESXi Installation Script or Upgrade
Script.
n A network location accessible through the following protocols: NFS, HTTP, HTTPS, FTP
To start an installation script from an interactive installation, you enter the ks= option manually.
See Enter Boot Options to Start an Installation or Upgrade Script.
To determine which disk to install or upgrade ESXi on, the installation script requires one of the
following commands: install, upgrade, or installorupgrade. The install command creates
the default partitions, including a VMFS datastore that occupies all available space after the other
partitions are created.
clearpart (Optional)
Clears any existing partitions on the disk. Requires the install command to be specified.
Carefully edit the clearpart command in your existing scripts.
--firstdisk=
Partitions the first eligible disk found. By default, the eligible disks are
disk-type1 set to the following order:
[disk-type2,...]
1 Locally attached storage (local)
VMware, Inc. 44
VMware ESXi Upgrade
dryrun (Optional)
Parses and checks the installation script. Does not perform the installation.
install
Specifies that this is a fresh installation. Either the install, upgrade, or installorupgrade
command is required to determine which disk to install or upgrade ESXi on.
--disk= or --drive= Specifies the disk to partition. In the command --disk=diskname, the
diskname can be a disk name or a full disk filesystem path in ESXi, for
example:
--firstdisk=
Partitions the first eligible disk found. By default, the eligible disks are
disk-type1, set to the following order:
[disk-type2,...] 1 Locally attached storage (local)
VMware, Inc. 45
VMware ESXi Upgrade
any disk that uses the mptsas driver rather than a normal local disk,
the argument is --firstdisk=ST3120814A,mptsas,local. You can use
localesx for local storage that contains ESXi image or remoteesx for
remote storage that contains ESXi image.
--ignoressd Excludes solid-state disks from eligibility for partitioning. This option
can be used with the install command and the --firstdisk
option. This option takes precedence over the --firstdisk option.
This option is invalid with the --drive or --disk options and with
the upgrade and installorupgrade commands. See the vSphere
Storage documentation for more information about preventing SSD
formatting during auto-partitioning.
--overwritevsan You must use the --overwritevsan option when you install ESXi on a
disk, either SSD or HDD (magnetic), that is in a vSAN disk group. If
you use this option and no vSAN partition is on the selected disk, the
installation fails. When you install ESXi on a disk that is in vSAN disk
group, the result depends on the disk that you select:
n If you select an SSD, the SSD and all underlying HDDs in the same
disk group is wiped.
n If you select an HDD, and the disk group size is greater than two,
only the selected HDD is wiped.
n If you select an HDD disk, and the disk group size is two or less,
the SSD and the selected HDD is wiped.
For more information about managing vSAN disk groups, see the
vSphere Storage documentation.
--overwritevmfs Required to overwrite an existing VMFS datastore on the disk before
installation.
--novmfsondisk Prevents a VMFS partition from being created on this disk. Must be
used with --overwritevmfs if a VMFS partition exists on the disk.
installorupgrade
Either the install, upgrade, or installorupgrade command is required to determine which
disk to install or upgrade ESXi on.
--disk= or --drive= Specifies the disk to partition. In the command --disk=diskname, the
diskname can be a disk name or a full disk filesystem path in ESXi, for
example:
VMware, Inc. 46
VMware ESXi Upgrade
--firstdisk=
Partitions the first eligible disk found. By default, the eligible disks are
disk-type1, set to the following order:
[disk-type2,...]
1 Locally attached storage (local)
--overwritevsan You must use the --overwritevsan option when you install ESXi on a
disk, either SSD or HDD (magnetic), that is in a vSAN disk group. If
you use this option and no vSAN partition is on the selected disk, the
installation fails. When you install ESXi on a disk that is in a vSAN disk
group, the result depends on the disk that you select:
n If you select an SSD, the SSD and all underlying HDDs in the same
disk group is wiped.
n If you select an HDD, and the disk group size is greater than two,
only the selected HDD is wiped.
n If you select an HDD disk, and the disk group size is two or less,
the SSD and the selected HDD is wiped.
For more information about managing vSAN disk groups, see the
vSphere Storage documentation.
--overwritevmfs
Install ESXi if a VMFS partition exists on the disk, but no ESX or ESXi
installation exists. Unless this option is present, the installer fails if a
VMFS partition exists on the disk, but an ESX or ESXi installation is
missing.
VMware, Inc. 47
VMware ESXi Upgrade
keyboard (Optional)
Sets the keyboard type for the system.
keyboardType Specifies the keyboard map for the selected keyboard type.
keyboardType must be one of the following types.
n Belgian
n Brazilian
n Croatian
n Czechoslovakian
n Danish
n Estonian
n Finnish
n French
n German
n Greek
n Icelandic
n Italian
n Japanese
n Latin American
n Norwegian
n Polish
n Portuguese
n Russian
n Slovenian
n Spanish
n Swedish
n Swiss French
n Swiss German
n Turkish
n Ukrainian
n United Kingdom
n US Default
n US Dvorak
VMware, Inc. 48
VMware ESXi Upgrade
--esx=<license-key>
Specifies the vSphere license key to use. The format is 5 five-character
groups (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX).
network (Optional)
Specifies a network address for the system.
--bootproto=[dhcp|
Specifies whether to obtain the network settings from DHCP or set
static]
them manually.
--device= Specifies either the MAC address of the network card or the device
name, in the form vmnicNN, as in vmnic0. This option refers to the
uplink device for the virtual switch.
--nameserver= Designates the primary name server as an IP address. Used with the
--bootproto=static option. Omit this option if you do not intend to
use DNS.
--netmask= Specifies the subnet mask for the installed system, in the form
255.xxx.xxx.xxx. Used with the --bootproto=static option.
--vlanid= vlanid Specifies which VLAN the system is on. Used with either the
--bootproto=dhcp or --bootproto=static option. Set to an integer
from 1 to 4096.
--addvmportgroup=(0|1) Specifies whether to add the VM Network port group, which is used
by virtual machines. The default value is 1.
paranoid (Optional)
Causes warning messages to interrupt the installation. If you omit this command, warning
messages are logged.
VMware, Inc. 49
VMware ESXi Upgrade
--ondisk= or --ondrive= Specifies the disk or drive where the partition is created.
--firstdisk=
Partitions the first eligible disk found. By default, the eligible disks are
disk-type1, set to the following order:
[disk-type2,...] 1 Locally attached storage (local)
reboot (Optional)
Reboots the machine after the scripted installation is complete.
rootpw (Required)
Sets the root password for the system.
VMware, Inc. 50
VMware ESXi Upgrade
upgrade
Either the install, upgrade, or installorupgrade command is required to determine which
disk to install or upgrade ESXi on.
--disk= or --drive= Specifies the disk to partition. In the command --disk=diskname, the
diskname can be a disk name or a full disk filesystem path in ESXi, for
example:
--firstdisk=
Partitions the first eligible disk found. By default, the eligible disks are
disk-type1, set to the following order:
[disk-type2,...] 1 Locally attached storage (local)
%pre (Optional)
Specifies a script to run before the kickstart configuration is evaluated. For example, you can use it
to generate files for the kickstart file to include.
VMware, Inc. 51
VMware ESXi Upgrade
%post (Optional)
Runs the specified script after package installation is complete. If you specify multiple %post
sections, they run in the order that they appear in the installation script.
--timeout=secs Specifies a timeout for running the script. If the script is not finished
when the timeout expires, the script is forcefully stopped.
--ignorefailure If true, the installation is considered a success even if the %post script
=[true|false] stops with an error.
%firstboot
Creates an init script that runs only during the first boot. The script has no effect on subsequent
boots. If multiple %firstboot sections are specified, they run in the order that they appear in the
kickstart file.
Note You cannot check the semantics of %firstboot scripts until the system is booting for the
first time. A %firstboot script might contain potentially catastrophic errors that are not exposed
until after the installation is complete.
Important The %firstboot script does not run, if secure boot is enabled on the ESXi host.
--interpreter
Specifies an interpreter to use. The default is busybox.
=[python|busybox]
Note You cannot check the semantics of the %firstboot script until the system boots for the first
time. If the script contains errors, they are not exposed until after the installation is complete.
VMware, Inc. 52
VMware ESXi Upgrade
For more information on storage device names, see Storage Device Names and Identifiers in the
vSphere Storage documentation.
Device Identifiers
Depending on the type of storage, the ESXi host uses different algorithms and conventions to
generate an identifier for each storage device.
Storage-provided identifiers
The ESXi host queries a target storage device for the device name. From the returned
metadata, the host extracts or generates a unique identifier for the device. The identifier is
based on specific storage standards, is unique and persistent across all hosts, and has one of
the following formats:
n naa.xxx
n eui.xxx
n t10.xxx
Path-based identifier
When the device does not provide an identifier, the host generates an mpx.path name,
where path represents the first path to the device, for example, mpx.vmhba1:C0:T1:L3. This
identifier can be used in the same way as the storage-provided identifies.
The mpx.path identifier is created for local devices on the assumption that their path names
are unique. However, this identifier is not unique or persistent, and can change after every
system restart.
vmhbaAdapter:CChannel:TTarget:LLUN
n vmhbaAdapter is the name of the storage adapter. The name refers to the physical adapter
on the host, not to the SCSI controller used by the virtual machines.
Software iSCSI adapters and dependent hardware adapters use the channel number to
show multiple paths to the same target.
VMware, Inc. 53
VMware ESXi Upgrade
n TTarget is the target number. Target numbering is determined by the host and might
change when the mappings of targets visible to the host change. Targets that are shared
by different hosts might not have the same target number.
n LLUN is the LUN number that shows the position of the LUN within the target. The LUN
number is provided by the storage system. If a target has only one LUN, the LUN number
is always zero (0).
For example, vmhba1:C0:T3:L1 represents LUN1 on target 3 accessed through the storage
adapter vmhba1 and channel 0.
Legacy identifier
vml.number
The legacy identifier includes a series of digits that are unique to the device. The identifier
can be derived in part from the metadata obtained through the SCSI INQUIRY command. For
nonlocal devices that do not provide SCSI INQUIRY identifiers, the vml.number identifier is
used as the only available unique identifier.
The boot.cfg file is provided in the ESXi installer. You can modify the kernelopt line of the
boot.cfg file to specify the location of an installation script or to pass other boot options.
title=STRING
VMware, Inc. 54
VMware ESXi Upgrade
prefix=DIRPATH
kernel=FILEPATH
kernelopt=STRING
modules=FILEPATH1 --- FILEPATH2... --- FILEPATHn
Command Description
modules=FILEPATH1 --- FILEPATH2... --- FILEPATHn Lists the modules to be loaded, separated by three
hyphens (---).
See Create an Installer ISO Image with a Custom Installation or Upgrade Script and Network
Booting the ESXi Installer.
You can start the installation or upgrade script by entering a boot option when you start the host.
You can also create an installer ISO image that includes the installation script. With an installer ISO
image, you can perform a scripted, unattended installation when you boot the resulting installer
ISO image. See Create an Installer ISO Image with a Custom Installation or Upgrade Script.
Prerequisites
Before you run the scripted installation or upgrade, verify that the following prerequisites are met:
n The system on which you are installing or upgrading meets the hardware requirements. See
ESXi Hardware Requirements.
n You have the ESXi installer ISO on an installation CD or DVD . See Download and Burn the
ESXi Installer ISO Image to a CD or DVD.
n The default installation or upgrade script (ks.cfg) or a custom installation or upgrade script is
accessible to the system. See About Installation and Upgrade Scripts.
n You have selected a boot command to run the scripted installation or upgrade. See Enter Boot
Options to Start an Installation or Upgrade Script. For a complete list of boot commands, see
Boot Options .
VMware, Inc. 55
VMware ESXi Upgrade
Procedure
1 Boot the ESXi installer from the local CD-ROM or DVD-ROM drive.
2 When the ESXi installer window appears, press Shift+O to edit boot options.
3 Type a boot option that calls the default installation or upgrade script or an installation or
upgrade script file that you created.
4 Press Enter.
Results
The installation, upgrade, or migration runs, using the options that you specified.
Prerequisites
Before running the scripted installation or upgrade, verify that the following prerequisites are met:
n The system that you are installing or upgrading to ESXi meets the hardware requirements for
the installation or upgrade. See ESXi Hardware Requirements.
n You have the ESXi installer ISO on a bootable USB flash drive. See Format a USB Flash Drive
to Boot the ESXi Installation or Upgrade.
n The default installation or upgrade script (ks.cfg) or a custom installation or upgrade script is
accessible to the system. See About Installation and Upgrade Scripts.
n You have selected a boot option to run the scripted installation, upgrade, or migration. See
Enter Boot Options to Start an Installation or Upgrade Script.
Procedure
VMware, Inc. 56
VMware ESXi Upgrade
2 When the ESXi installer window appears, press Shift+O to edit boot options.
3 Type a boot option that calls the default installation or upgrade script or an installation or
upgrade script file that you created.
4 Press Enter.
Results
The installation, upgrade, or migration runs, using the options that you specified.
n For information about setting up a network infrastructure, see Network Booting the ESXi
Installer.
n For information about creating and locating an installation script, see About Installation and
Upgrade Scripts.
n For specific procedures to network boot the ESXi installer and use an installation script, see
one of the following topics:
n For information about using vSphere Auto Deploy to perform a scripted upgrade by using PXE
to boot, see Chapter 4 Using vSphere Auto Deploy to Reprovision Hosts .
VMware, Inc. 57
VMware ESXi Upgrade
When you boot a target host, it interacts with the different servers in the environment to get a
network adapter, boot loader, kernel, IP address for the kernel, and finally an installation script.
When all components are in place, installation starts, as shown in the following illustration.
ESXi host
The interaction between the ESXi host and other servers proceeds as follows:
3 The DHCP server responds with the IP information, the location of the TFTP or HTTP server,
and the filename or URL of the initial network boot loader.
VMware, Inc. 58
VMware ESXi Upgrade
4 The ESXi host contacts the TFTP or HTTP server and requests the filename or URL that the
DHCP server specified.
5 The TFTP or HTTP server sends the network boot loader, and the ESXi host runs it. The initial
boot loader might load additional boot loader components from the server.
6 The boot loader searches for a configuration file on the TFTP or HTTP server, downloads the
kernel and other ESXi components as specified in the configuration file, and boots the kernel
on the ESXi host.
7 The installer runs interactively or using a kickstart script, as specified in the configuration file.
n For legacy BIOS machines, the procedure supports booting multiple different versions of the
ESXi installer by using the same pxelinux.0 initial boot loader for all target machines, but
potentially different PXELINUX configuration files depending on the target machine's MAC
address.
n For UEFI machines, the procedure supports booting multiple different versions of the ESXi
installer by using the same mboot.efi initial boot loader for all target machines, but
potentially different boot.cfg files depending on the target machine's MAC address.
Prerequisites
n ESXi installer ISO image, downloaded from the VMware Web site.
n Target host with a hardware configuration that is supported for your version of ESXi. See the
VMware Compatibility Guide.
n Network adapter with PXE support on the target ESXi host.
n DHCP server that you can configure for PXE booting. See Sample DHCP Configurations.
n TFTP server.
n For legacy BIOS, you can use only IPv4 networking. For UEFI PXE boot, you can use IPv4 or
IPv6 networking.
n Use a native VLAN in most cases. If you want to specify the VLAN ID to be used with PXE
booting, check that your NIC supports VLAN ID specification.
VMware, Inc. 59
VMware ESXi Upgrade
For legacy BIOS systems, obtain version 3.86 of the SYSLINUX package. For more information,
see Network Boot Background Information.
Procedure
1 If your ESXi host runs legacy BIOS firmware only, obtain and configure PXELINUX.
a Obtain SYSLINUX version 3.86, unpack it, and copy the pxelinux.0 file to the top-level /
tftpboot directory on your TFTP server.
ESXi-7.x.x-XXXXXX is the name of the TFTP subdirectory that contains the ESXi installer
files.
DEFAULT install
NOHALT 1
LABEL install
KERNEL ESXi-7.x.x-XXXXXX/mboot.c32
APPEND -c ESXi-7.x.x-XXXXXX/boot.cfg
IPAPPEND 2
c Save the PXELINUX file in the /tftpboot/pxelinux.cfg directory on your TFTP server
with a filename that will determine whether all hosts boot this installer by default:
Option Description
Same installer Name the file default if you want all host to boot this ESXi installer by
default.
Different installers Name the file with the MAC address of the target host machine (01-
mac_address_of_target_ESXi_host) if you want only a specific host to
boot with this file, for example, 01-23-45-67-89-0a-bc.
2 If your ESXi host runs UEFI firmware, copy the efi/boot/bootx64.efi file from the ESXi
installer ISO image to the /tftpboot folder on your TFTP server, and rename the file to
mboot.efi.
Note Newer versions of mboot.efi can generally boot older versions of ESXi, but older
versions of mboot.efi might be unable to boot newer versions of ESXi. If you plan to
configure different hosts to boot different versions of the ESXi installer, use the mboot.efi
from the newest version.
4 Create a subdirectory of your TFTP server's top-level /tftpboot directory and name it after
the version of ESXi it will hold, for example, /tftpboot/ESXi-7.x.x-xxxxx.
5 Copy the contents of the ESXi installer image to the newly created directory.
VMware, Inc. 60
VMware ESXi Upgrade
prefix=ESXi-7.x.x-xxxxxx
Here, ESXi-7.x.x-xxxxxx is the pathname of the installer files relative to the TFTP server's
root directory.
b If the filenames in the kernel= and modules= lines begin with a forward slash (/) character,
delete that character.
c If the kernelopt= line contains the string cdromBoot, remove the string only.
7 (Optional) For a scripted installation, in the boot.cfg file, add the kernelopt option to the line
after the kernel command, to specify the location of the installation script.
Use the following code as a model, where XXX.XXX.XXX.XXX is the IP address of the server
where the installation script resides, and esxi_ksFiles is the directory that contains the
ks.cfg file.
kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
8 If your ESXi host runs UEFI firmware, specify whether you want all UEFI hosts to boot the
same installer.
Option Description
Different installers a Create a subdirectory of /tftpboot named after the MAC address of
the target host machine (01-mac_address_of_target_ESXi_host), for
example, 01-23-45-67-89-0a-bc.
b Place a copy of (or a link to) the host's boot.cfg file in that directory, for
example, /tftpboot/01-23-45-67-89-0a-bc/boot.cfg.
n For legacy BIOS machines, the procedure supports booting multiple different versions of the
ESXi installer by using the same pxelinux.0 initial boot loader for all target machines, but
potentially different PXELINUX configuration files depending on the target machine's MAC
address.
n For UEFI machines, the procedure supports booting multiple different versions of the ESXi
installer by using the same mboot.efi initial boot loader for all target machines, but
potentially different boot.cfg files depending on the target machine's MAC address.
VMware, Inc. 61
VMware ESXi Upgrade
Prerequisites
n ESXi installer ISO image, downloaded from the VMware Web site.
n Target host with a hardware configuration that is supported for your version of ESXi. See the
VMware Compatibility Guide.
n Network adapter with PXE support on the target ESXi host.
n DHCP server that you can configure for PXE booting. See Sample DHCP Configurations.
n TFTP server.
n For legacy BIOS, you can use only IPv4 networking. For UEFI PXE boot, you can use IPv4 or
IPv6 networking.
n Use a native VLAN in most cases. If you want to specify the VLAN ID to be used with PXE
booting, check that your NIC supports VLAN ID specification.
Verify that your environment also meets the following prerequisites required for PXE boot using
an HTTP Server:
n Verify that the HTTP server is accessible by your target ESXi hosts.
n If your ESXi host runs legacy BIOS firmware only, obtain version 3.86 of the SYSLINUX
package. For more information, see Network Boot Background Information.
Procedure
b On the iPXE download page, follow the build instructions, but run one of the following
commands.
n For ESXi hosts that run legacy BIOS firmware only, run make bin/undionly.kpxe.
n For ESXi hosts that run UEFI firmware, run make bin-x86_64-efi/snponly.efi.
c Copy the undionly.kpxe or snponly.efi file to the /tftpboot directory on your TFTP
server.
VMware, Inc. 62
VMware ESXi Upgrade
2 If your ESXi host runs legacy BIOS firmware only, obtain and configure PXELINUX.
a Obtain SYSLINUX version 3.86, unpack it, and copy the pxelinux.0 file to the /tftpboot
directory on your TFTP server.
ESXi-7.x.x-XXXXXX is the name of the TFTP subdirectory that contains the ESXi installer
files.
DEFAULT install
NOHALT 1
LABEL install
KERNEL ESXi-7.x.x-XXXXXX/mboot.c32
APPEND -c ESXi-7.x.x-XXXXXX/boot.cfg
IPAPPEND 2
c Save the PXELINUX file in the /tftpboot/pxelinux.cfg directory on your TFTP server.
The filename determines whether all hosts boot this installer by default.
Option Description
Same installer Name the file default if you want all host to boot this ESXi installer by
default.
Different installers Name the file with the MAC address of the target host machine (01-
mac_address_of_target_ESXi_host), if only a specific host must boot
this file. For example, 01-23-45-67-89-0a-bc.
3 If your ESXi host runs UEFI firmware, copy the efi/boot/bootx64.efi file from the ESXi
installer ISO image to the /tftpboot folder on your TFTP server, and rename the file to
mboot.efi.
Note Newer versions of mboot.efi can generally boot older versions of ESXi, but older
versions of mboot.efi might be unable to boot newer versions of ESXi. If you plan to
configure different hosts to boot different versions of the ESXi installer, use the mboot.efi
from the newest version.
5 Create a directory on your HTTP server with the same name as the version of ESXi it will hold.
For example, /var/www/html/ESXi-7.x.x-XXXXXX.
6 Copy the contents of the ESXi installer image to the newly created directory.
VMware, Inc. 63
VMware ESXi Upgrade
prefix=http://XXX.XXX.XXX.XXX/ESXi-7.x.x-XXXXXX
b If the filenames in the kernel= and modules= lines begin with a forward slash (/) character,
delete that character.
c If the kernelopt= line contains the string cdromBoot, remove the string only.
8 (Optional) For a scripted installation, in the boot.cfg file, add the kernelopt option to the line
after the kernel command, to specify the location of the installation script.
Use the following code as a model, where XXX.XXX.XXX.XXX is the IP address of the server
where the installation script resides, and esxi_ksFiles is the directory that contains the
ks.cfg file.
kernelopt=ks=http://XXX.XXX.XXX.XXX/esxi_ksFiles/ks.cfg
9 If your ESXi host runs UEFI firmware, specify whether you want all UEFI hosts to boot the
same installer.
Option Description
Different installers a Create a subdirectory of /tftpboot named after the MAC address of
the target host machine (01-mac_address_of_target_ESXi_host), for
example, 01-23-45-67-89-0a-bc.
b Place a copy of (or a link to) the host's boot.cfg file in that directory, for
example, /tftpboot/01-23-45-67-89-0a-bc/boot.cfg.
UEFI HTTP supports booting multiple versions of the ESXi installer. You use the same mboot.efi
initial boot loader for all target machines, but potentially different boot.cfg files depending on the
target machine's MAC address.
Note Do not mix IPv4 or IPv6 networking during the boot process. Use either IPv4 or IPv6
networking.
VMware, Inc. 64
VMware ESXi Upgrade
Prerequisites
n ESXi host with UEFI firmware that supports the HTTP boot feature.
n ESXi installer ISO image, downloaded from the VMware Web site.
n Target host with a hardware configuration that is supported for your version of ESXi. See the
VMware Compatibility Guide.
n Network adapter with UEFI networking support on the target ESXi host.
n DHCP server that you can configure for UEFI HTTP booting. See Sample DHCP Configurations
n Use a native VLAN in most cases. If you want to specify the VLAN ID to be used with PXE
booting, check that your NIC supports VLAN ID specification.
Procedure
1 Copy the efi/boot/bootx64.efi file from the ESXi installer ISO image to a directory on your
HTTP server and rename the file to mboot.efi. For example, http://www.example.com/
esxi/mboot.efi.
Note Newer versions of mboot.efi can generally boot older versions of ESXi, but older
versions of mboot.efi might be unable to boot newer versions of ESXi. If you plan to
configure different hosts to boot different versions of the ESXi installer, use the mboot.efi
from the newest version.
3 Create a directory on your HTTP server with the same name as the version of ESXi it will hold.
For example, http://www.example.com/esxi/ESXi-7.x.x-XXXXXX.
4 Copy the contents of the ESXi installer image to the newly created directory.
a Add the following line with the URL of the newly created directory.
prefix=http://www.example.com/esxi/ESXi-7.x.x-XXXXXX
b If the filenames in the kernel= and modules= lines begin with a forward slash (/) character,
delete that character.
c If the kernelopt= line contains the string cdromBoot, remove the string only.
6 (Optional) For a scripted installation, in the boot.cfg file, add the kernelopt option to the line
after the kernel command, to specify the location of the installation script.
VMware, Inc. 65
VMware ESXi Upgrade
7 (Optional) Starting with ESXi 7.0 Update 2, you can use the virtual machine configuration
parameters networkBootProtocol and networkBootUri to specify from where a virtual
machines can boot. The setting networkBootProtocol specifies the boot protocol, IPv4 or
IPv6. For example, networkBootProtocol = httpv4. The setting networkBootUri specifies
the HTTP URL to the ESXi bootloader (bootx64.efi). For example, networkBootUri = http://
192.168.30.6/esxi70uc1/efi/boot/bootx64.efi.
8 Specify whether you want all UEFI hosts to boot the same installer.
Option Description
Same installer Add the boot.cfg file to the same directory as mboot.efi. For example,
http://www.example.com/esxi/boot.cfg
Different installers a Create a subdirectory of the directory that contains the mboot.efi
file. Name the directory as the MAC address of the target
host machine (01-mac_address_of_target_ESXi_host), for example,
01-23-45-67-89-0a-bc.
b Add the custom boot.cfg file in the directory. For example, http://
www.example.com/esxi/01-23-45-67-89-0a-bc/boot.cfg.
You can use both installer types. ESXi hosts without custom boot.cfg file on your HTTP
server, boot from the default boot.cfg file.
TFTP Server
Trivial File Transfer Protocol (TFTP) is similar to the FTP service, and is typically used only
for network booting systems or loading firmware on network devices such as routers. TFTP is
available on Linux and Windows.
n Most Linux distributions include a copy of the tftp-hpa server. If you require a supported
solution, purchase a supported TFTP server from your vendor of choice. You can also acquire
a TFTP server from one of the packaged appliances on the VMware Marketplace.
n If your TFTP server runs on a Microsoft Windows host, use tftpd32 version 2.11 or later. See
http://tftpd32.jounin.net/.
n SYSLINUX is an open-source boot environment for machines that run legacy BIOS firmware.
The ESXi boot loader for BIOS systems, mboot.c32, runs as a SYSLINUX plugin. You can
configure SYSLINUX to boot from several types of media, including disk, ISO image, and
network. You can find the SYSLINUX package at http://www.kernel.org/pub/linux/utils/boot/
syslinux/.
VMware, Inc. 66
VMware ESXi Upgrade
n PXELINUX is a SYSXLINUX configuration for booting from a TFTP server according to the
PXE standard. If you use PXELINUX to boot the ESXi installer, the pxelinux.0 binary file,
mboot.c32, the configuration file, the kernel, and other files are transferred by TFTP.
Note VMware builds the mboot.c32 plugin to work with SYSLINUX version 3.86 and tests PXE
booting only with that version. Other versions might be incompatible. The Open Source Disclosure
Package for VMware vSphere Hypervisor includes bug fixes for SYSLINUX version 3.86.
iPXE
iPXE is open-source software that provides an implementation of HTTP. You can use the software
to perform an initial boot. For more information, see https://ipxe.org/.
VMware includes a build of iPXE as part of Auto Deploy. The source tree for this build is available
in The Open Source Disclosure Package for VMware vCenter Server.
Some UEFI firmware support native UEFI HTTP boot. The feature is introduced in version 2.5 of
the UEFI specification. The firmware can load the ESXi boot loader from an HTTP server, without
additional software, such as iPXE.
Note Apple Macintosh products do not include PXE boot support. They include support for
network booting through an Apple-specific protocol instead.
n Configuring the DHCP server to provide different initial boot loader filenames to different hosts
depending on MAC address or other criteria. See your DCHP server's documentation.
n Approaches using iPXE as the initial bootloader with an iPXE configuration file that selects the
next bootloader based on the MAC address or other criteria.
VMware, Inc. 67
VMware ESXi Upgrade
Required Files
In the PXE configuration file, you must include paths to the following files:
n default
The initial boot file pxelinux.0 tries to load a PXE configuration file in the following order:
1 It tries with the MAC address of the target ESXi host, prefixed with its ARP type code, which is
01 for Ethernet.
2 If that attempt fails, it tries with the hexadecimal notation of target ESXi system IP address.
For example, you might save the file on the TFTP server at /tftpboot/pxelinux.cfg/
01-00-21-5a-ce-40-f6. The MAC address of the network adapter on the target ESXi host is
00-21-5a-ce-40-f6.
When the target machine first boots, it broadcasts a packet across the network requesting
information to boot itself. The DHCP server responds. The DHCP server must be able to determine
whether the target machine is allowed to boot and the location of the initial boot loader binary.
For PXE boot, the location is a file on a TFTP server. For UEFI HTTP boot, the location is a URL.
Caution Do not set up a second DHCP server if your network already has one. If multiple DHCP
servers respond to DHCP requests, machines can obtain incorrect or conflicting IP addresses, or
can fail to receive the proper boot information. Talk to a network administrator before setting up a
DHCP server. For support on configuring DHCP, contact your DHCP server vendor.
VMware, Inc. 68
VMware ESXi Upgrade
There are many DHCP servers that you can use. The following examples are for a ISC DHCP
server. If you are using a version of DHCP for Microsoft Windows, see the DHCP server
documentation to determine how to pass the next-server and filename arguments to the target
machine.
#
# ISC DHCP server configuration file snippet. This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;
option client-system-arch code 93 = unsigned integer 16;
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server xxx.xxx.xxx.xxx;
if option client-system-arch = 00:07 or option client-system-arch = 00:09 {
filename = "mboot.efi";
} else {
filename = "pxelinux.0";
}
}
When a machine attempts to PXE boot, the DHCP server provides an IP address and the location
of the pxelinux.0 or mboot.efi binary file on the TFTP server.
#
# ISC DHCPv6 server configuration file snippet. This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;
option dhcp6.bootfile-url code 59 = string;
option dhcp6.bootfile-url "tftp://[xxxx:xxxx:xxxx:xxxx::xxxx]/mboot.efi";
When a machine attempts to PXE boot, the DHCP server provides an IP address and the location
of the mboot.efi binary file on the TFTP server.
VMware, Inc. 69
VMware ESXi Upgrade
#
# ISC DHCP server configuration file snippet. This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;
option client-system-arch code 93 = unsigned integer 16;
class "pxeclients" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
next-server xxx.xxx.xxx.xxx;
if option client-system-arch = 00:07 or option client-system-arch = 00:09 {
if exists user-class and option user-class = "iPXE" {
# Instruct iPXE to load mboot.efi as secondary bootloader
filename = "mboot.efi";
} else {
# Load the snponly.efi configuration of iPXE as initial bootloader
filename = "snponly.efi";
}
} else {
if exists user-class and option user-class = "iPXE" {
# Instruct iPXE to load pxelinux as secondary bootloader
filename = "pxelinux.0";
} else {
# Load the undionly configuration of iPXE as initial bootloader
filename = "undionly.kpxe";
}
}
When a machine attempts to PXE boot, the DHCP server provides an IP address and the location
of the undionly.kpxe or snponly.efi binary file on the TFTP server. In the legacy BIOS case,
iPXE then asks the DHCP server for the next file to load, and the server returns pxelinux.0 as the
filename. In the UEFI case, iPXE then asks the DHCP server for the next file to load, and this time
the server returns mboot.efi as the filename. In both cases, iPXE is resident and the system has
HTTP capability. As a result the system can load additional files from an HTTP server.
#
# ISC DHCPv6 server configuration file snippet. This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;
VMware, Inc. 70
VMware ESXi Upgrade
When a machine attempts to PXE boot, the DHCP server provides an IP address and the location
of the snponly.efi (iPXE) binary file on the TFTP server. iPXE then asks the DHCP server for
the next file to load, and this time the server returns mboot.efi as the filename. iPXE is resident
and the system has HTTP capability. As a result the system can load additional files from an HTTP
server.
#
# ISC DHCP server configuration file snippet. This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;
option client-system-arch code 93 = unsigned integer 16;
class "httpclients" {
match if substring(option vendor-class-identifier, 0, 10) = "HTTPClient";
option vendor-class-identifier "HTTPClient";
#
# ISC DHCPv6 server configuration file snippet. This is not a complete
# configuration file; see the ISC server documentation for details on
# how to configure the DHCP server.
#
allow booting;
allow bootp;
VMware, Inc. 71
VMware ESXi Upgrade
vSphere 7.0 introduces components, base images, and add-ons as new software deliverables that
you can use to update or patch ESXi 7.0 hosts. For information about managing components,
base images, and add-ons on ESXi, see ESXCLI Concepts and Examples.
To use ESXCLI commands, you must install Standalone ESXCLI. For more information about
installing and using ESXCLI, see the following documents.
Note If you press Ctrl+C while an esxcli command is running, the command-line interface
exits to a new prompt without displaying a message. However, the command continues to run to
completion.
For ESXi hosts deployed with vSphere Auto Deploy, the tools VIB must be part of the base
booting image used for the initial Auto Deploy installation. The tools VIB cannot be added
separately later.
The following technical terms are used throughout the vSphere documentation set in discussions
of installation and upgrade tasks.
VIB
A VIB is an ESXi software package. VMware and its partners package solutions, drivers,
CIM providers, and applications that extend the ESXi platform as VIBs. VIBs are available in
software depots. You can use VIBs to create and customize ISO images or to upgrade ESXi
hosts by installing VIBs asynchronously onto the hosts.
Image Profile
VMware, Inc. 72
VMware ESXi Upgrade
An image profile defines an ESXi image and consists of VIBs. An image profile always includes
a base VIB, and might include more VIBs. You examine and define an image profile by using
vSphere ESXi Image Builder.
Software Depot
A software depot is a collection of VIBs and image profiles. The software depot is a hierarchy
of files and folders and can be available through an HTTP URL (online depot) or a ZIP file
(offline depot). VMware and VMware partners make depots available. Companies with large
VMware installations might create internal depots to provision ESXi hosts with vSphere Auto
Deploy, or to export an ISO for ESXi installation.
The acceptance level applies to individual VIBs installed by using the esxcli software vib
install and esxcli software vib update commands, to VIBs installed using vSphere
Lifecycle Manager, and to VIBs in image profiles.
The acceptance level of all VIBs on a host must be at least as high as the host acceptance
level. For example, if the host acceptance level is VMwareAccepted, you can install VIBs with
acceptance levels of VMwareCertified and VMwareAccepted, but you cannot install VIBs with
acceptance levels of PartnerSupported or CommunitySupported. To install a VIB with a restrictive
acceptance level that is less than the acceptance level of the host, you can change the setting of
the host by using the vSphere Client or by running esxcli software acceptance commands.
Setting host acceptance levels is a best practice that allows you to specify which VIBs can be
installed on a host and used with an image profile, and the level of support you can expect for
a VIB. For example, you might set a more restrictive acceptance level for hosts in a production
environment than for hosts in a testing environment.
VMwareCertified
The VMwareCertified acceptance level has the most stringent requirements. VIBs with this
level go through thorough testing fully equivalent to VMware in-house Quality Assurance
testing for the same technology. Today, only I/O Vendor Program (IOVP) program drivers are
published at this level. VMware takes support calls for VIBs with this acceptance level.
VMwareAccepted
VIBs with this acceptance level go through verification testing, but the tests do not fully test
every function of the software. The partner runs the tests and VMware verifies the result.
Today, CIM providers and PSA plug-ins are among the VIBs published at this level. VMware
directs support calls for VIBs with this acceptance level to the partner's support organization.
PartnerSupported
VMware, Inc. 73
VMware ESXi Upgrade
VIBs with the PartnerSupported acceptance level are published by a partner that VMware
trusts. The partner performs all testing. VMware does not verify the results. This level is used
for a new or nonmainstream technology that partners want to enable for VMware systems.
Today, driver VIB technologies such as Infiniband, ATAoE, and SSD are at this level with
nonstandard hardware drivers. VMware directs support calls for VIBs with this acceptance
level to the partner's support organization.
CommunitySupported
VMwareCertified x
VMwareAccepted x x
PartnerSupported x x x
CommunitySupporte x x x x
d
Use this procedure to determine the acceptance levels of the host and the VIB or image profile to
install, and to change the acceptance level of the host, if necessary for the update.
When you specify a target server by using --server=<server_name>, the server prompts you for
a user name and password. Other connection options, such as a configuration file or session file,
are supported. For a list of connection options, see Getting Started with ESXCLI, or run esxcli
--help at the ESXCLI command prompt.
Prerequisites
Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands in
the ESXi Shell.
VMware, Inc. 74
VMware ESXi Upgrade
Procedure
Option Description
List information for all VIBs esxcli --server=<server_name> software sources vib list --
depot=<depot_URL>
List information for a specified VIB esxcli --server=<server_name> software sources vib list --
viburl=<vib_URL>
List information for all image profiles esxcli --server=<server_name> software sources profile
list --depot=<depot_URL>
3 (Optional) If the acceptance level of the VIB is more restrictive than the acceptance level of the
host, change the acceptance level of the host.
Note You can use the --force option for the esxcli software vib or esxcli software
profile command to add a VIB or image profile with a lower acceptance level than the host.
A warning will appear. Because your setup is no longer consistent, the warning is repeated
when you install VIBs, remove VIBs, and perform certain other operations on the host.
When you specify a target server by using --server=<server_name>, the server prompts you for
a user name and password. Other connection options, such as a configuration file or session file,
are supported. For a list of connection options, see Getting Started with ESXCLI, or run esxcli
--help at the ESXCLI command prompt.
VMware, Inc. 75
VMware ESXi Upgrade
Prerequisites
Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands in
the ESXi Shell.
Procedure
1 Check whether the VIB or image profile that you want to install requires the host to be placed
in maintenance mode or to be rebooted after the installation or update.
Option Description
Check the VIBs in a depot esxcli --server=<server_name> software sources vib get --
depot=<depot_name>
Check the image profile in a depot esxcli --server=<server_name> software sources profile
get --depot=<depot_name>
The return values, which are read from the VIB metadata, indicate whether the host must be in
maintenance mode before installing the VIB or image profile, and whether installing the VIB or
profile requires the host to be rebooted.
Note vSphere Lifecycle Manager relies on an internal ESXi software scan API to determine
whether maintenance mode is required or not. When you install a VIB on a live system, if
the value for Live-Install-Allowed is set to false, the installation result instructs vSphere
Lifecycle Manager to reboot the host. When you remove a VIB from a live system, if the
value for Live-Remove-Allowed is set to false, the removal result instructs vSphere Lifecycle
Manager to reboot the host. In either case, when the remediation starts, vSphere Lifecycle
Manager automatically puts the host into maintenance mode.
What to do next
If necessary, place the host in maintenance mode. See Place a Host in Maintenance Mode. If a
reboot is required, and if the host belongs to a VMware HA cluster, remove the host from the
cluster or disable HA on the cluster before the installation or update. Also, place the host in
maintenance mode to minimize boot disk activity during the upgrade.
VMware, Inc. 76
VMware ESXi Upgrade
Maintenance mode is required when an update operation requires a reboot. However, you only
put the host in maintenance mode manually when you use esxcli commands for update and
upgrade operations.
To determine whether an upgrade operation requires the host to be in maintenance mode, see
Determine Whether an Update Requires a Host to Be in Maintenance Mode or to Be Rebooted
Note If the host is a member of a vSAN cluster, and any virtual machine object on the
host uses the "Number of failures to tolerate=0" setting in its storage policy, the host might
experience unusual delays when entering maintenance mode. The delay occurs because vSAN has
to evacuate this object from the host for the maintenance operation to complete successfully.
When you specify a target server by using --server=<server_name>, the server prompts you for
a user name and password. Other connection options, such as a configuration file or session file,
are supported. For a list of connection options, see Getting Started with ESXCLI, or run esxcli
--help at the ESXCLI command prompt.
Prerequisites
Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands in
the ESXi Shell.
Procedure
Note You can list all running virtual machines and retrieve the World ID of each one by
running the following command.
Option Command
To shut down the guest operating esxcli --server=<server_name> vm process kill --type soft
system and then power off the --world-id <vm_ID>
virtual machine
To power off the virtual machine esxcli --server=<server_name> vm process kill --type hard
immediately --world-id <vm_ID>
To force the power off operation esxcli --server=<server_name> vm process kill --type
force --world-id <vm_ID>
VMware, Inc. 77
VMware ESXi Upgrade
Alternatively, to avoid powering off virtual machines, you can migrate them to another
host. See the topic Migrating Virtual Machines in the vCenter Server and Host Management
documentation.
Important If you are updating ESXi from a zip bundle in a VMware-supplied depot, either online
from the VMware Web site or downloaded locally, VMware supports only the update method
specified for VMware-supplied depots in the topic Upgrade or Update a Host with Image Profiles .
Note The esxcli software vib update and esxcli software vib install commands are
not supported for upgrade operations. See Upgrade or Update a Host with Image Profiles .
When you specify a target server by using --server=<server_name>, the server prompts you for
a user name and password. Other connection options, such as a configuration file or session file,
are supported. For a list of connection options, see Getting Started with ESXCLI, or run esxcli
--help at the ESXCLI command prompt.
Prerequisites
n Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands
in the ESXi Shell.
n If the update requires a reboot, and if the host belongs to a VMware HA cluster, remove the
host from the cluster or disable HA on the cluster.
Procedure
VMware, Inc. 78
VMware ESXi Upgrade
Option Description
From a depot accessible by URL esxcli --server=<server_name> software sources vib list --
depot=http://<web_server>/<depot_name>
From a local depot ZIP file esxcli --server=<server_name> software sources vib list --
depot=<absolute_path_to_depot_zip_file>
3 Update the existing VIBs to include the VIBs in the depot or install new VIBs.
Option Description
Update VIBs from a depot accessible esxcli --server=<server_name> software vib update --
by URL depot=http://<web_server>/<depot_name>
Update VIBs from a local depot ZIP esxcli --server=<server_name> software vib update --
file depot=<absolute_path_to_depot_ZIP_file>
Install all VIBs from a ZIP file on esxcli --server=<server_name> software vib install --
a specified offline depot (includes depot <path_to_VMware_vib_ZIP_file>\<VMware_vib_ZIP_file>
--depot
both VMware VIBs and partner-
<path_to_partner_vib_ZIP_file>\<partner_vib_ZIP_file>
supplied VIBs)
Options for the update and install commands allow you to perform a dry run, to specify a
specific VIB, to bypass the acceptance level verification, and so on. Do not bypass verification
on production systems. See the ESXCLI Reference.
You can use the esxcli software profile update or esxcli software profile install
command to upgrade or update an ESXi host.
When you upgrade or update a host, the esxcli software profile update or esxcli
software profile install command applies a later version (major or minor) of a full image
profile onto the host. After this operation and a reboot, the host can join a vCenter Server
environment of the same or later version.
VMware, Inc. 79
VMware ESXi Upgrade
The esxcli software profile update command brings the entire content of the ESXi host
image to the same level as the corresponding upgrade method using an ISO installer. However,
the ISO installer performs a pre-upgrade check for potential problems, such as insufficient
memory or unsupported devices. The esxcli upgrade method only performs such checks when
upgrading from ESXi 6.7 Update 1 or later to a newer version.
For more about the ESXi upgrade process and methods, see Overview of the ESXi Host Upgrade
Process.
Important If you are upgrading or updating ESXi from a zip bundle in a VMware-supplied
depot, either online from the VMware website or downloaded locally, VMware supports
only the update command esxcli software profile update --depot=<depot_location> --
profile=<profile_name>.
When you specify a target server by using --server=<server_name>, the server prompts you for
a user name and password. Other connection options, such as a configuration file or session file,
are supported. For a list of connection options, see Getting Started with ESXCLI, or run esxcli
--help at the ESXCLI command prompt.
Note Options to the update and install commands allow you to perform a dry run, to bypass
acceptance level verification, to ignore hardware compatibility check warnings, and so on. The
option to bypass hardware compatibility check warnings is only available for ESXi 6.7 Update 1 or
later. Do not bypass verification on production systems.
For options help, type esxcli software profile install --help or esxcli software
profile update --help. For the complete listing of available command-line options, see the
ESXCLI Reference.
Prerequisites
n Install Standalone ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli
commands in the ESXi Shell.
Important When you use ESXCLI to update or upgrade the host, put the host manually
in maintenance mode to ensure that the boot disk is not actively in use before the upgrade
begins.
n If the update requires a reboot, and if the host belongs to a VMware HA cluster, remove the
host from the cluster or disable HA on the cluster.
VMware, Inc. 80
VMware ESXi Upgrade
Procedure
3 Update the existing image profile to include the VIBs or install new VIBs.
Important The software profile update command updates existing VIBs with the
corresponding VIBs from the specified profile, but does not affect other VIBs installed on
the target server. The software profile install command installs the VIBs present in the
depot image profile, and removes any other VIBS installed on the target server.
Option Description
Update the image profile from a esxcli software profile update --depot=<depot_location> --
VMware-supplied ZIP bundle, in a profile=<profile_name>
depot, accessible online from the
VMware Web site or downloaded to Important This is the only update method that VMware supports for zip
a local depot bundles supplied by VMware.
Update the image profile from a ZIP esxcli --server=<server_name> software profile
file on the target server, copied into update --depot=<datastore_name>/<profile_ZIP_file> --
profile=<profile_name>
a datastore
Update the image profile from a ZIP esxcli --server=<server_name> software profile
file copied locally and applied on the update --depot=/<root_dir>/<path_to_profile_ZIP_file>/
<profile_ZIP_file> --profile=<profile_name>
target server
VMware, Inc. 81
VMware ESXi Upgrade
Option Description
Install all new VIBs from a ZIP file esxcli --server=<server_name> software profile
on the target server, copied into a install --depot=<datastore_name>/<profile_ZIP_file> --
datastore profile=<profile_name>
Install all new VIBs from a ZIP file esxcli --server=<server_name> software profile
copied locally and applied on the install --depot=/<root_dir>/<path_to_profile_ZIP_file>/
<profile_ZIP_file> --profile=<profile_name>
target server
Important If you are updating ESXi from a zip bundle in a VMware-supplied depot, either online
from the VMware Web site or downloaded locally, VMware supports only the update method
specified for VMware-supplied depots in the topic Upgrade or Update a Host with Image Profiles .
The esxcli software vib update and esxcli software vib install commands are not
supported for upgrade operations. See Upgrade or Update a Host with Image Profiles .
When you specify a target server by using --server=<server_name>, the server prompts you for
a user name and password. Other connection options, such as a configuration file or session file,
are supported. For a list of connection options, see Getting Started with ESXCLI, or run esxcli
--help at the ESXCLI command prompt.
Prerequisites
n Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands
in the ESXi Shell.
n Download the ZIP file of a depot bundle from a third-party VMware partner.
VMware, Inc. 82
VMware ESXi Upgrade
n If the update requires a reboot, and if the host belongs to a VMware HA cluster, remove the
host from the cluster or disable HA on the cluster.
Procedure
Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands in
the ESXi Shell.
Prerequisites
n If the removal requires a reboot, and if the host belongs to a VMware HA cluster, disable HA
for the host.
Important To ensure that the boot disk is not actively in use when you use ESXCLI to update
or upgrade the host, put the host manually in maintenance mode.
n Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands
in the ESXi Shell.
VMware, Inc. 83
VMware ESXi Upgrade
Procedure
Note You can list all running virtual machines and retrieve the World ID of each one by
running the following command.
Option Command
To shut down the guest operating esxcli --server=<server_name> vm process kill --type soft
system and then power off the --world-id <vm_ID>
virtual machine
To power off the virtual machine esxcli --server=<server_name> vm process kill --type hard
immediately --world-id <vm_ID>
To force the power off operation esxcli --server=<server_name> vm process kill --type
force --world-id <vm_ID>
Alternatively, to avoid powering off virtual machines, you can migrate them to another
host. See the topic Migrating Virtual Machines in the vCenter Server and Host Management
documentation.
n <name>
n <name>:<version>
n <vendor>:<name>
n <vendor>:<name>:<version>
VMware, Inc. 84
VMware ESXi Upgrade
For example, the command to remove a VIB specified by vendor, name and version can take
the following form.
Note The remove command supports several more options. See the ESXCLI Reference.
Otherwise, you can use a firewall configuration file to specify port rules for host services to enable
for the extension. The vSphere Security documentation discusses how to add, apply, and refresh a
firewall rule set and lists the esxcli network firewall commands.
When you specify a target server by using --server=<server_name>, the server prompts you for
a user name and password. Other connection options, such as a configuration file or session file,
are supported. For a list of connection options, see Getting Started with ESXCLI, or run esxcli
--help at the ESXCLI command prompt.
Prerequisites
Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands in
the ESXi Shell.
Procedure
VMware, Inc. 85
VMware ESXi Upgrade
The output shows which VIBs will be installed or removed and whether the installation or
update requires a reboot.
Display the Installed VIBs and Profiles That Will Be Active After the
Next Host Reboot
You can use the --rebooting-image option to list the VIBs and profiles that are installed on the
host and will be active after the next host reboot.
When you specify a target server by using --server=<server_name>, the server prompts you for
a user name and password. Other connection options, such as a configuration file or session file,
are supported. For a list of connection options, see Getting Started with ESXCLI, or run esxcli
--help at the ESXCLI command prompt.
Prerequisites
Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands in
the ESXi Shell.
Procedure
Option Description
The output displays information for the ESXi image that will become active after the next
reboot. If the pending-reboot image has not been created, the output returns nothing.
This command also shows details of the installed image profile history, including profile
modifications.
When you specify a target server by using --server=<server_name>, the server prompts you for
a user name and password. Other connection options, such as a configuration file or session file,
are supported. For a list of connection options, see Getting Started with ESXCLI, or run esxcli
--help at the ESXCLI command prompt.
VMware, Inc. 86
VMware ESXi Upgrade
Prerequisites
Install ESXCLI. See Getting Started with ESXCLI. For troubleshooting, run esxcli commands in
the ESXi Shell.
Procedure
n View the upgrade logs. You can use the vSphere Client to export the log files.
n If a vCenter Server system manages the host, you must reconnect the host to vCenter Server
by right-clicking the host in the vCenter Server inventory and selecting Connect.
n When the upgrade is complete, the ESXi host is in evaluation mode. The evaluation period
is 60 days. You must assign a vSphere 7.0 license before the evaluation period expires. You
can upgrade existing licenses or acquire new ones from My VMware. Use the vSphere Client
to configure the licensing for the hosts in your environment. See the vCenter Server and Host
Management documentation for details about managing licenses in vSphere.
n The host sdX devices might be renumbered after the upgrade. If necessary, update any scripts
that reference sdX devices.
n Upgrade virtual machines on the host. See Upgrading Virtual Machines and VMware Tools.
n Set up the vSphere Authentication Proxy service. Earlier versions of the vSphere
Authentication Proxy are not compatible with vSphere 7.0. See the vSphere Security
documentation for details about configuring the vSphere Authentication Proxy service.
For example, in evaluation mode, you can use vSphere vMotion technology, the vSphere HA
feature, the vSphere DRS feature, and other features. If you want to continue using these features,
you must assign a license that supports them.
VMware, Inc. 87
VMware ESXi Upgrade
The installable version of ESXi hosts is always installed in evaluation mode. ESXi Embedded is
preinstalled on an internal storage device by your hardware vendor. It might be in evaluation
mode or prelicensed.
The evaluation period is 60 days and begins when you turn on the ESXi host. At any time during
the 60-day evaluation period, you can convert from licensed mode to evaluation mode. The time
available in the evaluation period is decreased by the time already used.
For example, suppose that you use an ESXi host in evaluation mode for 20 days and then assign a
vSphere Standard Edition license key to the host. If you set the host back in evaluation mode, you
can explore the entire set of features for the host for the remaining evaluation period of 40 days.
For ESXi hosts, license or evaluation period expiry leads to disconnection from vCenter Server. All
powered on virtual machines continue to work, but you cannot power on virtual machines after
they are powered off. You cannot change the current configuration of the features that are in use.
You cannot use the features that remained unused before the license expiration.
For information about managing licensing for ESXi hosts, see the vCenter Server and Host
Management documentation.
If you upgrade an ESXi host to a version that starts with the same number, you do not need to
replace the existing license with a new one. For example, if you upgrade a host from ESXi 6.5 to
6.7, you can use the same license for the host.
If you upgrade an ESXi host to a version that starts with a different number, you must apply a new
license. For example, if you upgrade an ESXi host from 6.x to 7.0, you need to license the host
with a vSphere 7 license.
When you upgrade ESXi 6.5 or ESXi 6.7 hosts to ESXi 7.0 hosts, the hosts are in a 60-day
evaluation mode period until you apply the correct vSphere 7 licenses. See About ESXi Evaluation
and Licensed Modes.
You can acquire vSphere 7 licenses from My VMware. After you have vSphere 7 licenses, you must
assign them to all upgraded ESXi 7.0 hosts by using the license management functionality in the
vSphere Client. See the vCenter Server and Host Management documentation for details. If you
use the scripted method to upgrade to ESXi 7.0, you can provide the license key in the kickstart
(ks) file.
VMware, Inc. 88
VMware ESXi Upgrade
For secure boot to succeed, the signature of every installed VIB must be available on the system.
Older versions of ESXi do not save the signatures when installing VIBs.
n If you upgrade using ESXCLI commands, the old version of ESXi performs the installation of
the new VIBs, so their signatures are not saved and secure boot is not possible.
n If you upgrade using the ISO, new VIBs do have their signatures saved. This is true also for
vSphere Lifecycle Manager upgrades that use the ISO.
n If old VIBs remain on the system, the signatures of those VIBs are not available and secure
boot is not possible.
n If the system uses a third-party driver, and the VMware upgrade does not include a new
version of the driver VIB, then the old VIB remains on the system after upgrade.
n In rare cases, VMware might drop ongoing development of a specific VIB without
providing a new VIB that replaces or obsoletes it, so the old VIB remains on the system
after upgrade.
Note UEFI secure boot also requires an up-to-date bootloader. This script does not check for an
up-to-date bootloader.
Prerequisites
n Verify that all VIBs are signed with an acceptance level of at least PartnerSupported. If you
include VIBs at the CommunitySupported level, you cannot use secure boot.
Procedure
/usr/lib/vmware/secureboot/bin/secureBoot.py -c
The output either includes Secure boot can be enabled or Secure boot CANNOT be enabled.
All vSphere components use this infrastructure. The default values for log capacity in this
infrastructure vary, depending on the amount of storage available and on how you have
configured system logging. Hosts that are deployed with Auto Deploy store logs on a RAM disk,
which means that the amount of space available for logs is small.
VMware, Inc. 89
VMware ESXi Upgrade
If your host is deployed with Auto Deploy, reconfigure your log storage in one of the following
ways:
If you redirect logs to non-default storage, such as a NAS or NFS store, you might also want to
reconfigure log sizing and rotations for hosts that are installed to disk.
You do not need to reconfigure log storage for ESXi hosts that use the default configuration,
which stores logs in a scratch directory on the VMFS volume. For these hosts, ESXi 7.0 configures
logs to best suit your installation, and provides enough space to accommodate log messages.
Table 3-11. Recommended Minimum Size and Rotation Configuration for hostd, vpxa, and fdm
Logs
Number of Rotations to
Log Maximum Log File Size Preserve Minimum Disk Space Required
VirtualCenter Agent 5 MB 10 50 MB
(vpxa)
For information about setting up and configuring syslog and a syslog server and installing vSphere
Syslog Collector, see the vCenter Server Installation and Setup documentation.
For information about using the esxcli system syslog command and other ESXCLI
commands, see Getting Started with ESXCLI.
Procedure
2 Click Configure.
4 Click Edit.
VMware, Inc. 90
VMware ESXi Upgrade
6 To set up logging globally, select the setting to change and enter the value.
Option Description
Syslog.global.defaultRotate Maximum number of archives to keep. You can set this number globally and
for individual subloggers.
Syslog.global.defaultSize Default size of the log, in KB, before the system rotates logs. You can set this
number globally and for individual subloggers.
Syslog.global.LogDir Directory where logs are stored. The directory can be on mounted NFS
or VMFS volumes. Only the /scratch directory on the local file system
is persistent across reboots. Specify the directory as [datastorename]
path_to_file, where the path is relative to the root of the volume backing
the datastore. For example, the path [storage1] /systemlogs maps to the
path /vmfs/volumes/storage1/systemlogs.
Syslog.global.logDirUnique Selecting this option creates a subdirectory with the name of the ESXi host
under the directory specified by Syslog.global.LogDir. A unique directory is
useful if the same NFS directory is used by multiple ESXi hosts.
Syslog.global.LogHost Remote host to which syslog messages are forwarded and the port on which
the remote host receives syslog messages. You can include the protocol and
the port, for example, protocol://hostName1:port where protocol can be
udp, tcp, or ssl. You can use only port 514 for UDP. The ssl protocol uses
TLS 1.2. For example: ssl://hostName1:1514. The value of port can be any
decimal number between 1 and 65535.
While no hard limit to the number of remote hosts to receive syslog
messages exists, it is recommended to keep the number of remote hosts to
five or less.
7 (Optional) To overwrite the default log size and log rotation for any of the logs:
b Enter the number of rotations and the log size you want.
8 Click OK.
Results
VMware, Inc. 91
Using vSphere Auto Deploy to
Reprovision Hosts 4
If a host was deployed using vSphere Auto Deploy, you can use vSphere Auto Deploy to
reprovision the host with a new image profile that contains a different version of ESXi. You can use
vSphere ESXi Image Builder to create and manage image profiles.
Note If you upgrade the host to use an ESXi 6.0 or later image, the vSphere Auto Deploy server
provisions the ESXi host with certificates that are signed by VMCA. If you are currently using
custom certificates, you can set up the host to use the custom certificates after the upgrade. See
vSphere Security.
The vSphere Auto Deploy server is automatically upgraded if you upgrade the corresponding
vCenter Server system. Starting with version 6.0, the vSphere Auto Deploy server is always on the
same management node as the vCenter Server system.
n Reprovisioning Hosts
VMware, Inc. 92
VMware ESXi Upgrade
Image state The executable software to run on an ESXi host. Image profile, created with vSphere ESXi Image
Builder.
Configuration The configurable settings that determine how Host profile, created by using the host profile UI.
state the host is configured, for example, virtual Often comes from a template host.
switches and their settings, driver settings, boot
parameters, and so on.
Dynamic state The runtime state that is generated by the Host memory, lost during reboot.
running software, for example, generated
private keys or runtime databases.
Virtual machine The virtual machines stored on a host and virtual Virtual machine information sent by vCenter
state machine autostart information (subsequent Server to vSphere Auto Deploy must be
boots only). available to supply virtual machine information
to vSphere Auto Deploy.
User input State that is based on user input, for example, Host customization information, stored by
an IP address that the user provides when vCenter Server during first boot.
the system starts up, cannot automatically be You can create a host profile that requires user
included in the host profile. input for certain values.
When vSphere Auto Deploy applies a host
profile that requires user provided information,
the host is placed in maintenance mode. Use
the host profile UI to check the host profile
compliance, and respond to the prompt to
customize the host.
VMware, Inc. 93
VMware ESXi Upgrade
Auto Deploy
PowerCLI
Image
Profiles
Auto Deploy
server
(Web server)
Public depot
Sends information to the vSphere Auto Deploy server which image profile and which host
profile to serve to which host. Administrators use vSphere Auto Deploy to define the rules that
assign image profiles and host profiles to hosts.
Image profiles
n VMware and VMware partners make image profiles and VIBs available in public depots.
Use vSphere ESXi Image Builder to examine the depot and use the vSphere Auto Deploy
rules engine to specify which image profile to assign to which host.
n VMware customers can create a custom image profile based on the public image profiles
and VIBs in the depot and apply that image profile to the host.
Host profiles
VMware, Inc. 94
VMware ESXi Upgrade
Define machine-specific configuration such as networking or storage setup. Use the host
profile UI to create host profiles. You can create a host profile for a reference host and apply
that host profile to other hosts in your environment for a consistent configuration.
Host customization
Stores information that the user provides when host profiles are applied to the host. Host
customization might contain an IP address or other information that the user supplied for
that host. For more information about host customizations, see the vSphere Host Profiles
documentation.
Host customization was called answer file in earlier releases of vSphere Auto Deploy.
If you want to manage vSphere Auto Deploy with PowerCLI cmdlets, see Set Up vSphere Auto
Deploy and Provision Hosts with vSphere PowerCLI.
Prerequisites
n Verify that the hosts that you plan to provision with vSphere Auto Deploy meet the hardware
requirements for ESXi. See ESXi Hardware Requirements.
VMware, Inc. 95
VMware ESXi Upgrade
n Verify that the ESXi hosts have network connectivity to vCenter Server and that all port
requirements are met. See vCenter Server Upgrade.
n Verify that you have a TFTP server and a DHCP server in your environment to send files and
assign network addresses to the ESXi hosts that Auto Deploy provisions. See #unique_75 and
#unique_76.
n Verify that the ESXi hosts have network connectivity to DHCP, TFTP, and vSphere Auto
Deploy servers.
n If you want to use VLANs in your vSphere Auto Deploy environment, you must set up the end
to end networking properly. When the host is PXE booting, the firmware driver must be set
up to tag the frames with proper VLAN IDs. You must do this set up manually by making the
correct changes in the UEFI/BIOS interface. You must also correctly configure the ESXi port
groups with the correct VLAN IDs. Ask your network administrator how VLAN IDs are used in
your environment.
n Verify that you have enough storage for the vSphere Auto Deploy repository. The vSphere
Auto Deploy server uses the repository to store data it needs, including the rules and rule sets
you create and the VIBs and image profiles that you specify in your rules.
Best practice is to allocate 2 GB to have enough room for four image profiles and some extra
space. Each image profile requires approximately 400 MB. Determine how much space to
reserve for the vSphere Auto Deploy repository by considering how many image profiles you
expect to use.
n Obtain administrative privileges to the DHCP server that manages the network segment you
want to boot from. You can use a DHCP server already in your environment, or install a
DHCP server. For your vSphere Auto Deploy setup, replace the gpxelinux.0 filename with
snponly64.efi.vmw-hardwired for UEFI or undionly.kpxe.vmw-hardwired for BIOS. For
more information on DHCP configurations, see Sample DHCP Configurations.
n Secure your network as for any other PXE-based deployment method. vSphere Auto
Deploy transfers data over SSL to prevent casual interference and snooping. However, the
authenticity of the client or the vSphere Auto Deploy server is not checked during a PXE boot.
n If you want to manage vSphere Auto Deploy with PowerCLI cmdlets, verify that Microsoft .NET
Framework 4.5 or 4.5.x and Windows PowerShell 3.0 or 4.0 are installed on a Windows
machine. See the vSphere PowerCLI User's Guide.
n Set up a remote Syslog server. See the vCenter Server and Host Management documentation
for Syslog server configuration information. Configure the first host you boot to use the remote
Syslog server and apply that host's host profile to all other target hosts. Optionally, install
and use the vSphere Syslog Collector, a vCenter Server support tool that provides a unified
architecture for system logging and enables network logging and combining of logs from
multiple hosts.
n Install ESXi Dump Collector, set up your first host so that all core dumps are directed to ESXi
Dump Collector, and apply the host profile from that host to all other hosts.
VMware, Inc. 96
VMware ESXi Upgrade
n If the hosts that you plan to provision with vSphere Auto Deploy are with legacy BIOS, verify
that the vSphere Auto Deploy server has an IPv4 address. PXE booting with legacy BIOS
firmware is possible only over IPv4. PXE booting with UEFI firmware is possible with either
IPv4 or IPv6.
Procedure
By default, only the administrator role has privileges to use the vSphere Auto Deploy service.
2 On the Auto Deploy page, select your vCenter Server from the drop-down menu at the top.
3 Click Enable Auto Deploy and Image Builder to activate the service.
If the Image Builder service is already active, select the Configure tab and click Enable Auto
Deploy Service.
b Click Download TFTP Boot Zip to download the TFTP configuration file and unzip the file
to the directory in which your TFTP server stores files.
c (Optional) To use a proxy server, click Add on the Auto Deploy Runtime Summary pane
and enter a proxy server URL in the text box.
Using reverse proxy servers can offload the requests made to the vSphere Auto Deploy
server.
5 Set up your DHCP server to point to the TFTP server on which the TFTP ZIP file is located.
a Specify the TFTP Server's IP address in DHCP option 66, frequently called next-server.
6 Set each host you want to provision with vSphere Auto Deploy to network boot or PXE boot,
following the manufacturer's instructions.
7 (Optional) If you set up your environment to use Thumbprint mode, you can use your own
Certificate Authority (CA) by replacing the OpenSSL certificate rbd-ca.crt and the OpenSSL
private key rbd-ca.key with your own certificate and key file.
VMware, Inc. 97
VMware ESXi Upgrade
Results
When you start an ESXi host that is set up for vSphere Auto Deploy, the host contacts the DHCP
server and is directed to the vSphere Auto Deploy server, which provisions the host with the
image profile specified in the active rule set.
What to do next
n You can change the default configuration properties of the Auto Deploy Service. For more
information, see "Configuring vCenter Server" in the vCenter Server and Host Management
documentation.
n You can change the default configuration properties of the Image Builder Service. For more
information, see "Configuring vCenter Server" in the vCenter Server and Host Management
documentation.
n Define a rule that assigns an image profile and optional host profile, host location, or script
bundle to the host.
n (Optional) Configure the first host that you provision as a reference host. Use the storage,
networking, and other settings you want for your target hosts to share. Create a host profile
for the reference host and write a rule that assigns both the already tested image profile and
the host profile to target hosts.
n (Optional) If you want to have vSphere Auto Deploy overwrite existing partitions, set up a
reference host to do auto partitioning and apply the host profile of the reference host to other
hosts.
n (Optional) If you have to configure host-specific information, set up the host profile of the
reference host to prompt for user input. For more information about host customizations, see
the vSphere Host Profiles documentation.
Experienced PowerShell users can use vSphere Auto Deploy cmdlets just like other PowerShell
cmdlets. If you are new to PowerShell and PowerCLI, the following tips might be helpful.
You can type cmdlets, parameters, and parameter values in the PowerCLI shell.
n Format any variable and cmdlet output by using Format-List or Format-Table, or their
short forms fl or ft. For more information, run the Get-Help Format-List cmdlet.
VMware, Inc. 98
VMware ESXi Upgrade
Most examples in the vCenter Server Installation and Setup documentation pass in parameters by
name.
1 Bind the object that encapsulates rule set compliance information for a host to a variable.
2 View the itemlist property of the object to see the difference between what is in the rule set
and what the host is currently using.
$tr.itemlist
3 Remediate the host to use the revised rule set by using the Repair-
DeployRuleSetCompliance cmdlet with the variable.
Repair-DeployRuleSetCompliance $tr
The example remediates the host the next time you boot the host.
Assigning license keys through the vSphere Client and assigning licensing by using PowerCLI
cmdlets function differently.
You can assign license keys to a host when you add the host to the vCenter Server system or
when the host is managed by a vCenter Server system.
VMware, Inc. 99
VMware ESXi Upgrade
You can specify a set of license keys to be added to a set of hosts. The license keys are
added to the vCenter Server database. Each time a host is added to the vCenter Server
system or reconnects to it, the host is assigned a license key. A license key that is assigned
through PowerCLI is treated as a default license key. When an unlicensed host is added or
reconnected, it is assigned the default license key. If a host is already licensed, it keeps its
license key.
The following example assigns licenses to all hosts in a data center. You can also associate licenses
with hosts and clusters.
The following example is for advanced PowerCLI users who know how to use PowerShell
variables.
Prerequisites
Procedure
1 In a PowerCLI session, connect to the vCenter Server system you want to use and bind the
associated license manager to a variable.
2 Run a cmdlet that retrieves the data center in which the hosts for which you want to use the
bulk licensing feature are located.
3 Create a LicenseData object and a LicenseKeyEntry object with associated type ID and license
key.
4 Associate the LicenseKeys attribute of the LicenseData object you created in step 3 with the
LicenseKeyEntry object.
$licenseData.LicenseKeys += $licenseKeyEntry
5 Update the license data for the data center with the LicenseData object and verify that the
license is associated with the host container.
$licenseDataManager.UpdateAssociatedLicenseData($hostContainer.Uid, $licenseData)
$licenseDataManager.QueryAssociatedLicenseData($hostContainer.Uid)
6 Provision one or more hosts with vSphere Auto Deploy and assign them to the data center or
to the cluster that you assigned the license data to.
7 You can use the vSphere Client to verify that the host is successfully assigned to the default
license XXXXX-XXXXX-XXXXX-XXXXX-XXXXX.
Results
All hosts that you assigned to the data center are now licensed automatically.
Reprovisioning Hosts
vSphere Auto Deploy supports multiple reprovisioning options. You can perform a simple reboot
or reprovision with a different image profile or a different host profile.
A first boot using vSphere Auto Deploy requires that you set up your environment and add rules
to the rule set. See the topic "Preparing for vSphere Auto Deploy" in the vSphere installation and
Setup documentation.
The following reprovisioning operations are available.
n Simple reboot.
n Reboot of hosts for which the user answered questions during the boot operation.
Prerequisites
n Verify that the setup you performed during the first boot operation is in place.
n Verify that all associated items like are available. An item can be an image profile, host profile,
custom script or vCenter Server inventory location.
n Verify that the host has the identifying information (asset tag, IP address) it had during
previous boot operations.
Procedure
Host is part of a DRS cluster VMware DRS migrates virtual machines to appropriate hosts when you place
the host in maintenance mode.
Host is not part of a DRS cluster You must migrate all virtual machines to different hosts and place each host
in maintenance mode.
Results
The host shuts down. When the host reboots, it uses the image profile that the vSphere Auto
Deploy server provides. The vSphere Auto Deploy server also applies the host profile stored on
the vCenter Server system.
n If the VIBs that you want to use support live update, you can use an esxcli software vib
command. In that case, you must also update the rule set to use an image profile that includes
the new VIBs.
n During testing, you can apply an image profile to an individual host with the Apply-
EsxImageProfile cmdlet and reboot the host so the change takes effect. The Apply-
EsxImageProfile cmdlet updates the association between the host and the image profile
but does not install VIBs on the host.
Prerequisites
n Verify that the image profile you want to use to reprovision the host is available. Use vSphere
ESXi Image Builder in a PowerCLI session. See "Using vSphere ESXi Image Builder CLI" in the
vSphere Installation and Setup documentation.
n Verify that the setup you performed during the first boot operation is in place.
Procedure
1 At the PowerShell prompt, run the Connect-VIServer PowerCLI cmdlet to connect to the
vCenter Server system that vSphere Auto Deploy is registered with.
Connect-VIServer ipv4_or_ipv6_address
The cmdlet might return a server certificate warning. In a production environment, make
sure no server certificate warnings result. In a development environment, you can ignore the
warning.
2 Determine the location of a public software depot that contains the image profile that you want
to use, or define a custom image profile with vSphere ESXi Image Builder.
3 Run Add-EsxSoftwareDepot to add the software depot that contains the image profile to the
PowerCLI session.
ZIP file a Download the ZIP file to a local file path or create a mount point local to
the PowerCLI machine.
b Run Add-EsxSoftwareDepot C:\file_path\my_offline_depot.zip.
4 Run Get-EsxImageProfile to see a list of image profiles, and decide which profile you want
to use.
5 Run Copy-DeployRule and specify the ReplaceItem parameter to change the rule that
assigns an image profile to hosts.
The following cmdlet replaces the current image profile that the rule assigns to the host with
the my_new_imageprofile profile. After the cmdlet completes, myrule assigns the new image
profile to hosts. The old version of myrule is renamed and hidden.
6 Test the rule compliance for each host that you want to deploy the image to.
a Verify that you can access the host for which you want to test rule set compliance.
b Run the cmdlet that tests rule set compliance for the host, and bind the return value to a
variable for later use.
c Examine the differences between the contents of the rule set and configuration of the host.
$tr.itemlist
The system returns a table of current and expected items if the host for which you want to
test the new rule set compliance is compliant with the active rule set.
CurrentItem ExpectedItem
----------- ------------
my_old_imageprofile my_new_imageprofile
d Remediate the host to use the revised rule set the next time you boot the host.
Repair-DeployRuleSetCompliance $tr
In many cases, you assign a host to a cluster instead of specifying a host profile explicitly. The host
uses the host profile of the cluster.
Prerequisites
n Install PowerCLI and all prerequisite software. For information see vCenter Server Installation
and Setup.
n Export the host profile that you want to use.
Procedure
1 In a PowerCLI session, run the Connect-VIServer cmdlet to connect to the vCenter Server
system that vSphere Auto Deploy is registered with.
Connect-VIServer ipv4_or_ipv6_address
The cmdlet might return a server certificate warning. In a production environment, make
sure no server certificate warnings result. In a development environment, you can ignore the
warning.
2 Using the vSphere Client, set up a host with the settings you want to use and create a host
profile from that host.
3 Find the name of the host profile by running Get-VMhostProfile PowerCLI cmdlet, passing
in the ESXi host from which you create a host profile.
4 At the PowerCLI prompt, define a rule in which host profiles are assigned to hosts with certain
attributes, for example a range of IP addresses.
The specified item is assigned to all hosts with the specified attributes. This example specifies
a rule named testrule2. The rule assigns the specified host profile my_host_profile to all hosts
with an IP address inside the specified range and with a manufacturer of Acme or Zven.
Add-DeployRule testrule2
By default, the working rule set becomes the active rule set, and any changes to the rule set
become active when you add a rule. If you use the NoActivate parameter, the working rule
set does not become the active rule set.
What to do next
n Assign a host already provisioned with vSphere Auto Deploy to the new host profile by
performing compliance test and repair operations on those hosts. For more information, see
Test and Repair Rule Compliance .
Prerequisites
n Prepare your system and install the Auto Deploy Server. For more information, see Prepare
Your System for vSphere Auto Deploy.
n Verify that your infrastructure includes one or more ESXi hosts provisioned with vSphere Auto
Deploy, and that the host on which you installed PowerCLI can access those ESXi hosts.
Procedure
1 In a PowerCLI session, run the Connect-VIServer cmdlet to connect to the vCenter Server
system that vSphere Auto Deploy is registered with.
Connect-VIServer ipv4_or_ipv6_address
The cmdlet might return a server certificate warning. In a production environment, make
sure no server certificate warnings result. In a development environment, you can ignore the
warning.
2 Use PowerCLI to check which vSphere Auto Deploy rules are currently available.
Get-DeployRule
The system returns the rules and the associated items and patterns.
For example, you can change the image profile and the name of the rule.
You cannot edit a rule already added to the active rule set. Instead, you can copy the rule and
replace the item or pattern you want to change.
4 Verify that you can access the host for which you want to test rule set compliance.
5 Run the cmdlet that tests rule set compliance for the host, and bind the return value to a
variable for later use.
6 Examine the differences between the contents of the rule set and configuration of the host.
$tr.itemlist
If the host for which you want to test the new rule set compliance is compliant with the active
rule set, the system returns a table of current and expected items.
CurrentItem ExpectedItem
----------- ------------
My Profile 25 MyNewProfile
7 Remediate the host to use the revised rule set the next time you boot the host.
Repair-DeployRuleSetCompliance $tr
What to do next
If the rule you changed specified the inventory location, the change takes effect when you repair
compliance. For all other changes, reboot your host to have vSphere Auto Deploy apply the new
rule and to achieve compliance between the rule set and the host.
Solution