通过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/目录)及虚拟机文件。
如何通过 ESXi 命令行界面(CLI)管理主机和虚拟机?
通过ESXi命令行界面(CLI)管理主机和虚拟机,需通过SSH登录后使用esxcli、vim-cmd等工具。例如,查看主机信息用esxcli system hostname get,虚拟机开关机用vim-cmd vmsvc/power.on。
延伸知识点:esxcli命令的模块化结构。esxcli按功能划分为多个命名空间(如system、network、storage),每个命名空间下包含子命令。例如,esxcli storage core device list可列出所有存储设备,esxcli network ip interface list显示网络接口。命令格式为esxcli <命名空间> <子命令> [参数],通过esxcli --help可逐层查看可用命令及说明,这种设计便于按需调用特定管理功能。
更多回答
为什么不尝试使用vSphere CLI或PowerCLI来简化ESXi主机和虚拟机的自动化管理呢?
通过ESXi CLI管理主机和虚拟机需掌握以下核心操作:
-
连接与权限
- 启用SSH:
vim-cmd hostsvc/enable_ssh - 登录ESXi Shell:
ssh root@ESXi_IP
- 启用SSH:
-
主机管理
- 查看系统信息:
esxcli system version get - 网络配置:
esxcli network ip interface list - 存储管理:
esxcli storage filesystem list - 服务重启:
/etc/init.d/hostd restart
- 查看系统信息:
-
虚拟机管理
- 列出所有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"
- 列出所有VM:
-
高级工具
- 使用
esxcfg-*系列命令(如esxcfg-vswitch配置虚拟交换机) - 结合PowerCLI或自动化工具(Ansible/Terraform)实现批量管理
- 使用
注:CLI操作需谨慎,建议测试后执行。生产环境优先通过vCenter或API管理,确保操作可追溯。
通过ESXi CLI使用esxcli命令管理主机配置,如网络和存储;使用vim-cmd结合虚拟机ID执行开关机、快照等虚拟机操作。
-
连接ESXi主机
- 启用SSH:通过vSphere Client进入主机 → 配置 → 系统 → 服务 → 启用SSH。
- 使用SSH客户端(如PuTTY)登录:
ssh root@<ESXi_IP>。
-
管理主机
- 查看主机信息:
esxcli system version get # 查看ESXi版本 esxcli hardware memory get # 查看内存状态 esxtop # 实时监控资源使用 - 管理服务:
/etc/init.d/SSH restart # 重启SSH服务 esxcli system service list # 列出所有服务状态 - 进入/退出维护模式:
esxcli system maintenanceMode set --enable true # 进入 esxcli system maintenanceMode set --enable false # 退出 - 重启/关闭主机:
esxcli system shutdown reboot -d 60 -r "硬件维护" # 60秒后重启 esxcli system shutdown poweroff # 关机
- 查看主机信息:
-
管理虚拟机
- 列出所有虚拟机:
vim-cmd vmsvc/getallvms | grep -v "Skipping" # 显示所有VM及ID - 虚拟机开关机:
vim-cmd vmsvc/power.on <VM_ID> # 开机 vim-cmd vmsvc/power.shutdown <VM_ID># 正常关机(需安装VM Tools) vim-cmd vmsvc/power.off <VM_ID> # 强制断电 - 注册/取消注册虚拟机:
vim-cmd solo/registervm /path/to/vmx # 注册 vim-cmd vmsvc/unregister <VM_ID> # 取消注册 - 虚拟机磁盘管理:
vmkfstools -X 50G /vmfs/volumes/datastore/VM/disk.vmdk # 扩展磁盘到50GB
- 列出所有虚拟机:
-
网络与存储
- 查看网络配置:
esxcli network ip interface list # 列出网络接口 esxcfg-vswitch -l # 查看虚拟交换机 - 管理存储:
esxcli storage filesystem list # 列出存储设备 vmkfstools --punchzero /vmfs/volumes/datastore/VM/disk.vmdk # 回收磁盘空间
- 查看网络配置:
-
日志与故障排查
- 查看日志:
tail -f /var/log/vmkernel.log # 实时监控内核日志 vim-cmd vmsvc/get.log <VM_ID> # 获取虚拟机日志路径 - 重置虚拟机状态:
vim-cmd vmsvc/reset <VM_ID> # 强制重置无响应VM
- 查看日志:
注意:
- 操作前确保备份关键配置,避免直接操作生产环境。
- 使用
vim-cmd时需准确获取虚拟机ID(通过getallvms)。 - 强制断电(power.off)可能导致数据丢失,优先尝试正常关机。
推荐
热门问答
部分内容依据人工智能生成,仅供参考,可能有误请注意甄别