通过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主机
- 启用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)可能导致数据丢失,优先尝试正常关机。
推荐
热门问答
部分内容依据人工智能生成,仅供参考,可能有误请注意甄别