ESXCLI Changes in ESX 9.0 and 9.1: New, Removed and Changed Commands vs ESXi 8.0 U3

ESX 9.0 adds 27 ESXCLI commands and drops 11 vs 8.0 U3 (SLP, WBEM/CIM); 9.1 adds 27 more incl. memtier. Full tables from Broadcom’s reference.

Short answer: compared with ESXi 8.0 U3, the ESX 9.0 ESXCLI reference adds 27 commands and drops 11. The additions are a new licensing namespace, an nsx namespace, NVMe host authentication, duplicate iSCSI sessions and a reorganised vSAN ESA dedup tree. The removals are SLP and WBEM/CIM, which ESX 9.0 no longer ships, plus one deprecated iSER setting. ESX 9.1 adds another 27 commands, led by a new memtier namespace for NVMe memory tiering and iSNS discovery for iSCSI.

Every command and option below comes from Broadcom’s published ESXCLI Command Reference for 8.0.3, 9.0.0 and 9.1.0. I compared the three versions namespace by namespace: 814 commands in 8.0.3, 830 in 9.0.0 and 857 in 9.1.0. What a host actually offers depends on its build and installed VIBs, so check with esxcli --help before you script against a command.

Full lists: ESXCLI commands for ESX 9.0 · ESXi 8.0 · ESXi 7.0 · ESXi shell commands you actually use

ESX 9.0 at a glance

8.0.39.0.09.1.0
Top-level namespaces1618 (+ licensing, nsx)19 (+ memtier)
Commands in the reference814830857
Added vs previous–2727
Removed vs previous–110
Existing commands with changed options–1213

New ESXCLI commands in ESX 9.0

The biggest groups are licensing, which manages license credentials and entitlement assignments on the host for the VCF 9 licensing model, and vSAN ESA dedup. The dedup store commands moved from esxcli vsan dedupstore to esxcli vsan dedup dedupstore, next to new object- and space-level commands. Broadcom’s own description of vsan dedup object create says to use it only to replace a corrupted dedup hash object, following a runbook or KB, or with support. Treat that group as support tooling, not day-to-day commands.

Command (new in 9.0)What it does
esxcli iscsi session duplicate addAdd duplicate sessions on current iSCSI configuration
esxcli iscsi session duplicate listList duplicate sessions on current iSCSI configuration
esxcli iscsi session duplicate removeRemove duplicate sessions on current iSCSI configuration
esxcli licensing credential addAdd a new license credential
esxcli licensing credential listList the installed license credentials
esxcli licensing credential removeRemove an existing license credential
esxcli licensing entitlement addAdds a new license entitlement assignment
esxcli licensing entitlement listLists the license entitlement assignments
esxcli licensing entitlement removeRemoves a license entitlement assignment
esxcli licensing entitlement setUpdates an existing license entitlement assignment
esxcli nsx services stopCLI to stop NSX services with tn-delete option
esxcli nvme auth getGet NVMe host authentication information
esxcli nvme auth setSet NVMe host authentication information
esxcli nvme device log commandeffects getGet NVMe commands supported and effects log
esxcli storage core adapter listdetailedDetailed listing of all HBAs registered with PSA
esxcli vsan dedup dedupstore distribution getGet the dedup store distribution info of vSAN ESA (Express Storage Architecture) cluster
esxcli vsan dedup dedupstore getGet vSAN ESA dedup store view
esxcli vsan dedup dedupstore resync listGet detailed information of vSAN ESA resyncing dedup objects
esxcli vsan dedup dedupstore resync summary getGet summary information of vSAN ESA resyncing dedup objects
esxcli vsan dedup object createCreate a dedup object
esxcli vsan dedup object distribution getGet the chunk objects where the given regular object has data on
esxcli vsan dedup object reference getGet the regular objects whose data the given chunk object holds
esxcli vsan dedup object space getGet vSAN ESA regular object dedup space efficiency information
esxcli vsan dedup space getGet vSAN ESA dedup space efficiency information
esxcli vsan iscsi vip listList configured vSAN iSCSI VIPs
esxcli vsan witness license getGet vSAN witness license info on the host
esxcli vsan witness license setSet vSAN witness license config on the host

