在VMware ESXi 5.5系统中,命令行接口(CLI)是管理员进行高级配置、故障排查和自动化管理的重要工具,通过ESXi Shell或SSH连接,管理员可以执行一系列命令来管理虚拟机、存储、网络及主机自身,以下将详细介绍ESXi 5.5中常用的命令及其应用场景,帮助用户更好地掌握命令行操作。

连接到ESXi 5.5主机的方式有两种:一是通过ESXi Shell直接在控制台操作,二是启用SSH服务后通过SSH客户端远程连接,需要注意的是,SSH功能默认处于禁用状态,需在主机的“配置”->“安全”->“服务”中手动启用,连接成功后,管理员将看到命令行提示符,通常以esxi:开头,表示当前处于ESXi Shell环境。
基础系统命令
ESXi 5.5基于Linux内核,因此部分基础命令与Linux系统相似。ls用于列出目录内容,cd用于切换目录,pwd显示当前工作目录。ps命令可查看正在运行的进程,如ps aux | grep vmware可筛选出VMware相关进程。top命令实时监控系统资源使用情况,包括CPU、内存及进程状态,网络配置方面,esxcli network是核心命令集,例如esxcli network ip interface list可查看网络接口列表,esxcli network ip interface ipv4 set -i vmk0 -t static -I 192.168.1.100/24用于配置静态IP地址。
虚拟机管理命令
虚拟机的生命周期管理可通过vim-cmd命令实现。vim-cmd vmsvc/getallvms列出所有虚拟机的ID、路径及状态;vim-cmd vmsvc/power.on <VMID>启动指定ID的虚拟机;vim-cmd vmsvc/power.off <VMID>关闭虚拟机,对于虚拟机磁盘管理,vmkfstools是常用工具,如vmkfstools -i /vmfs/volumes/datastore1/vm1.vmdk -d thin /vmfs/volumes/datastore2/vm1_thin.vmdk可将厚置备精简磁盘转换为精简磁盘。vmware-cmd命令也可用于控制虚拟机电源状态,如vmware-cmd /vmfs/volumes/datastore1/vm1/vm1.vmx start启动虚拟机。
存储管理命令
存储管理涉及存储适配器、路径及数据存储的操作。esxcli storage命令集提供了全面的功能,例如esxcli storage core adapter list列出存储适配器信息,esxcli storage nmp satp rule list查看存储路径配置规则,数据存储管理方面,esxcli storage filesystem list显示所有数据存储,esxcli storage filesystem unmount -l datastore1卸载数据存储,对于LUN的扫描,esxcli storage core claiming unclaim -s naa.6005076300fe1a12可取消对特定LUN的声明,esxcli storage core adapter rescan -A vmhba0重新扫描适配器。

网络管理命令
网络配置主要涉及虚拟交换机、端口组及VMkernel端口。esxcli network vswitch standard list显示标准交换机信息,esxcli network vswitch standard portgroup add -p "VM Network" -v vSwitch0添加端口组,VMkernel端口用于管理流量或vMotion,可通过esxcli network ip interface add -i vmk1 -d vSwitch0创建新接口,并使用esxcli network ip interface ipv4 set -i vmk1 -t static -I 192.168.2.100/24配置IP。esxcli network firewall ruleset list查看防火墙规则集状态,esxcli network firewall ruleset set -e true -r httpClient启用HTTP服务。
日志与故障排查命令
ESXi 5.5提供了丰富的日志工具用于故障排查。tail -f /var/log/vmkernel.log实时查看内核日志,grep "error" /var/log/vmware.log筛选错误日志。esxcli system syslog config get获取系统日志配置,esxcli hardware platform get查看硬件平台信息,对于硬件兼容性问题,esxcli hardware pci list列出所有PCI设备,esxcli hardware storage list显示存储设备详情。
表格:常用ESXi 5.5命令速查
| 功能分类 | 命令示例 | 说明 |
|--------------------|-----------------------------------------------------------------------------|--------------------------------------------------------------------------|
| 系统信息 | uname -a | 显示系统内核版本和主机信息 |
| 网络接口配置 | esxcli network ip interface ipv4 set -i vmk0 -t static -I 192.168.1.100/24 | 配置静态IP地址 |
| 虚拟机列表 | vim-cmd vmsvc/getallvms | 列出所有虚拟机及其ID |
| 启动虚拟机 | vim-cmd vmsvc/power.on 1 | 启动ID为1的虚拟机 |
| 磁盘格式转换 | vmkfstools -i thick.vmdk -d thin thin.vmdk | 将厚置备磁盘转换为精简磁盘 |
| 存储适配器扫描 | esxcli storage core adapter rescan -A vmhba0 | 重新扫描vmhba0适配器 |
| 防火墙规则启用 | esxcli network firewall ruleset set -e true -r sshClient | 启用SSH客户端防火墙规则 |
| 查看内核日志 | tail -f /var/log/vmkernel.log | 实时跟踪内核日志 |
相关问答FAQs

-
问题:如何通过命令行启用ESXi 5.5的SSH服务?
解答: 首先通过ESXi Shell或SSH登录主机,执行命令vim-cmd hostsvc/autostartmanager/enable_ssh启用SSH服务,之后可通过esxcli network firewall ruleset set -e true -r sshClient放行防火墙规则,重启主机后,SSH服务将自动启动,可通过SSH客户端连接,若需禁用,执行vim-cmd hostsvc/autostartmanager/disable_ssh即可。 -
问题:ESXi 5.5中如何通过命令行扩容虚拟机磁盘?
解答: 扩容虚拟机磁盘需分两步:首先在虚拟机管理系统中扩容分区(如Windows的磁盘管理或Linux的fdisk),然后在ESXi主机使用vmkfstools命令调整磁盘文件大小,执行vmkfstools -X 100G /vmfs/volumes/datastore1/vm1.vmdk将磁盘扩容至100GB,注意:扩容后需在虚拟机内部重新分区并格式化,否则系统无法识别新增空间。
