该问题在 vCenter Server 5.1 Update 1 和 vCenter Server 5.5(可从
VMware Downloads 获取)中已解决。
注意:从 vCenter Server 4.0、4.1 和 5.0 升级到 vCenter Server 5.1 Update 1 时,vCenter Server 5.1 Update 1 中的修复可以解决该问题。如果您已经从 vCenter Server 4.0、4.1 或 5.0 升级到 vCenter Server 5.1 GA 或 5.1 修补程序,然后再升级到 vCenter Server 5.1 Update 1,那么此修复将不会解决该问题。在这种情况下,请使用下面的解决办法:
要想在已经升级到早于 Update 1 的 vCenter Server 5.1 内部版本的情况下临时解决该问题,请执行以下操作:
注意:
- 此操作步骤包括 SQL Server 的语法。如果您使用的是 Oracle,请相应地修改 PL/SQL 语法。
- 请确保用于连接 vCenter Server 数据库的用户帐户具有管理员权限。
- 从 vCenter Server 4.0、4.1 或 5.0 升级到 vCenter Server 5.1 时,将 ESXi 5.1 主机添加到现有的 vSphere Distributed Switch (vDS) 版本 4.0、4.1 和 5.0 可能会失败。然而,如果升级到 vCenter Server 5.1 后创建新的 4.0、4.1、5.0 或 5.1 vDS 交换机,则能够添加 ESXi 5.1 主机。
- 运行以下 SQL 语句以确定数据库的内容:
SELECT * FROM VPX_DVS_COMPATIBLE WHERE ID IN
(SELECT ID FROM VPX_ENTITY WHERE NAME = 'dvSwitch');
其中dvSwitch
是分布式虚拟交换机 (DVS) 的名称。请根据您的环境进行更改。如果您有多个 DVS,则必须为每个交换机运行这些脚本。
您会看到,指示 DVS 兼容性的输出包括 ESXi/ESX 4.0 和 4.1,但不包括 ESXi 5.0 或 5.1。
例如:
![](https://api-broadcomcms-software.wolkenservicedesk.com/attachment/get_attachment_content?uniqueFileId=1512265811921)
- 运行以下查询以添加缺失的行:
USE VIM_VCDB; /* name of vCenter Server database, change according to your environment */
GO
DECLARE @dvs_name varchar(32);
DECLARE @dvs_id int;
SET @dvs_name = 'dvSwitch'; /* case sensitive DVS name, change according to your environment */
SET @dvs_id = (SELECT ID FROM VPX_ENTITY WHERE NAME = @dvs_name);
INSERT INTO VPX_DVS_COMPATIBLE VALUES
(@dvs_id,'esx','5.0+'),
(@dvs_id,'embeddedEsx','5.0+'),
(@dvs_id,'esx','5.1+'),
(@dvs_id,'embeddedEsx','5.1+');
注意:当您有多个分布式虚拟交换机时,请考虑运行以下查询:
USE VIM_VCDB; /* name of VC database,change according to your environment */
GO
DECLARE @dvs_id int;
SET @dvs_id =DVS_ID; /* Ensure that you change the DVS_ID to the ID value found in table VPX_DVS */
INSERT INTO VPX_DVS_COMPATIBLE VALUES
(@dvs_id,'esx','5.0+'),
(@dvs_id,'embeddedEsx','5.0+'),
(@dvs_id,'esx','5.1+'),
(@dvs_id,'embeddedEsx','5.1+');
此查询将更新指定的 DVS。无法针对多个分布式虚拟交换机执行原始脚本。
对于 ESXi 6.0,请运行下列查询:
USE GB_vCenter; /* name of vCenter Server database, change according to your environment */
GO
DECLARE @dvs_name varchar(32);
DECLARE @dvs_id int;
SET @dvs_name = 'dvSwitch'; /* case sensitive DVS name, change according to your environment */
SET @dvs_id = 128;
INSERT INTO VPX_DVS_COMPATIBLE VALUES
(@dvs_id,'esx','6.0+'),
(@dvs_id,'embeddedEsx','6.0+');
- 重新运行步骤 1 中的查询,确认相关行已添加。
您会看到类似以下内容的输出:
![](https://api-broadcomcms-software.wolkenservicedesk.com/attachment/get_attachment_content?uniqueFileId=1512266464739)
- 重新启动 VMware vCenter Server 服务,然后将该主机添加到 DVS 中。