ESXCLI commands removed in ESX 9.0

The VCF 9.0 vSphere product support notes explain most of this list. ESX 9.0 removes CIM, the Small Footprint CIM Broker (SFCB), WSMan and the OpenSLP stack, which were deprecated in 8.0, and CIM providers for ESX 8.x and earlier aren’t supported on 9.0. Any script or monitoring check that calls esxcli system slp or esxcli system wbem fails on a 9.0 host. If hardware monitoring relied on CIM, ask the server vendor for a replacement.

Command (gone in 9.0)Replacement / reason
esxcli rdma iser params setWas already marked deprecated in 8.0.3
esxcli system slp getOpenSLP stack removed in ESX 9.0
esxcli system slp searchOpenSLP stack removed in ESX 9.0
esxcli system slp setOpenSLP stack removed in ESX 9.0
esxcli system slp stats getOpenSLP stack removed in ESX 9.0
esxcli system wbem getCIM/SFCB and WSMan removed in ESX 9.0
esxcli system wbem provider listCIM/SFCB and WSMan removed in ESX 9.0
esxcli system wbem provider setCIM/SFCB and WSMan removed in ESX 9.0
esxcli system wbem setCIM/SFCB and WSMan removed in ESX 9.0
esxcli vsan dedupstore distribution getMoved to esxcli vsan dedup dedupstore …
esxcli vsan dedupstore getMoved to esxcli vsan dedup dedupstore …

Existing commands with new or removed options (8.0 U3 → 9.0)

These commands keep their name but their options changed. The removals matter most for scripts. For example, esxcli system health report get no longer lists --all-reports in 9.0.

CommandOptions added in 9.0Options removed
esxcli iscsi adapter discovery statictarget remove--force | -f–
esxcli network ip interface set--urpf | -u–
esxcli network ip netstack set--ip-strong-es | -i–
esxcli nvme device namespace list--namespace | -n–
esxcli storage core adapter list--adapter | -a–
esxcli system health report get–--all-reports
esxcli vsan cluster join--client-network | -n–
esxcli vsan cluster new--client-network | -n–
esxcli vsan cluster unicastagent add--traffic-type | -F–
esxcli vsan debug object list--dedup-obj-type–
esxcli vsan storagepool unmount--evacuation-reason | -r–
esxcli vsan vdx create--backing-type | -b, --fs-type | -t–

New in ESX 9.1: memtier and more

The 9.1 reference adds a top-level memtier namespace to enable, configure and check NVMe memory tiering. The 9.0 reference has no memory-tiering namespace. For what memory tiering is and how it behaves, see NVMe memory tiering in vSphere 9.0. 9.1 also adds iSNS discovery for software iSCSI, NVMe flexible data placement, NFS restore commands and NFSv4.1 Kerberos credential commands. Nothing was removed between 9.0 and 9.1.

