Some installation and update operations that use live install require the host to be in maintenance mode.

About this task

To determine whether an upgrade operation requires the host to be in maintenance mode, see Determine Whether an Update Requires the 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 vSphere Command-Line Interfaces, or run esxcli --help at the vCLI command prompt.

Prerequisites

Install vCLI or deploy the vSphere Management Assistant (vMA) virtual machine. See Getting Started with vSphere Command-Line Interfaces. For troubleshooting, run esxcli commands in the ESXi Shell.

Procedure

  1. Check whether the host is in maintenance mode.

    vicfg-hostops --server=server_name --operation info

  2. Power off each virtual machine running on the ESXi host.

    Option

    Command

    To shut down the guest operating system and then power off the virtual machine

    vmware-cmd --server=server_name path_to_vm stop soft

    To force the power off operation

    vmware-cmd --server=server_name path_to_vm stop hard

    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.

  3. Place the host in maintenance mode.

    vicfg-hostops --server=server_name --operation enter

  4. Verify that the host is in maintenance mode.

    vicfg-hostops --server=server_name --operation info