验证并重新安装 VMware vCenter Server 代理的正确版本
search cancel

验证并重新安装 VMware vCenter Server 代理的正确版本

book

Article ID: 340367

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

本文提供了确定 ESX 主机上安装的 vCenter Server 代理版本的步骤,以及版本不正确时重新安装 VMware HA 代理和 vpxa 代理的步骤。


Symptoms:

免责声明: 本文为 Verifying and reinstalling the correct version of the VMware vCenter Server agents (1003714) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。



  • 配置 VMware High Availability (HA) 失败。
  • 您会看到以下错误:

    Could not Enable aam firewall ruleset :vim.fault.HostConfigFault

  • 无法将 ESX 主机连接到 VirtualCenter/vCenter Server。
  • 您会看到以下错误:

    unable to access the specified host, either it doesn't exist, the server software is not responding, or there is a network problem

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

    [<YYYY-MM-DD>T<time> 'Vmomi' 15752112 info] Throw vim.fault.AlreadyExists
    [<YYYY-MM-DD>T<time>'Vmomi' 15752112 info] Result:
    (vim.fault.AlreadyExists) {
    name = "vpxuser"
    msg = ""
    }</time></time>
<YYYY-MM-DD>T<time> F5769B90 info 'Vmomi' opID=EE62B2D1-0000184B-ec-ab] Act
ivation [N5Vmomi10ActivationE:0x5bd7b5d8] : Invoke done [enableRuleset] on [vim.host.FirewallSystem:firewallSystem]</time>
[<YYYY-MM-DD>T<time> F5769B90 verbose 'Vmomi' opID=EE62B2D1-0000184B-ec-ab]Arg id:"aam"
<YYYY-MM-DD>T<time> F5769B90 info 'Vmomi' opID=EE62B2D1-0000184B-ec-ab] Throw vim.fault.NotFound
[<YYYY-MM-DD>T<time> F5769B90 info 'Vmomi' opID=EE62B2D1-0000184B-ec-ab] Result:(vim.fault.NotFound) { dynamicType = <unset>, faultCause = (vmodl.MethodFault) null, msg = "",}
</time></time></time>


注意
: 上述日志摘录仅为示例。 日期、时间和环境变量可能会因环境而有所不同。


Environment

VMware ESX Server 3.5.x
VMware vSphere ESXi 5.1
VMware ESX 4.0.x
VMware vCenter Server 6.0.x
VMware vSphere ESXi 6.0
VMware ESXi 4.0.x Installable
VMware vCenter Server 5.1.x
VMware vCenter Server 5.0.x
VMware ESXi 4.0.x Embedded
VMware VirtualCenter 2.5.x
VMware ESXi 3.5.x Embedded
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.5
VMware ESXi 4.1.x Installable
VMware vCenter Server 5.5.x
VMware ESXi 3.5.x Installable
VMware vCenter Server 4.1.x
VMware ESX Server 3.0.x
VMware VirtualCenter 2.0.x
VMware vSphere ESXi 5.0

Resolution

本文包括以下部分:

  1. 确认已在 ESX 上安装 vCenter Server 代理的正确版本
  2. 在 ESX 上重新安装代理
  3. 在 ESX 上重新安装 VMware HA 组件
  4. 确认已在 ESXi 上安装 vCenter Server 代理的正确版本
  5. 在 ESXi 上重新安装 ESX 主机管理代理和 HA 代理
  6. 在 ESX 上手动重新安装代理
  7. 手动安装 VirtualCenter Server 代理

注意: 如果您在尝试将 ESX 主机连接到 vCenter Server 时看到此错误,请直接转到在 ESX 上重新安装代理

unable to access the specified host, either it doesn't exist, the server software is not responding, or there is a network problem.

确认已在 ESX 上安装 vCenter Server 代理的正确版本

