无法删除 ESXi 上的直通设置

无法删除 ESXi 上的直通设置

我有一台 ESXi 主机,但它没有本地硬盘。它使用通过光纤通道共享的磁盘。之后,我为光纤通道设置了直通。重新启动 ESXi 主机后,我们找不到任何数据存储。而且我也无法删除直通设置(删除并重新启动后,它仍然存在)。有人知道如何修复它吗?

答案1

以下最佳做法可防止此问题的发生:

Always unmark devices for passthrough before removing them from the server. 

以下解决方法描述了如何强制从直通模式更改为非直通模式:

  1. 编辑 /etc/vmware/esx.conf 文件,将 PCI 设备的所有者从 passthru 更改为 vmkernel。以下是必要编辑的示例:从:/device/000:02.0/owner = "passthru" 更改为:/device/000:02.0/owner = "vmkernel"

  2. 重新引导 ESX/ESXi 主机。

答案2

我今晚遇到了这个问题,因为我有 2 个相同的 SAS 控制器。PhungHV 的信息是正确的,但是当您处于此模式时,您也无法访问磁盘来更改文件以退出此模式。充其量是一个令人讨厌的困境。发生的事情是 VMware 启动并读取设置,然后将设备标记为直通,这导致 VMWARE 失去对它的访问权限。

为了解决这个问题,我启动了 Ubuntu 实时磁盘。我映射了分区 #5

  • 挂载启动驱动器分区 #5

    mount /dev/sdX5 /mnt
    
  • 创建临时文件夹以供使用

    mkdir /tmp/vmware
    
  • 复制 State.tgz

    cp /mnt/state.tgz /tmp/vmware
    
  • 从 state.tgz 中提取 local.tgz

    tar -zxf /tmp/vmware/state.tgz
    
  • 从 local.tgz 中提取等

    tar -zxf /tmp/vmware/local.tgz
    
  • 编辑配置文件

    nano -w /tmp/vmware/etc/vmware/esx.conf
    
  • 找到适当的直通参考(如果不确定则全部找到)并更改为 vmkernel

  • 创建新的local.tgz

    cd /tmp/vmware
    tar czf local.tgz etc/
    
  • 创建新的 State.tgz

    tar czf state.tgz local.tgz
    
  • 复制到分区

    cp state.tgz /mnt/state.tgz
    
  • 重启

    reboot
    

答案3

使用 Vsphere Client 选择您的主机,然后选择“配置”选项卡,在“硬件”部分中选择“高级设置”,然后配置直通并取消选择您关心的 PCI 设备并重新启动主机。

答案4

我知道这是一篇旧帖子,但对于所有可能最终来到这里的人来说,这可能会有所帮助......

我相信 John Doe 的答案(由 Thomas 编辑)是正确的,但如果您的 ESXi 有机会在启用直通之前创建配置的备份,那么可能会有一个更简单的解决方案。

重新启动 ESXi,在启动屏幕上按 Shift-R 进入 ESXi 恢复模式。如果您有配置备份,您可以在该屏幕上选择它,它应该可以解决问题。

更多详细信息来自http://pleasework.robbievance.net/howto-the-wrong-way-to-use-vmware-directpath/

当您对 ESXi 进行任何更改时,这些更改仅提交到内存配置,因此在重新启动后不会保留。为了解决这个问题,VMware 有一个名为 /sbin/auto-backup.sh 的 shell 脚本会自动运行。此脚本的作用是获取所有集体配置文件(包括 esx.conf)并将它们存储在一个名为 local.tgz 的压缩文件中。然后再次压缩该文件并保存为 state.tgz。此文件的两个副本存在于本地文件系统的两个不同分区上,每个副本来自不同的时间点。因此,要解决上述问题,似乎我所需要做的就是重新启动服务器,并在 ESXi 启动时按 Shift-R 进入恢复模式并选择备用启动槽。

相关内容