如果您正在对失败的 Single Sign-On 实例做出响应,请按顺序执行以下步骤:
- 移除 Inventory Service 帐户
注意:仅当您正在向 vCenter Inventory Service 最初注册到的同一 Single Sign-On 实例重新注册 vCenter Inventory Service 时,才需要执行此步骤。
- 向 vCenter Single Sign-On 重新注册 vCenter Inventory Service
- 向其他 vCenter Single Sign-On 实例注册 vCenter Server
- 向 Inventory Service 重新注册 vCenter Server
- 向其他 vCenter Single Sign-On 实例注册 vSphere Web Client
- 移除未使用的 Single Sign-on 节点
移除 Inventory Service 帐户
仅当您向 vCenter Inventory Service 最初注册到的同一 Single Sign-On 实例重新注册 Inventory Service 时,才需要执行此步骤。向同一 Single Sign-On 实例重新注册 Inventory Service 时,必须先从 Single Sign-On 应用程序用户中移除 Inventory Service 帐户。否则,重新注册将失败并出现AlreadyRegistered
错误。
要移除 Inventory Service 帐户,请执行以下操作:
- 在 vSphere Web Client 中,转到系统管理。
- 在 SSO 用户和组 中,单击应用程序用户。
- 删除 Inventory Service 帐户。
向 vCenter Single Sign-On 重新注册 vCenter Inventory Service
在 vCenter Inventory Service 安装或升级期间,将向 vCenter Single Sign-On 实例注册 Inventory Service,且 Inventory Service 将存储 vCenter Single Sign-On 实例的位置。重定位 vCenter Single Sign-On 实例或切换到其他 Single Sign-On 实例时,更新相应的 Inventory Service 实例。如果 Single Sign-On 实例失败或损坏,还可以使用此步骤将 Inventory Service 重新指向其他 Single Sign-On 实例。
如果其中任意实体发生更改,则使用以下项向 vCenter Single Sign-On 重新注册 Inventory Service:
- vCenter Single Sign-On 实例的 IP 地址
- vCenter Inventory Service 主机 DNS 或 IP 地址
- vCenter Inventory Service 证书
注意:如果您正在向同一 Single Sign-On 实例重新注册 Inventory Service,则必须先从 Single Sign-On 应用程序用户中移除 Inventory Service 帐户。有关详细信息,请参见本文的移除 Inventory Service 帐户部分。
要向 vCenter Single Sign-On 重新注册 Inventory Service,请执行以下操作:
- 在 Inventory Service 主机上打开命令提示符。
- 将目录更改为:
C:\Program Files\VMware\Infrastructure\Inventory Service\scripts
注意: - 如果 vCenter Inventory Service 的安装位置不同于默认
C:\Program Files\
,请调整该路径。 - 通常,短名称未被禁用。但是,如果您已在系统上禁用短名称,或者已针对 Inventory Service 和 vCenter Server 的安装文件夹移除短名称,请执行以下步骤:
- 使用文本编辑器打开
regTool.cmd
文件。regTool.cmd
文件的位置如下:
installation_path\Inventory Service\sso
- 在以
set LOG4J_CONF=
开头的行中,使用引号将%TOOL_DIR%
引起来:
"%TOOL_DIR%"
注意:如果命令失败,请在不加引号的情况下重试。
- 保存并关闭文件。
- 运行
is-change-sso.bat
命令更新 Inventory Service 的存储配置信息:
is-change-sso.batssoServerUrl"ssoAdminuser" "ssoAdminPassword"
使用以下示例作为模型:
在 vCenter Server 5.1 中:
is-change-sso.bat https://machinename.corp.com:7444/lookupservice/sdk "admin@System-Domain" "SSO_pw1@"
在 vCenter Server 5.5 中:
is-change-sso.bat https://machinename.corp.com:7444/lookupservice/sdk "[email protected]" "SSO_pw1@"
在本例中,7444 是 vCenter Single Sign-On 的默认 HTTPS 端口号。如果您使用自定义端口,请将示例中的端口号替换为您使用的端口号。需要使用引号对 Single Sign-On 用户名和密码中的特殊字符进行转义。
- 重新启动 Inventory Service:
net stop vimQueryService
net start vimQueryService
vCenter Inventory Service URL 配置现已更新,且已向 vCenter Single Sign-On 重新注册 Inventory Service。
注意:如果您正在向同一 Single Sign-On 实例重新注册 Inventory Service,则还必须向 Inventory Service 重新注册 vCenter Server。有关详细信息,请参见本文中的向 Inventory Service 重新注册 vCenter Server部分。
向其他 vCenter Single Sign-On 实例注册 vCenter Server
在安装或升级期间,将针对 vCenter Single Sign-On 实例向 Lookup Service 注册 vCenter Server。您可以为其他 Single Sign-On 实例更改此类向 Lookup Service 的注册。如果原始 Single Sign-On 实例失败,或者如果您添加新的 Single Sign-On 节点并希望将 vCenter Server 与新节点关联,则可以向其他 vCenter Single Sign-On 实例注册 vCenter Server。
注意:向新 Single Sign-On 实例注册 vCenter Server 时,您将失去以下权限:
- 为来自 Single Sign-On 系统标识源的用户创建的所有权限
- 为来自新的 Single Sign-On 实例中不存在的标识源的用户授予的所有权限
- 为本地操作系统用户授予的所有权限
要向其他 vCenter Single Sign-On 实例注册 vCenter Server,请执行以下操作:
- 以管理员身份在 vCenter Server 主机上打开命令提示符。
- 将目录更改为:
C:\Program Files\VMware\Infrastructure\VirtualCenter Server\ssoregtool
注意:如果 vCenter Server 的安装位置不是默认C:\Program Files\
文件夹,请调整该路径。此外,在repoint.cmd
文件中,请确保JAVA_HOME
指向正确的 vCenter Server 安装位置。
- 解压
sso_svccfg.zip
文件。
注意:最佳做法是将这些文件解压到新的文件夹,并在执行下一步之前将目录切换到该新的文件夹。
- 运行以下命令以向其他 Single Sign-On 实例注册 vCenter Server:
repoint.cmd configure-vc --lookup-serverlookup_service_url--usersingle_sign_on_admin_user--passwordsingle_sign_on_admin_password--openssl-path "path_to_OpenSSL_bin_directory/"
注意:如果 vCenter Server 的安装位置不同于默认位置,则必须将以下选项添加到re-point
命令:
--vc-install-dir "path_to_vCenter_Server_install_directory"
openssl-path
路径必须用引号括起来,并后跟一个尾部正斜杠。使用新的 Lookup Service 和 Single Sign-On 证书更新信任存储时需要openssl-path
参数。如果您未提供它,该命令将成功执行,但必须手动更新证书信任存储。有关为 vCenter Server 组件更新证书存储的详细信息,请参见 Implementing CA signed SSL certificates with vSphere 5.1 (2034833)。
使用以下示例作为模型:
在 vCenter Server 5.1 中:
repoint.cmd configure-vc --lookup-server https://machinename.corp.com:7444/lookupservice/sdk --user "admin@System-Domain" --password "SSO_pw1@" --openssl-path "C:\Program Files\VMware\Infrastructure\Inventory Service\bin/"
在 vCenter Server 5.5 中:
repoint.cmd configure-vc --lookup-server https://machinename.corp.com:7444/lookupservice/sdk --user "[email protected]" --password "SSO_pw1@" --openssl-path "C:\Program Files\VMware\Infrastructure\Inventory Service\bin/"
在本例中,7444 是 vCenter Single Sign-On 的默认 HTTPS 端口号。如果您使用自定义端口,请将示例中的端口号替换为您使用的端口号。需要使用引号对 Single Sign-On 用户名和密码中的特殊字符进行转义。
注意:
- 如果收到错误
The system cannot find the path specified
,请验证repoint.cmd
脚本中设置的JAVA_HOME
位置:
对于 vSphere 5.1,将其设置为:
C:\Program Files\VMware\Infrastructure\jre
如果此 JRE 文件夹不存在,请检查C:\Program Files\VMware\Infrastructure\jre1
是否存在,如果存在,请更新脚本以指向正确的JAVA_HOME
位置并重试该命令。
对于 vSphere 5.5,将其设置为:
C:\Program Files\Common Files\VMware\VMware vCenter Server - Java Components\
例如,将
set JAVA_HOME=blank
更改为
set JAVA_HOME=C:\Program Files\Common Files\VMware\VMware vCenter Server - Java Components\
- 如果收到此错误:
Abnormal command failure: exception 'Cannot locate configuration source C:\Program Files\VMware\Infrastructure\VirtualCenter Server\ssoregtool\vcsso.properties'
请创建文件夹结构C:\Program Files\VMware\Infrastructure\VirtualCenter Server\ssoregtool
并将vcsso.properties
文件复制到ssoregtool
文件夹。
- 如果 VMware Inventory Service 位于单独的服务器上,请复制C:\Program Files\VMware\Infrastructure\Inventory Service\.中的bin文件夹。该命令现在如下所示:
repoint.cmd configure-vc --lookup-server https://machinename.corp.com:7444/lookupservice/sdk --user "[email protected]" --password "SSO_pw1@" --openssl-path "C:\<path to copied bin folder>\bin/"
- 如果收到错误InternalError / 254,请参见 Repointing VMware vCenter Server to vCenter Single Sign-On fails with InternalError / 254 (2083179)
- 重新启动 VMware VirtualCenter Server 和 VMware VirtualCenter Management Webservices 服务:
- 在“管理工具”控制面板中,单击服务。
- 右键单击 VMware VirtualCenter Server,然后单击重新启动。
- 右键单击 VMware VirtualCenter Management Webservices,然后单击重新启动。
现在,已向新的 Single Sign-On 实例注册了 vCenter Server。
向 Inventory Service 重新注册 vCenter Server
在安装或升级期间,将向 vCenter Inventory Service 注册 vCenter Server,且 Inventory Service 将存储 vCenter Server 的位置。重定位 vCenter Server 实例或对 vCenter Inventory Service 进行更改时,您必须更新相应的 Inventory Service 实例。
如果以下任何实体发生更改,请向 vCenter Server 重新注册 Inventory Service:
- vCenter Inventory Service 证书
- vCenter Server IP 地址或主机名
- vCenter Inventory Service 地址或主机名
如果在相同计算机上重新安装 Inventory Service 且以下任何条件适用,则还必须向 Inventory Service 重新注册 vCenter Server:
- 在重新安装期间覆盖 Inventory Service 数据库
- 使用不同路径将 Inventory Service 重新安装到安装目录
- 更改 Inventory Service 端口号
要向 Inventory Service 重新注册 vCenter Server,请执行以下操作:
- 打开命令提示符。
- 将目录更改为:
C:\Program Files\VMware\Infrastructure\VirtualCenter Server\isregtool
注意:如果 vCenter Server 的安装位置不是默认C:\Program Files\
,请调整该路径。
- 运行
register-is.bat
命令更新 Inventory Service 的存储配置信息:
register-is.batvCenter_Server_URL Inventory_Service_URL Lookup_Service_URL
使用以下示例作为模型:
register-is.bat https://machinename.corp.com:443/sdk https://machinename.corp.com:10443 https://machinename.corp.com:7444/lookupservice/sdk
在本例中,443、10443 和 7444 分别是 vCenter Server、Inventory Service 和 vCenter Single Sign-On 的默认 HTTPS 端口号。如果您使用自定义端口,请将示例中的端口号替换为您使用的端口号。应为machinename.corp.com
使用服务器 FQDN,而不是 IP 地址。如果使用了 IP 地址,您可能会看到SslHandshakeFailed=1
错误。
- 重新启动 vCenter Server。
vCenter Inventory Service URL 配置现已更新,且已向 Inventory Service 重新注册了 vCenter Server。
向其他 vCenter Single Sign-On 实例注册 vSphere Web Client
将针对 vCenter Single Sign-On 实例向 Lookup Service 注册 vSphere Web Client。 如果 Single Sign-On 实例失败或发生更改,则可能需要向其他 vCenter Single Sign-On Lookup Service 注册 vSphere Web Client。
如果 vCenter Single Sign-On 服务器失败或损坏,可以安装新的 Single Sign-On 实例,并向该新的 Single Sign-On 实例注册 vSphere Web Client。或者,可以安装新的 vSphere Web Client,并将其注册到新的 Single Sign-On 实例。有关详细信息,请参见
VMware vSphere 5.5 Installation and Setup guide。
如果将 vCenter Server 和 vCenter Inventory Service 从失败的 Single Sign-On 实例重新指向其他现有的 Single Sign-On 实例,则可以使用已向该失败的 Single Sign-On 实例注册的 vSphere Web Client。
要向其他 vCenter Single Sign-On Lookup Service 注册 vSphere Web Client,请执行以下操作:
- 打开命令提示符。
- 将目录更改为:
C:\Program Files\VMware\Infrastructure\vSphereWebClient\scripts
注意:如果 vSphere Web Client 的安装位置不是默认C:\Program Files\
,请调整该路径。
- 运行
client-repoint.bat
命令向其他 vCenter Single Sign-On 和 Lookup Service 注册 vSphere Web Client:
client-repoint.batlookup_service_url"single_sign_on_admin_user" "single_sign_on_admin_password"
使用以下示例作为模型:
对于 vCenter Server 5.1:
client-repoint.bat https://machinename.corp.com:7444/lookupservice/sdk "admin@System-Domain" "SSO_pw1@"
对于 vCenter Server 5.5:
client-repoint.bat https://machinename.corp.com:7444/lookupservice/sdk "[email protected]" "SSO_pw1@"
在本例中,7444 是 vCenter Single Sign-On 的默认 HTTPS 端口号。如果您使用自定义端口,请将示例中的端口号替换为您使用的端口号。需要使用引号对 Single Sign-On 用户名和密码中的特殊字符进行转义。
现在,已向 vCenter Single Sign-On and Lookup Service 注册了 vSphere Web Client。
移除未使用的 Single Sign-on 节点
注意:如果将 Single Sign-On 从嵌入式节点迁移到外部节点,则需要卸载嵌入式 Single-Sign on。
要移除未使用的 Single Sign-On 实例,请从“程序和功能”卸载 vCenter Single Sign-On。