With vSphere 5.1 the command line interface esxcli has introduced many new features. The esxcli is a complete set of commands that you can use to automate you environment or to perform advanced tasks like lun masking. I have created and printed a mindmap to navigate through the namespaces more quickly
ESXCLI has 10 namespaces whose names are self-explaining:
Available Namespaces: esxcli Commands that operate on the esxcli system itself allowing users to get additional information. fcoe VMware FCOE commands. hardware VMKernel hardware properties and commands for configuring hardware. iscsi VMware iSCSI commands. network Operations that pertain to the maintenance of networking on an ESX host. This includes a wide variety of commands to manipulate virtual networking components (vswitch, portgroup, etc) as well as local host IP, DNS and general host networking settings. sched VMKernel system properties and commands for configuring scheduling related functionality. software Manage the ESXi software image and packages storage VMware storage commands. system VMKernel system properties and commands for configuring properties of the kernel core system. vm A small number of operations that allow a user to Control Virtual Machine operations.
The first namespace can be used to list all available namespaces and commands. I've used this command to get the list, export it to a CSV file to create this mindmaps.
~ # esxcli esxcli command list Namespace Command ------------------------------------------------------ ----------- esxcli.command list fcoe.adapter list fcoe.nic disable fcoe.nic discover fcoe.nic list hardware.bootdevice list hardware.clock get [...]
FCOE is not widely distributed so i do not have much use cases for that.
The hardware namespace can be used to gather information about the physical hardware.
The iscsi namespace can be used to configure iscsi adapters. This can be really helpful in kickstart scripts, to configure shared storage arrays.
The network namespace is the most powerful namespace. You can configure local vSwitches and Distributed Virtual Switches (dvSwitch). You can also manage the local IP address and firewall configuration. This is a must have in your automated ESXi installation workflow.
Not much to tell about. This namespace is for managing VMKernel scheduling related functions.
The software namespace can be used to install updates and additional packages. It also allows you to set the software acceptance level to use vib packages created by the community.
The storage namespace has a lot of use cases. You can configure lun masking, mount nfs shares, manage vmfs filesystems and investigate the path configuration.
Any ESXi host related configuration tasks can be performed in this namespace.
This namespace is not complex, but it can be really useful during troubleshooting. It can be used to forcibly kill Virtual Machines that are stuck and not responding to normal stop operations.
All at one