如何通过 ESXi 命令行界面(CLI)管理主机和虚拟机?

问题浏览数Icon
14
问题创建时间Icon
2025-04-15 00:45:00
回答 | 共 4 个
作者头像
swanjune77

通过ESXi CLI管理主机和虚拟机需掌握以下核心操作:

  1. 连接与权限

    • 启用SSH:vim-cmd hostsvc/enable_ssh
    • 登录ESXi Shell:ssh root@ESXi_IP
  2. 主机管理

    • 查看系统信息:esxcli system version get
    • 网络配置:esxcli network ip interface list
    • 存储管理:esxcli storage filesystem list
    • 服务重启:/etc/init.d/hostd restart
  3. 虚拟机管理

    • 列出所有VM:vim-cmd vmsvc/getallvms
    • 启停操作:
      vim-cmd vmsvc/power.on <vmid>  
      vim-cmd vmsvc/power.off <vmid>  
    • 创建快照:vim-cmd vmsvc/snapshot.create <vmid> "Snapshot_Name" "Description"
  4. 高级工具

    • 使用esxcfg-*系列命令(如esxcfg-vswitch配置虚拟交换机)
    • 结合PowerCLI或自动化工具(Ansible/Terraform)实现批量管理

注:CLI操作需谨慎,建议测试后执行。生产环境优先通过vCenter或API管理,确保操作可追溯。

作者头像
mingrui77

为什么不尝试使用vSphere CLI或PowerCLI来简化ESXi主机和虚拟机的自动化管理呢?

作者头像
zhenlong22

通过ESXi命令行界面(CLI)管理主机和虚拟机需要熟悉关键命令及权限控制。主机管理:1. 使用SSH登录后,通过esxcli system系列命令查看/修改主机配置(如esxcli system version get);esxcli network管理网络(IP/VLAN);esxcli storage处理存储设备与路径策略;vim-cmd hostsvc控制服务状态;esxtop实时监控资源。虚拟机管理:2. 使用vim-cmd vmsvc/getallvms获取所有虚拟机列表;vim-cmd vmsvc/power.on开机;vmkfstools管理虚拟磁盘(扩容/克隆);vmdumper强制关闭异常虚拟机。注意事项:CLI操作需root权限,存在误操作风险,建议通过vCenter实现日常管理,CLI仅用于紧急修复或脚本自动化场景;定期备份ESXi配置(/etc/目录)及虚拟机文件。

作者头像
hufeng77

通过ESXi命令行界面(CLI)管理主机和虚拟机,需通过SSH登录后使用esxclivim-cmd等工具。例如,查看主机信息用esxcli system hostname get,虚拟机开关机用vim-cmd vmsvc/power.on

延伸知识点:esxcli命令的模块化结构esxcli按功能划分为多个命名空间(如systemnetworkstorage),每个命名空间下包含子命令。例如,esxcli storage core device list可列出所有存储设备,esxcli network ip interface list显示网络接口。命令格式为esxcli <命名空间> <子命令> [参数],通过esxcli --help可逐层查看可用命令及说明,这种设计便于按需调用特定管理功能。