VMware ESXi 作为一款强大的虚拟化平台,提供了丰富的命令行工具(CLI)供管理员进行系统管理、故障排查和自动化操作,以下将详细介绍 ESXi 常用的命令,涵盖系统信息查看、网络管理、存储管理、虚拟机管理、服务管理等多个维度,帮助管理员高效掌握 ESXi 的命令行操作。

系统信息与状态查看命令
-
esxcli hardware platform get
查看硬件平台信息,如厂商、序列号、型号等。
示例:esxcli hardware platform get -
esxcli hardware cpu list
列出 CPU 详细信息,包括型号、核心数、频率等。
示例:esxcli hardware cpu list -
esxcli hardware memory get
查看物理内存容量和使用情况。
示例:esxcli hardware memory get -
vmware -v
显示 ESXi 主机的版本号和 build 编号。
示例:vmware -v
(图片来源网络,侵删) -
esxcli system settings advanced list
列出系统高级配置参数(可结合param=value修改)。
示例:esxcli system settings advanced list -o /Net/TcpipHeapSize -
esxcli system logs syslog tail
实时查看系统日志(类似tail -f)。
示例:esxcli system logs syslog tail -f -
esxcli hardware pci list
列出所有 PCI 设备信息,用于排查硬件兼容性问题。
示例:esxcli hardware pci list
网络管理命令
-
esxcli network ip interface list
列出所有网络接口(vSwitch、vmknic 等)及其状态。
示例:esxcli network ip interface list
(图片来源网络,侵删) -
esxcli network vswitch standard list
查看标准交换机(vSwitch)的配置信息。
示例:esxcli network vswitch standard list -v vSwitch0 -
esxcli network vswitch standard portgroup list
列出所有端口组及其绑定规则。
示例:esxcli network vswitch standard portgroup list -p "VM Network" -
esxcli network ip dns list
查看 DNS 服务器配置。
示例:esxcli network ip dns list -
esxcli network ip interface ipv4 set -i vmk0 -t static -I 192.168.1.100 -N 255.255.255.0
为指定 vmknic 设置静态 IP 地址。 -
esxcli network firewall ruleset list
查看防火墙规则集状态(如 SSH、ESXi Shell 的启用情况)。
示例:esxcli network firewall ruleset list -r sshServer
存储管理命令
-
esxcli storage core adapter list
列出所有存储适配器(如 HBA 卡)。
示例:esxcli storage core adapter list -
esxcli storage core device list
查看存储设备(LUN)信息,包括设备 ID、容量状态等。
示例:esxcli storage core device list | grep "naa" -
esxcli storage nmp device list -d naa.6005076300fe1234
查看指定设备的路径信息和多路径策略。 -
esxcli storage filesystem list
列出文件系统(如 VMFS 数据存储)。
示例:esxcli storage filesystem list -
esxcli storage vmfs extent list -d vmfs_01
查看指定 VMFS 数据存储的扩展信息。 -
esxcli storage core claimrule list
查看存储设备的声明规则(如自动挂载规则)。
虚拟机管理命令
-
vim-cmd vmsvc/getallvms
列出所有虚拟机及其 UUID、配置文件路径、电源状态等。
示例:vim-cmd vmsvc/getallvms -
vim-cmd vmsvc/power.on <VM_ID>
开启指定 ID 的虚拟机。
示例:vim-cmd vmsvc/power.on 10 -
vim-cmd vmsvc/power.off <VM_ID>
关闭虚拟机(非强制断电)。 -
vim-cmd hbsinfo
查看虚拟机心跳状态(用于 HA 故障排查)。 -
esxcli vm process list
列出正在运行的虚拟机进程信息,包括 World ID 和内存占用。
示例:esxcli vm process list | grep "MyVM"
服务与系统管理命令
-
esxcli system process list
列出系统进程及其资源占用情况。 -
esxcli system module list
查看已加载的内核模块(如 vmkusb、vmw_pvscsi 等)。
示例:esxcli system module list -m vmw_pvscsi -
esxcli system maintenance mode set -e true
进入维护模式(需提前迁移或关闭虚拟机)。 -
esxcli system settings kernel list
查看内核参数配置(如最大打开文件数)。 -
esxcli software sources profile list -d <datastore>/<image-bundle.zip>
查看离线软件包仓库中的可用安装配置文件。 -
esxcli software profile install -s <datastore>/<image-bundle.zip> -p <profile-name>
离线安装或升级 ESXi 主机(如升级到特定版本)。
常用命令操作表格
| 功能分类 | 命令示例 | 说明 |
|---|---|---|
| 系统信息 | esxcli hardware platform get |
查看硬件平台信息 |
| 网络接口 | esxcli network ip interface list |
列出所有 vmknic 及状态 |
| 标准交换机 | esxcli network vswitch standard list -v vSwitch0 |
查看 vSwitch0 的配置 |
| 存储设备 | esxcli storage core device list \| grep naa |
过滤显示 LUN 设备 ID |
| 虚拟机列表 | vim-cmd vmsvc/getallvms |
获取所有虚拟机的 ID 和路径 |
| 虚拟机电源管理 | vim-cmd vmsvc/power.on 5 |
开启 ID 为 5 的虚拟机 |
| 维护模式 | esxcli system maintenance mode set -e true |
进入维护模式 |
| 防火墙规则 | esxcli network firewall ruleset list -r sshServer |
查看 SSH 服务防火墙状态 |
| 日志查看 | esxcli system logs syslog tail -f |
实时跟踪系统日志 |
相关问答FAQs
问题1:如何通过命令行强制关闭卡死的虚拟机?
解答:
若虚拟机无响应,可通过以下命令强制关闭(非正常关机,可能导致数据丢失):
vim-cmd vmsvc/power.off <VM_ID>
若仍无效,可强制终止虚拟机进程:
esxcli vm process kill -t hard -w <World_ID>
<World_ID> 可通过 esxcli vm process list 查找对应虚拟机的 World ID。
问题2:如何通过命令行添加新的 NFS 数据存储?
解答:
使用 esxcli storage nfs list 检查现有 NFS 配置,通过以下步骤添加新数据存储:
- 创建挂载点目录:
mkdir -p /vmfs/volumes/nfs_datastore
- 挂载 NFS 共享:
mount -t nfs <NFS_Server_IP>:/<Export_Path> /vmfs/volumes/nfs_datastore
- 验证挂载状态:
esxcli storage nfs list
若需开机自动挂载,需编辑
/etc/rc.local文件,添加mount命令。
