使用 "lsdoctor" 工具
search cancel

使用 "lsdoctor" 工具

book

Article ID: 322002

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

Lookup Service 医生(lsdoctor)是一种工具,用于解决 PSC 数据库中存储的数据以及 vCenter 的本地数据(无论 PSC 是外部还是嵌入式)的问题。  该工具可用于检测和更正可能导致拓扑更改失败的问题(融合、重新指向等)、升级或因维护而产生的失败(例如,错误地应用新的 SSL 证书)。  本文将概述其功能和使用情况。 

Symptoms:
免责声明:本文是 Using the 'lsdoctor' Tool 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。

Environment

VMware vCenter Server 7.0.x
VMware vCenter Server 6.7.x
VMware vCenter Server 8.0.x
VMware vCenter Server 6.5.x

Resolution

安装

要使用 lsdoctor,您必须下载附加到本文的 ZIP 文件。  然后,使用您选择的文件移动实用程序(例如 WinSCP),将整个 ZIP 目录复制到要在其上运行它的节点。
注意:如果您使用 WinSCP 连接到 vCenter 设备遇到问题,请参见 Error when uploading files to vCenter Server Appliance using WinSCP
将该工具复制到系统后,解压文件:

Windows
右键单击文件,然后单击 "提取所有 ..."
VCSA
将目录更改为文件的位置,然后运行以下命令:
unzip lsdoctor.zip
注意:运行该工具时,请确保您当前位于 "lsdoctor-master" 目录中。


启动工具

首先,确保您在 lsdoctor-master 目录中的命令行(VCSA 的 SSH 会话或 Windows 中的命令提示符)。
要运行 lsdoctor,请使用以下命令:

VCSA
python lsdoctor.py --help
 

Windows
“%VMWARE_PYTHON_BIN%” lsdoctor.py --help
 

注意:如果在 Windows 中运行脚本时遇到问题,请运行以下操作:
echo "%VMWARE_PYTHON_BIN%"。
对 python 的路径使用结果值。  例如: 
"C:\Program Files\VMware\vCenter Server\python\python.exe" lsdoctor.py --help


功能

跳转到函数:
--lscheck
--pscHaUnconfigure
--stalefix
--trustfix
--solutionusers  
--rebuild
 

-l, --lscheck

此选项将检查 lookup service 中的常见问题。  不会对环境进行任何更改。  这将显示在 SSO 域 中的任何节点上发现的问题。  请参见发现结果和 JSON 报告的路径。


操作说明:

  1. 将 lsdoctor 复制并提取到任何节点的文件系统中
  2. 运行 "python lsdoctor.py-l"
  3. 提供 SSO 管理员帐户的密码
  4. 查看发现的问题的输出。  每个节点都将由其 SSO 站点 ,然后是其主机名或 PNID

执行所需的操作:

  • 如果适用,请遵循输出说明。

-p、--pscHaUnconfigure

此选项在移除 PSC HA 配置(负载平衡器后面的多个外部 Psc)时使用。  要使用此选项,请执行以下步骤:


操作说明:

  1. 对于负载平衡器后面的每个 PSC:
    1. 将 lsdoctor 复制并提取到文件系统
    2. 运行 "python lsdoctor.py-p"
    3. 验证您是否已创建相应的快照
    4. 提供 SSO 管理员帐户的密码
    5. 脚本完成后,移至负载平衡器后面的下一个节点。

执行所需的操作:


-s、--stalefix

此选项将清理从5.x 升级的系统中留下的任何失效配置。


操作说明:

  1. 将 lsdoctor 复制并提取到受影响节点的文件系统中
  2. 运行 "python lsdoctor.py-s"
  3. 验证您是否已创建相应的快照
  4. 提供 SSO 管理员帐户的密码

执行所需的操作:

  • 脚本完成后, 重新启动所有服务 。
  • 重新注册以前指向受影响的节点(SRM、vSphere Replication、NSX V 等)的所有外部解决方案–请参见产品文档了解相关说明)。


-t、--trustfix

此选项纠正了 lookup service 中的 SSL 信任不匹配问题。  Lookup service 注册可能具有与节点的端口443上的 MACHINE_SSL_CERT 不匹配的 SSL 信任值。  出现此问题的原因可能是在证书替换期间出现故障,以及其他故障。


操作说明:

  1. 将 lsdoctor 复制并提取到同一 SSO 站点中任何节点的文件系统中 为受影响的节点
  2. 运行 "python lsdoctor.py-t"
  3. 验证您是否已创建相应的快照
  4. 提供 SSO 管理员帐户的密码

