Search the VMware Knowledge Base (KB)
View by Article ID

修复 ESXi 5.x 或 6.x 主机失败,并显示错误:“主机返回 esxupdate 错误代码: 15” (2110841)

  • 0 Ratings

Symptoms

免责声明:本文为 Remediating an ESXi 5.x host fails with the error:The host returns esxupdate error code:15. The package manager transaction is not successful (2030665) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。



  • 无法使用 vCenter Update Manager 修复 ESXi 5.x 或 6.x 主机。
  • 修复 ESXi 5.x 或 6.x 主机失败。
  • 主机上有一个待更新的软件包,尤其是当 VMware_locker_tools-light* 损坏时。
  • 您会看到以下错误:

    错误代码:15。软件包管理器事务未成功。请检查 Update Manager 日志文件和 esxupdate 日志文件了解详细信息 (error code:15. The package manager transaction is not successful. Check the Update Manager log files and esxupdate log files for more details)。

  • /var/log/esxupdate.log 文件中,您会看到类似以下内容的条目:

    <YYYY-MM-DD>T<TIME> esxupdate:HostImage:DEBUG:--- Stage:LockerInstaller adding [VMware_locker_tools-light_5.0.0-1.12.653509], removing []
    <YYYY-MM-DD>T<TIME> esxupdate:HostImage:INFO:Attempting to download VIB tools-light
    <YYYY-MM-DD>T<TIME><YYYY-MM-DD>T<TIME> esxupdate:downloader:DEBUG:Downloading from http://10.2.90.21:9084/vum/repository/hostupdate/vmw/vib20/tools-light/VMware_locker_tools-light_5.0.0-1.12.653509.vib...
    <YYYY-MM-DD>T<TIME> esxupdate:LockerInstaller:WARNING:There was an error in cleaning up product locker:[Errno 9] Bad file descriptor:'/locker/packages/5.0.0/floppies'
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:An esxupdate error exception was caught:
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:Traceback (most recent call last):
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:File "/usr/sbin/esxupdate", line 216, in main
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:cmd.Run()
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:File "/build/mts/release/bora-474610/bora/build/esx/release/python-2.6-lib-zip-stage/474610/visor/pylib/python2.6/site-packages/vmware/esx5update/Cmdline.py", line 144, in Run
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:File "/build/mts/release/bora-474610/bora/build/esx/release/python-2.6-lib-zip-stage/474610/visor/pylib/python2.6/site-packages/vmware/esximage/Transaction.py", line 243, in InstallVibsFromSources
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:File "/build/mts/release/bora-474610/bora/build/esx/release/python-2.6-lib-zip-stage/474610/visor/pylib/python2.6/site-packages/vmware/esximage/Transaction.py", line 345, in _installVibs
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:File "/build/mts/release/bora-474610/bora/build/esx/release/python-2.6-lib-zip-stage/474610/visor/pylib/python2.6/site-packages/vmware/esximage/Transaction.py", line 388, in _validateAndInstallProfile
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:File "/build/mts/release/bora-474610/bora/build/esx/release/python-2.6-lib-zip-stage/474610/visor/pylib/python2.6/site-packages/vmware/esximage/HostImage.py", line 630, in Stage
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:File "/build/mts/release/bora-474610/bora/build/esx/release/python-2.6-lib-zip-stage/474610/visor/pylib/python2.6/site-packages/vmware/esximage/HostImage.py", line 463, in _download_and_stage
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:InstallationError:('VMware_locker_tools-light_5.0.0-1.12.653509', '[Errno 32] Broken pipe')
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:DEBUG:<<<
    <YYYY-MM-DD>T<TIME> esxupdate:vmware.runcommand:INFO:runcommand called with:args = '['/sbin/esxcfg-advcfg', '-q', '-g', '/UserVars/EsximageNetTimeout']', outfile = 'None', returnoutput = 'True', timeout = '0.0'.
    <YYYY-MM-DD>T<TIME> esxupdate:vmware.runcommand:INFO:runcommand called with:args = '['/sbin/esxcfg-advcfg', '-q', '-g', '/UserVars/EsximageNetRetries']', outfile = 'None', returnoutput = 'True', timeout = '0.0'.
    <YYYY-MM-DD>T<TIME> esxupdate:vmware.runcommand:INFO:runcommand called with:args = '['/sbin/esxcfg-advcfg', '-q', '-g', '/UserVars/EsximageNetRateLimit']', outfile = 'None', returnoutput = 'True', timeout = '0.0'.
    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:INFO:---



    <YYYY-MM-DD>T<TIME> esxupdate:esxupdate:ERROR:DatabaseIOError:('/locker/packages/var/db/locker', "Failed to create temporary DB dir:[Errno 28] No space left on device:'/locker/packages/var/db/locker/vibs.new'"

    注意
    :以上日志节选仅为示例。日期、时间和环境变量可能会根据您的环境而有所不同。

  • 重新引导主机后,这些症状依然存在。

Purpose

要解决修复 ESXi 5.x/6.x 主机时出现的这个错误,请重新创建 /locker/packages/version/ 文件夹。

Cause

如果 /locker/packages/Version/ 文件夹中的磁盘软件包文件损坏或已满,会出现此问题。
 
例如:
  • ESXi 5.0 系统中 –/locker/packages/5.0.0/
  • ESXi 5.1 系统中 –/locker/packages/5.1.0/
  • ESXi 5.5 系统中 –/locker/packages/5.5.0/
  • ESXi 6.0 系统中 –/locker/packages/6.0.0/
  • ESXi 6.5 系统中 –/locker/packages/6.5.0/

Resolution

要解决此问题,请重新创建 /locker/packages/version/ 文件夹,其中,version 为:
  • ESXi 5.0 –/locker/packages/5.0.0/
  • ESXi 5.1 – /locker/packages/5.1.0/
  • ESXi 5.5 – /locker/packages/5.5.0/
  • ESXi 6.0 – /locker/packages/6.0.0/
  • ESXi 6.5 – /locker/packages/6.5.0/

要验证 store 文件夹目录和符号链接,请执行以下操作:

  1. 通过 SSH 会话连接到 ESXi 主机。有关详细信息,请参见 Using ESXi Shell in ESXi 5.x (2004746)
  2. 使用以下命令检查 /store 文件夹中的信息:

    ls /store

  3. 此文件夹必须包含 packages var 文件夹。
  4. 运行以下命令验证符号链接是否有效:

    ls -l /

  5. /store 文件夹应链接到 /locker 并显示为:

    locker->/store

  6. 如果未显示该链接,请运行以下命令添加符号链接:

    ln -s /store /locker
要重新创建 /locker/packages/version/ 文件夹,请执行以下操作:
  1. 将主机置于维护模式。
  2. 导航到该主机上的 /locker/packages/version/ 文件夹。
  3. /locker/packages/version/ 文件夹重命名为 /locker/packages/version.old
  4. 使用 Update Manager 修复主机。

    /locker/packages/version/ 文件夹已重新创建,现在应该已成功修复。
注意:验证是否可以更改 /locker/packages/version/ 中的其他文件夹。如果不可以,请重命名包含磁盘的三个文件夹。
 
ESXi 的备选解决方案。
  1. 将主机置于维护模式。
  2. 导航到该主机上的 /locker/packages/version/ 文件夹。
  3. 将该文件夹重命名为:

    /locker/packages/version.old

  4. 以 root 用户身份运行以下命令重新创建该文件夹:

    mkdir / locker/packages/ version/

    例如:

    在 ESXi 5.0 中:

    mkdir / locker/packages/5.0.0/

    在 ESXi 5.1 中:

    mkdir / locker/packages/5.1.0/

    在 ESXi 5.5 中:

    mkdir /locker/packages/5.5.0/

    在 ESXi 6.0 中:

    mkdir /locker/packages/6.0.0/

    在 ESXi 6.5 中:

    mkdir locker/packages/6.5.0/

  5. 使用 WinSCP 将文件夹和文件从工作主机上的 / locker/packages/ version/ 目录复制到受影响的主机。
如果上述方法未解决问题,请执行以下操作:
  • 运行以下命令验证并确保 root 文件夹中有足够的可用空间:

    vdf -h

  • 运行以下命令检查锁定程序位置:

    ls -ltr /

    如果锁定程序未指向数据存储,请执行以下操作:
  1. 运行以下命令重命名旧的锁定程序文件:

    mv /locker /locker.old

  2. 运行以下命令重新创建符号链接:

    ln -s /store /locker

Tags

简体中文 Simplified Chinese

See Also

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.

Feedback

  • 0 Ratings

Did this article help you?
This article resolved my issue.
This article did not resolve my issue.
This article helped but additional information was required to resolve my issue.

What can we do to improve this information? (4000 or fewer characters)




Please enter the Captcha code before clicking Submit.
  • 0 Ratings
Actions
KB: