无法完成 ESXi 5 到 U2 的中断更新

无法完成 ESXi 5 到 U2 的中断更新

我一直在尝试通过刻录到 DVD 的安装程序映像对 VMware ESXi 5.0.0 update 1 进行交互式更新至 5.0.0 update 2。

第一次运行更新时,一切似乎都顺利。我选择了“升级 ESXi,保留 VMFS 数据存储”选项。

但是,安装程序崩溃,出现“意外错误”:“OSError:[Errno 39] 目录不为空”。它引用了 VMFS 卷根目录中的 $RECYCLE.BIN 目录,而该目录原本只包含 imgdb.tgz。使用维护控制台,我还发现 $RECYCLE.BIN 目录只包含 DESKTOP.INI,其内容与 Windows shell 扩展一致。

我怀疑这个文件是在我使用基于 Windows 的工具(单独启动)检查和管理主机安装到的 RAID 卷时意外出现的。无论如何,这个文件看起来不属于这里,而且似乎确实扰乱了更新,所以我只是通过管理控制台将其删除了。

然后我尝试再次进行更新,但这次安装程序没有提供“升级 ESXi,保留 VMFS 数据存储”选项。安装程序现在针对驱动器指示:

找到 ESX(i):否

(安装程序崩溃之前它曾说“是”。)

它可以让我从头开始重新安装 ESXi,同时保留数据存储,但是我过去遇到过诸如在重新导入虚拟机时 MAC 地址发生变化之类的问题,所以我不想走那条路。

我也尝试删除 $RECYCLE.BIN 目录本身但这没有任何改变。

主机仍然运行良好,但我需要安装更新 2 才能支持 Solaris 11.1。

任何信息或建议都将不胜感激!

谢谢,凯文

答案1

我也遇到了这个问题并且找到了解决办法。

解释

首先解释一下,这个问题是由于启动可以访问数据存储驱动器的 Windows 引起的,Windows 在每个分区中都会创建一个 $RECYCLE:BIN 文件夹,但 $ 符号会给 Linux 带来问题,所以我们需要将其删除。因此,如果您必须启动 Windows,我建议您在升级之前清理这些内容,或者最好在启动 Windows 之后清理它们。

解决根本原因

第一步是清理 $RECYCLING.BIN 文件夹。

  1. 启用 SSH 并连接到主机
  2. 跑步cd /vmfs/volumes/
  3. 运行ls -allh此命令将列出所有卷
  4. 对每个卷运行以下命令,并记下哪些卷具有 $RECYCLING.BIN 文件夹ls -allh [volume id](将 [volume id] 替换为之前列出的每个卷)

现在我们已经确定了哪些卷包含我们需要清理的文件夹。

  1. 使用导航到卷cd [volume id]
  2. 我们首先将重命名文件夹以摆脱 $,运行mv '$RECYCLING.BIN' REC(包括单引号)(我认为这不是必需的,但我还是这样做了)
  3. 现在我们删除文件夹rm -rf REC

该文件夹现在应该消失了,我再次运行 ls 以确保该文件夹已消失但这是可选的,我还运行ls REC/以确保在删除之前目录中没有其他任何内容。

完成升级

现在我们将处理实际完成升级的问题,因为我们已经基本上“刻录”了从 DVD 选项进行的升级,所以我们需要另一种方法,幸运的是,有几种升级方法。

  1. 首先,我们需要关闭你的虚拟机并将主机置于维护模式
  2. 如果之前没有启用 SSH
  3. 我们需要启用防火墙规则 httpclient,您可以通过 GUI 或命令执行此操作esxcli network firewall ruleset set -e true -r httpClient

现在进行实际升级,有两种方法可以做到这一点,a.让主机下载所需的文件或b.从VMWare的站点下载升级zip并上传到主机(这需要您的MyVMWare帐户上的相应许可证)。

  1. 运行命令

esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-6.5.0-4564106-standard

在这个命令中,我正在升级到 6.5,如果您要升级到较新的版本,那么您将需要知道配置文件名称,幸运的是,您可以从 VMWare 网站或 iso 映像中获取它,在磁盘的根目录中有一个名为 PROFILE.XML 的 XML 文件,如果您打开它,您将看到标签<name>,这是磁盘上的版本,在命令的最后一部分替换它。

如果你从 ZIP 升级,则可以使用命令 esxcli software vib update -d /vmfs/volumes/DATASTORE/VMware-ESXi-6.0.0-2494585-depot.zip

  1. 现在重新启动,当主机重新启动时,你应该已经使用最新版本
  2. 最后从 GUI 或使用命令禁用 httpclient 防火墙规则esxcli network firewall ruleset set -e false -r httpClient,退出维护模式,并且不要忘记禁用 SSH

我知道这已经有 4 年了,但它仍然是 Google 上的顶级搜索结果之一,并且只有另一个相关结果,因此这适用于任何遇到的人。

相关内容