Command (new in 9.1)What it does
esxcli iscsi adapter discovery isns addAdd iSNS discovery address
esxcli iscsi adapter discovery isns listList iSNS discovery addresses
esxcli iscsi adapter discovery isns param getGet parameters on iSNS discovery address
esxcli iscsi adapter discovery isns param setSet iSNS discovery parameters
esxcli iscsi adapter discovery isns removeRemove iSNS discovery address
esxcli iscsi adapter isnsparam getGet the iSNS parameters for the iSCSI Host Bus Adapter
esxcli iscsi adapter isnsparam setSet the iSNS parameter for the iSCSI Host Bus Adapter
esxcli licensing registration getShow details about license registration
esxcli memtier config deleteDelete the memory tiering configuration
esxcli memtier config getGet the memory tiering configuration
esxcli memtier config setSet the memory tiering configuration
esxcli memtier device listList memory tiering devices
esxcli memtier disableDisable memory tiering
esxcli memtier enableEnable memory tiering
esxcli memtier status getShow the currently deployed Memory Tiering configuration
esxcli nvme device feature fdp getGet NVMe device feature flexible data placement information
esxcli nvme device feature fdp setSet NVMe device feature flexible data placement information
esxcli rdma device sniffer getGet RDMA device sniffer settings
esxcli rdma device sniffer setSet RDMA device sniffer settings
esxcli storage nfs restoreRestore previously mounted NFSv3 volumes
esxcli storage nfs41 credential getGet NFSv4.1 kerberos default user credentials
esxcli storage nfs41 credential setSet NFSv4.1 kerberos default user credentials
esxcli storage nfs41 credential unsetUnset NFSv4.1 kerberos default user credentials
esxcli storage nfs41 restoreRestore previously mounted NFS41 volumes
esxcli storage osdata getGet OSData information
esxcli vsan dedup scan getGet vSAN ESA dedup scanner information
esxcli vsan maintenancemode recommissionRecommission vSAN node, the command only set vSAN decommission state to non-decommissioned but not set host…

Option changes between 9.0 and 9.1. Note that esxcli vsan vdx create replaced three of its options and esxcli storage core claimrule add lost --if-unset:

CommandOptions added in 9.1Options removed
esxcli nvme device namespace create--anagrpid | -a, --endgid | -e, --lbstm | -l, --nvmsetid | -N, --phl | -P–
esxcli software apply--skip-reserved-vibs-caching–
esxcli software profile install--skip-reserved-vibs-caching–
esxcli software profile update--skip-reserved-vibs-caching–
esxcli storage core claimrule add–--if-unset
esxcli storage nfs param set--force | -f, --resolve-hostname | -r–
esxcli storage nfs41 param set--force | -f, --resolve-hostname | -r–
esxcli system health report get–--filename | -f
esxcli vsan health cluster list--perspective | -p–
esxcli vsan network security set--is-server-cluster | -s, --transition-state | -t–
esxcli vsan trace get--prettyjson | -p–
esxcli vsan trace set--configs | -c–
esxcli vsan vdx create--disk-path | -d--backing-type | -b, --disk-folder | -f, --disk-name | -d

Checking a host yourself

Broadcom notes that the list of commands depends on the system you run it on. To see what a specific host supports, and to compare a host before and after an upgrade, use ESXCLI’s built-in introspection:

# Every namespace and command this host knows
esxcli esxcli command list

# Help for one namespace or command
esxcli licensing --help
esxcli system health report get --help

# Save the list before and after an upgrade, then diff the two files
esxcli esxcli command list > /tmp/esxcli-before.txt

Copy the output files off the host, for example with scp, and compare them with diff. That also catches commands that come from vendor VIBs, which Broadcom’s reference doesn’t list.

What to update in your scripts

  • Remove or guard any call to esxcli system slp … and esxcli system wbem … before you upgrade hosts to 9.0.
  • Change esxcli vsan dedupstore … to esxcli vsan dedup dedupstore ….
  • Check scripts that pass --all-reports to esxcli system health report get (gone in 9.0) or --filename (gone in 9.1).
  • Scripts using esxcli vsan vdx create need the new options on 9.1.
  • On VCF 9 hosts, license through the new esxcli licensing commands (credentials and entitlements).

Sources

Related on vdan.cz

Author: Daniel Micanek

Senior Service Architect, SAP/TDL Platform Services Team at Vivicta | vExpert ⭐⭐⭐⭐⭐⭐⭐ | Broadcom Knight: vSphere Kubernetes Service, VCF Networking (NSX), VCF Automation | Broadcom Software Knight: vSphere | Cisco Champion. Notes from running about 1,000 ESXi hosts on Cisco UCS, VCF 9 and SAP HANA on vSphere.