要确认已安装 vCenter Server 的正确版本,请执行以下操作:

  1. 在 vCenter Server 中单击帮助 > 关于,确定 vCenter Server 安装的版本和内部版本号。
  2. 右键单击 ESX 主机,然后单击断开连接,将 ESX 主机从 vCenter Server 断开连接。
  3. 使用 SSH 客户端以 root 用户身份登录到 ESX 主机。
  4. 运行此命令,确定已安装的 vCenter Server 代理 (vpxa) 的版本:

    [root@esx-server /]# rpm -qa | grep vpxa

    您会看到类似以下内容的输出:

    VMware-vpxa-2.5.0-64192

  5. 确保输出与步骤 1 中的信息匹配。 如果版本不匹配,请重新安装代理。

在 ESX 上重新安装代理

  1. 将 ESX 主机从 vCenter Server 断开连接。 右键单击该主机,然后单击断开连接
  2. 使用 SSH 客户端以 root 用户身份登录到 ESX 主机。
  3. 在 SSH 会话中运行此命令字符串:

    service mgmt-vmware stop && service vmware-vpxa stop && service vmware-vmkauthd stop && service xinetd restart && rpm -qa | grep -i vpxa | awk '{print $1}' | xargs rpm -ef $1 && userdel vpxuser && rpm -qa | grep -i aam | awk '{print $1}' | xargs rpm -ef $1 && service mgmt-vmware start && service vmware-vmkauthd start

    注意: 这是以“&&”运算符连接在一起的命令关联列表。 必须等待上一个命令成功完成,才会启动下一个命令时,可以使用此运算符将多个命令连接在一起。

    您运行的命令如下:
    • service mgmt-vmware stop && service vmware-vpxa stop && service vmware-vmkauthd stop && service xinetd restart停止服务控制台的管理服务。
    • rpm -qa | grep -i vpxa | awk '{print $1}' | xargs rpm -ef $1 移除 vpxa 代理。
    • userdel vpxuser 在主机连接到 vCenter Server 后立即移除安装的 vpxa 用户。
    • rpm -qa | grep -i aam | awk '{print $1}' | xargs rpm -ef $1 移除配置 HA 时重新安装的 AAM RPM (HA)。
    • service mgmt-vmware start && service vmware-vmkauthd start 重新启动服务。
    • vmware-cmd -l在 hostd 启动并运行时通知您,以便您将其重新连接到 vCenter Server。

    注意: 当您看到虚拟机输出的列表时,即表示命令序列已完成。

  4. 使用 VMware Infrastructure/vSphere Client 登录到 vCenter Server。
  5. 从清单中选择 ESX 主机。
  6. 右键单击 ESX 主机,然后单击连接。 此步骤将重新安装代理。

在 ESX 上重新安装 VMware HA 组件

要重新安装 VMware HA 组件,请执行以下操作:

  1. 从 vCenter Server 清单中移除 ESX 主机。
  2. 以 root 身份登录到 ESX 服务控制台。
  3. 运行以下命令:

    rpm -qa | grep -i aam.

    这将返回两个类似以下名称的软件包:
    • VMware-aam-haa-#.#.#-#
    • VMware-aam-vcint-#.#.#-#

  4. 运行以下命令,移除步骤 3 返回的软件包:

    rpm -e VMware-aam-vcint-#.#.#-#
    rpm -e VMware-aam-haa-#.#.#-#


    注意: 确保首先移除 VMware-aam-vcint-#.#.#-# 软件包。

  5. 运行以下命令:

    rpm -qa | grep -i vpxa

    将返回一个名为 VMware-vpxa-#.#.#-##### 的软件包。

  6. 运行以下命令,移除步骤 5 返回的软件包:

    rpm -e VMware-vpxa-#.#.#-#####

  7. 尝试将主机添加到新创建的群集,确认是否已解决此问题。

确认已在 ESXi 3.5 和 ESXi 4.x 上安装 vCenter Server 代理的正确版本

