如何在没有 GUI 的情况下管理 ESXi 主机?

问题浏览数Icon
20
问题创建时间Icon
2025-05-29 16:04:00
作者头像
haoyue01

作为IT架构师,建议通过以下方式管理无GUI的ESXi主机:1)使用SSH连接至ESXi Shell,通过esxcli命令管理硬件、网络及存储;2)利用PowerCLI(基于PowerShell)实现脚本化配置与批量操作;3)调用vSphere API或REST API进行自动化编排;4)部署vCenter Server集中管理多台ESXi,通过CLI或API对接;5)结合Ansible/Puppet等工具通过模块(如vmware_esxi)实现配置即代码。注意:需严格控制SSH访问权限,并优先使用加密通道确保安全性。

更多回答

作者头像
hufeng77

作为技术支持工程师,以下是我常用的无GUI管理ESXi主机的解决方案及步骤:

  1. SSH + ESXCLI命令行工具

    • 启用SSH:通过DCUI界面选择"Troubleshooting Options > Enable SSH",或执行 esxcli system ssh server set -e true
    • 连接主机:ssh root@esxi_ip,输入密码后进入CLI
    • 常用操作:
      • 网络配置:esxcli network ip interface list
      • 存储管理:esxcli storage filesystem list
      • 虚拟机操作:vim-cmd vmsvc/getallvms(查看所有VM)
    • 完成后建议关闭SSH:esxcli system ssh server set -e false
  2. PowerCLI自动化管理

    • 安装模块:Install-Module VMware.PowerCLI -Scope CurrentUser
    • 连接主机:Connect-VIServer -Server esxi_ip -User root -Password xxx
    • 执行命令:
      • 查看主机信息:Get-VMHost | Format-List *
      • 创建虚拟机:New-VM -Name TestVM -VMHost esxi_ip -Datastore datastore1
  3. vSphere CLI远程操作

    • 安装vCLI工具包(需单独下载)
    • 执行远程命令: esxcli --server esxi_ip --user root --password xxx system version get vicfg-vswitch --server esxi_ip -l(列出虚拟交换机)
  4. REST API调用(ESXi 6.7+)

    • 启用API:esxcli system settings advanced set -o /ConfigHost/AdminTech/Enabled -i 1
    • 调用示例(查看主机信息): curl -k -u root:password https://esxi_ip/rest/appliance/system/version

注:优先推荐SSH+ESXCLI组合,适用于90%的日常维护场景。高风险操作前务必确认当前配置状态,建议通过esxcli system settings advanced list -d查看详细参数说明。

作者头像
milkrun22
  1. ESXi Shell/SSH管理:启用ESXi主机的SSH服务,通过命令行工具(如PuTTY)登录后,使用esxcli命令集管理网络、存储、虚拟机等资源。例如esxcli network ip set配置IP,esxcli storage filesystem list查看存储。
  2. PowerCLI自动化:安装VMware PowerCLI模块,通过PowerShell脚本执行批量操作,如虚拟机创建(New-VM)、主机配置(Set-VMHost)等,支持全生命周期管理。
  3. vSphere REST API:针对ESXi 7.0+版本,通过API调用实现自动化,如获取主机信息(GET /api/vcenter/host)、创建虚拟机(POST /api/vcenter/vm),需使用curl或Postman工具并传递认证令牌。
  4. Ansible集成:利用community.vmware模块编写Playbook,通过esxi_host模块配置主机参数,或vmware_guest模块管理虚拟机,需预装Python依赖库。
  5. DCUI控制台:通过物理主机的Direct Console UI(F2进入)配置基础网络、服务启停(如SSH)、重启管理代理等,适用于紧急维护场景。 注意:操作前确保备份配置,限制SSH访问范围,建议日常维护使用API或PowerCLI减少人为误操作风险。
作者头像
starflow88

要在没有 GUI 的情况下管理 ESXi 主机,可通过命令行工具(如 ESXi Shell 或 SSH)使用 esxcli 命令进行基础配置,或通过 vim-cmd 管理虚拟机。

延伸知识点:使用 VMware PowerCLI 自动化管理 VMware PowerCLI 是基于 PowerShell 的模块,专用于管理 ESXi 和 vSphere。安装后可通过命令连接 ESXi 主机(Connect-VIServer -Server <IP>),执行批量操作,例如:

  1. 查看所有虚拟机:Get-VM
  2. 创建新虚拟机:New-VM -Name <VM_Name> -VMHost <ESXi_IP>
  3. 关闭主机:Stop-VMHost -Confirm:$false 需提前在 ESXi 启用 SSH(esxcli system ssh server set --enabled=true)并配置网络访问权限。