执行所需的操作:

  • 脚本完成后, 重新启动 SSO 站点中所有节点上的所有服务
  • 重新注册以前指向受影响节点(SRM、vSphere Replication、NSX V 等)的所有外部解决方案


-u、--solutionusers

此选项用于为节点重新创建解决方案用户。  解决方案用户可能会丢失或不一致,但此脚本将删除任何现有条目,然后从头开始重新创建。


操作说明:

  1. 将 lsdoctor 复制并提取到受影响节点的文件系统中
  2. 运行 "python lsdoctor.py-u"
  3. 验证您是否已创建相应的快照
  4. 提供 SSO 管理员帐户的密码
  5. 脚本完成后, 重新启动该节点上的所有服务

执行所需的操作:


-r、--rebuild

为给定节点重新构建一个或所有服务注册时,将使用此选项。  此操作会执行最重要的更改,因此应采取额外的措施来确保可以进行安全回滚(请参见影响/风险部分)。


操作说明:

  1. 将 lsdoctor 复制并提取到同一 SSO 站点中任何节点的文件系统中 为受影响的节点
  2. 运行 "python lsdoctor.py-r"
  3. 验证您是否已创建相应的快照
  4. 提供 SSO 管理员帐户的密码
  5. 您将看到一个菜单:
注意:  版本、部署类型和主机名引用在您的环境中是唯一的。


方案 1:

仅当 lsdoctor 没有适用于您的 vCenter 内部版本的文件时,才会使用选项1。  此操作将为您的生成生成文件(请参见输出以获取模板的路径)。  然后,您可以将从正常系统生成的模板复制到同一内部版本的不正常系统中,以便与其他选项配合使用。  这种情况很少需要。


方案 2:

 选项2将对此节点的现有 lookup service 注册进行备份,将其移除,并根据模板注册新的。  大多数模板都在模板目录中提供,您只需选择一个模板(如果不存在)。  如果 vCenter 内部版本的模板不存在,系统将提示您选择一个模板。  您应该尝试找到与您的系统最为匹配的模板。  或者,您也可以在同一内部版本的正常系统中使用选项1,并将该模板复制到受影响的系统。


选项 3:

选项3将对此节点执行所有 lookup service 注册的备份,加载当前内部版本的模板,并提供服务选择菜单。  选择要替换的服务类型,该工具将使用选定的服务类型取消注册此节点的所有服务,并根据检测到的模板注册一个新服务。  与 Option 2 一样,如果未自动提供模板,系统可能会提示您选择模板。


方案 4:

选项4允许您通过执行选项2或选项3从创建的自动备份还原 lookup service 注册。  系统将提示您选择由时间戳(最早到最新)标记的备份。  然后,它将移除所有当前服务注册并从备份中注册。


执行所需的操作:

  • 脚本完成后, 重新启动所有服务
  • 重新注册以前指向此节点的任何外部解决方案(SRM、vSphere Replication、NSX V 等)


Additional Information

词汇

节点 –指具有嵌入式 Platform Services Controller、外部 Platform Services Controller 或指向外部 Platform Services Controller 的 vCenter Server 的 vCenter Server

SSO 域 --每个 vCenter Server (或 PSC (如果是外部)与 vCenter Single Sign-On 域相关联。域名默认为 vsphere,但您可以在安装第一个 Platform Services Controller 的过程中对其进行更改。域决定本地身份验证空间。 
增强型链接模式中的所有节点都属于同一个 SSO 域 SSO 站点 --您可以将 SSO 域拆分为多个站点,并将每个嵌入式 vCenter server 或外部 Platform Services Controller 和外部 vCenter Server 实例分配到一个站点。
站点是将节点组合在一起的逻辑构造,但通常对应于地理位置。

Impact/Risks:

警告

在使用 lsdoctor 进行任何更改之前,请确保您已为 SSO 域拍摄了正确的快照。这意味着,您必须同时关闭 SSO 域中的所有 VCs 或 Psc,然后对其进行快照,然后重新打开它们的电源。  如果您需要恢复到其中一个快照,请关闭所有节点,然后将所有节点恢复到该快照。如果无法执行这些步骤,将导致 PSC 数据库中出现复制问题。


限制

目前,lsdoctor 支持 vCenter 6.5 及更高版本(包括 Windows 和 VCSA)。在发布新的 vCenter 内部版本时,必须异步更新 lsdoctor。  这意味着在发布新的内部版本后,可能会在一段时间内更新 lsdoctor 对 vCenter 的最新版本的支持。