注意: vpxa 无法从 ESXi 5.0 主机卸载,因为它现在是 esxi-base 软件包的一部分。 因此,确认版本以及卸载/重新安装过程对 ESXi 5.0 不适用。
  1. 在 vCenter Server 中单击帮助 > 关于,确定 vCenter Server 安装的版本和内部版本号。
  2. 右键单击 ESXi 主机,然后单击断开连接,将 ESXi 主机从 vCenter Server 断开连接。
  3. 登录到 ESXi 故障排除模式。 有关详细信息,请参见用来获得紧急支持的技术支持模式 (2094966)
  4. 运行此命令,确定已安装的 vCenter Server 代理 (vpxa) 的版本:

    对于 ESXi 3.5 和 ESXi 4.x:

    [root@esx-server /]# cat `ls -t /var/log/vmware/vpx/vpxa*` | head -1

    您会看到类似以下内容的输出:

    Log for VMware VirtualCenter Agent, pid=1976, version=2.5.0, build=build-147633, option=Release, section=394

  5. 确保输出与步骤 1 中的信息匹配。 如果版本不匹配,请重新安装代理。

在 ESXi 上重新安装 ESX 主机管理代理和 HA 代理

  1. 右键单击 ESXi 主机,然后单击断开连接。 这会将 ESXi 主机从 vCenter Server 清单断开连接。
  2. 登录到 ESXi 故障排除模式。 有关详细信息,请参见用来获得紧急支持的技术支持模式 (2094966)
  3. 运行以下命令,从 VMware ESXi 主机中卸载 vpxa 和 aam 组件:

    对于 ESXi 3.5 和 ESXi 4.x

    /opt/vmware/uninstallers/VMware-vpxa-uninstall.sh
    /opt/vmware/uninstallers/VMware-aam-ha-uninstall.sh


    注意: 运行 cat /etc/shadow 命令,确认 vpxuser 已被卸载脚本移除。 如果 vpxuser 未移除,请运行 userdel vpxuser

    对于 ESXi 5.0

    注意: 此命令将卸载 ESXi 5.0 上的 HA 代理 (FDM),因为 aam 功能不再用于 vCenter Server 5.0 上的 HA。 有关 HA(容错域管理器)故障排除步骤的详细信息,请参见在 VMware vCenter Server 5.0/5.1 中对 Fault Domain Manager (FDM) 问题进行故障排除 (2078234)

    cp /opt/vmware/uninstallers/VMware-fdm-uninstall.sh /tmp
    chmod +x /tmp/VMware-fdm-uninstall.sh
    /tmp/VMware-fdm-uninstall.sh


  4. 右键单击 ESXi 3.5/ESXi 4.x 主机,然后单击连接。 将重新安装 vpxa 代理。

    注意: 在 ESXi 5.0 中,无法重新安装 vpxa,因为它现在是 esxi-base 软件包的一部分。

  5. 将主机添加到相应的群集。 将重新安装 aam 代理。 如果连接 vCenter Server 中的 ESX 主机时无法自动安装代理,请执行以下操作:

    1. 确认 ESX 主机上存在 /tmp/vmware-root。vCenter 将 vpxa RPM 暂存在此文件夹中。 要添加此目录,请运行以下命令:

      mkdir -p /tmp/vmware-root

    2. 有关调查 ESX 主机上的磁盘空间问题的详细信息,请参见检查 ESX 或 ESXi 主机上的磁盘空间 (2074924)

如果您在使用此方法时遇到问题,请手动重新安装代理。

