当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] VMWare ESXi 上虚拟机的无效状态

作者:精品下载站 日期:2024-12-14 20:00:51 浏览:13 分类:玩电脑

VMWare ESXi 上虚拟机的无效状态


VMWare 管理员经常面临这样一个事实:虚拟机列表中包含状态为无效未知)的虚拟机。通常,删除虚拟机后会出现此问题,由于某种原因,该数据仍保留在 VMWare vSphere/ESXi 配置中。在运行 vMotion 后以及在某些其他情况下手动从 VMFS 存储中删除虚拟机文件后,也可能会发生这种情况。您将无法使用内置工具从 vSphere Web Client 删除此类虚拟机(“操作”菜单中的取消注册选项处于非活动状态)。

[玩转系统] VMWare ESXi 上虚拟机的无效状态

删除此类虚拟机的唯一方法是使用 ESXi 主机的 SSH 控制台。

  1. 在有问题虚拟机的 ESXi 主机上启用 SSH(操作 -> 设置 -> 安全配置文件 -> 服务 -> SSH -> 编辑 -> 启动);

    [玩转系统] VMWare ESXi 上虚拟机的无效状态

  2. 使用SSH客户端(Putty、mputty等)连接ESXi主机;

  3. 要获取有问题的虚拟机的 ID,请运行以下命令:

    vim-cmd vmsvc/getallvms | grep invalid
  4. 将显示在此主机上注册的所有状态为无效的虚拟机的列表。应该有一个像这样的字符串:

    Skipping invalid VM '22'

    。本例中,22是虚拟机的ID;

  5. 如果您想尝试在 vSphere 中恢复此虚拟机,请运行以下命令:

    vim-cmd vmsvc/reload 22

    (稍后刷新客户端界面并检查VM状态);

  6. 如果要取消注册(删除)有问题的虚拟机,请运行以下命令:

    vim-cmd /vmsvc/unregister 22
  7. 刷新 vSphere 客户端界面。状态为“无效”的虚拟机应该消失。

您还可以从主机配置文件 /etc/vmware/hostd/vmInventory.xml 中手动删除有问题的虚拟机。为此,请在文本编辑器(vi、nano)中从 vmInventory.xml 文件中删除包含问题虚拟机数据的部分(在执行任何操作之前备份该文件),然后重新启动主机服务:

services.sh restart

[玩转系统] VMWare ESXi 上虚拟机的无效状态

如果正在运行的虚拟机处于无效状态,则 VM 配置文件可能已损坏。要解决该问题:

  • 从清单中删除虚拟机并重新启动 ESXi 主机;

  • 然后创建一个新的虚拟机并将旧虚拟机的虚拟磁盘 (vmdk) 连接到它(使用现有磁盘);

  • 执行 Storage vMotion 将新虚拟机的所有文件收集到单个文件夹中;

  • 启动您的新虚拟机并确保其正常工作;

  • 删除旧虚拟机的文件。

如果在失去对 VMFS 存储的访问后出现无效虚拟机的问题,则当访问恢复时,已启动的虚拟机将继续运行,而已停止的虚拟机将被隔离。您必须手动从清单中删除它们,并通过在 VMFS 存储中查找虚拟机的 VMX 文件、右键单击它并选择注册虚拟机来手动注册它们。然后启动虚拟机并确保其可用。

[玩转系统] VMWare ESXi 上虚拟机的无效状态

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