在 ESX 上手动重新安装代理

  1. 将 ESX 主机从 VirtualCenter 断开连接。 右键单击该服务器,然后单击断开连接
  2. 使用 SSH 客户端以 root 用户身份登录到 ESX 主机。
  3. 运行以下命令,获取需移除的软件包的名称:

    [root@esx-server /]# rpm -qa | grep vpxa
    VMware-vpxa-2.5.0-64192

    [root@esx-server /]# rpm -qa | grep aam
    LGTOaama-5.1.2-1
    LGTOaamvm-5.1.2-1


    注意: *aam * 软件包可能不会安装。

  4. 对每个软件包运行此命令:

    [root@esx-server /]# rpm -e PackageName

    其中 PackageName 是要移除的软件包的名称。

    注意: 如果您从主机移除 aam 代理,则还需移除 vpxa

  5. 在 VirtualCenter 中重新连接 ESX 主机。 VirtualCenter 将自动安装所需的软件包。

手动安装 VirtualCenter Server 代理

如果安装失败,则可能需要手动安装代理。

要手动安装代理,请执行以下操作:

  1. 将 ESX 主机从 VirtualCenter 断开连接。 右键单击该主机,然后单击断开连接
  2. 使用 SSH 客户端以 root 用户身份登录到 ESX 主机。
  3. 运行以下命令,获取需移除的软件包的名称:

    [root@esx-server /]# rpm -qa | grep vpxa
    VMware-vpxa-2.5.0-64192

    [root@esx-server /]# rpm -qa | grep aam
    LGTOaama-5.1.2-1
    LGTOaamvm-5.1.2-1


    注意: LGTOaam * 软件包可能不会安装。

  4. 对每个软件包运行以下命令:

    [root@esx-server /]# rpm -e PackageName

    其中 PackageName 是要移除的软件包的名称。

  5. 以管理员身份登录到 vCenter Server。
  6. 打开用于 VirtualCenter/vCenter Server 安装的文件夹。
    • 对于 VirtualCenter 2.0.x,默认文件夹为 C:\Program Files\VMware\VMware VirtualCenter 2.0\upgrade
    • 对于 VirtualCenter 2.5.x,默认文件夹为 C:\Program Files\VMware\Infrastructure\VirtualCenter Server\upgrade
    • 对于 vCenter Server 4.x,默认文件夹为 C:\Program Files\VMware\Infrastructure\VirtualCenter Server\upgrade
    • 对于 vCenter Server 5.x,默认文件夹为 C:\Program Files\VMware\Infrastructure\VirtualCenter Server\upgrade
    • 对于 vCenter Server 6.0,默认文件夹为 C:\Program Files\VMware\vCenter Server\vpxd\upgrade
    • 对于 vCenter Server Appliance 5.x,默认文件夹为 /usr/lib/vmware-vpx/upgrade

  7. 打开 upgrade 子文件夹并查找 bundleversion.xml 文件。 此文件将列出 ESX 主机上安装的 ESX 服务器版本的包名称。 例如,如果您要添加 ESX Server 2.5.2 主机,则必须使用包 4。 包文件是自解压 Shell 脚本。
  8. 使用包编号找到此文件:

    vpx-upgrade-esx-N-linux-version

    其中 N 是包编号,version 是 VirtualCenter 的内部版本号。

  9. 使用安全复制实用程序将此文件复制到 ESX 主机。

    注意: 无需复制 .sig 文件。

  10. 使用 SSH 客户端以 root 用户身份登录到 ESX 主机。
  11. 运行以下命令,使此脚本可执行:

    [root@esxhost root]# chmod +x vpx-upgrade-esx-N-linux-32042

  12. 运行此脚本以安装相应的 RPM 并在 ESX 主机上启动 vpxa 守护进程:

    [root@esxhost root]# sh ./vpx-upgrade-esx-N-linux-32042

  13. 使用 VI Client 或 vSphere Client 登录到 vCenter Server。
  14. 从清单中选择 ESX 主机以与其连接。 右键单击该主机,然后单击连接


Additional Information

Verifying and reinstalling the correct version of the VMware vCenter Server agents检查 ESX 或 ESXi 主机上的磁盘空间在 VMware vCenter Server 5.x/6.0 中对 VMware High Availability (HA) 问题进行故障排除用来获得紧急支持的技术支持模式