VMware Cloud Community
VMXTROOPER
Contributor
Contributor

Vsphere 5.1 vDS Won't allow ESXi Hosts to be Added

After upgrading to Vsphere 5.1 1 of my ESXi Hosts cannot be added to the vDS. It can be added to the vSS with no problem. Also once you remove it from the vDS you can't add it back. I have tried removing ot totally from Vcenter and then using vDS to add it back.

To no avail...still can't connect to vDS.

Any suggestions out there???????

0 Kudos
10 Replies
Gkeerthy
Expert
Expert

just reset the ESXi to factory defaults, so the entire configuration will go... and try to add it again.

what is the error you are getting...? give some screen shots

Please don't forget to award point for 'Correct' or 'Helpful', if you found the comment useful. (vExpert, VCP-Cloud. VCAP5-DCD, VCP4, VCP5, MCSE, MCITP)
0 Kudos
VMXTROOPER
Contributor
Contributor

I will give the reset a try and let you know here in about 40 minutes. Thanks

0 Kudos
VMXTROOPER
Contributor
Contributor

Well that didn't work. The only error that I get is that the ESXi Host is already added to Vsphere when I try to add it back to vDS. Smiley Sad

0 Kudos
Gkeerthy
Expert
Expert

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=203699...

refer the above link and paste the vmkernel log..out put during the time when you add the vds

also try to restore the standard switch and see if this helps

http://pubs.vmware.com/vsphere-4-esxi-installable-vcenter/index.jsp?topic=/com.vmware.vsphere.setupi...

http://virtualizationreview.com/blogs/everyday-virtualization/2010/01/distributed-virtual-switch.asp...

http://my.safaribooksonline.com/book/operating-systems-and-server-administration/virtualization/9781...

Please don't forget to award point for 'Correct' or 'Helpful', if you found the comment useful. (vExpert, VCP-Cloud. VCAP5-DCD, VCP4, VCP5, MCSE, MCITP)
VMXTROOPER
Contributor
Contributor

Thanks again. I treid all of your links which most point toward VSS. The only error that I get is that the ESXi Host has already been added.

0 Kudos
VMXTROOPER
Contributor
Contributor

All, Here is my solution that resolved my issue. I cannot gaurentee that it will work for you. This is  associated with VSphere 5.1  Upgrade. The 5.0 thru 5.1 vDS entries were missing in the SQL Database

Cause:
This issue occurs because there are rows missing in the VPX_DVS_COMPATIBLE table.
Resolution:
Notes: This procedure includes syntax for SQL Server. If you are using Oracle, modify the PL/SQL syntax accordingly. Ensure that the user account that is used to connect to the vCenter Server database has administrative privileges.

To resolve this issue:
1. Run this SQL statement to determine the contents of the database:

SELECT * FROM VPX_DVS_COMPATIBLE WHERE ID IN
(SELECT ID FROM VPX_ENTITY WHERE NAME = 'dvSwitch');

Where dvSwitch is the Distributed Virtual Switch name. Change according to your environment. If you have more than one Distributed Switch, you will need to run the scripts for all the Distributed Switches.

You see an output which indicates that the DVS compatibility includes ESX/ESXi 4.0 and 4.1, but not ESXi 5.0 or 5.1.

2. Run this query to add the missing rows:

USE VIM_Yourdatabasename; /* name of VC 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+');

0 Kudos
VMXTROOPER
Contributor
Contributor

All, Here is my solution that resolved my issue. I cannot gaurentee that it will work for you. This is associated with VSphere 5.1 Upgrade. The 5.0 thru 5.1 vDS entries were missing in the SQL Database

Cause:
This issue occurs because there are rows missing in the VPX_DVS_COMPATIBLE table.
Resolution:
Notes: This procedure includes syntax for SQL Server. If you are using Oracle, modify the PL/SQL syntax accordingly. Ensure that the user account that is used to connect to the vCenter Server database has administrative privileges.

To resolve this issue:
1. Run this SQL statement to determine the contents of the database:

SELECT * FROM VPX_DVS_COMPATIBLE WHERE ID IN
(SELECT ID FROM VPX_ENTITY WHERE NAME = 'dvSwitch');

Where dvSwitch is the Distributed Virtual Switch name. Change according to your environment. If you have more than one Distributed Switch, you will need to run the scripts for all the Distributed Switches.

You see an output which indicates that the DVS compatibility includes ESX/ESXi 4.0 and 4.1, but not ESXi 5.0 or 5.1.

2. Run this query to add the missing rows:

USE VIM_Yourdatabasename; /* name of VC 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+');

0 Kudos
Gkeerthy
Expert
Expert

hi

thanks for the information...so it is a database issue..

thaks for sharing the tip...and explaining the steps...I will note this.Smiley Happy

Please don't forget to award point for 'Correct' or 'Helpful', if you found the comment useful. (vExpert, VCP-Cloud. VCAP5-DCD, VCP4, VCP5, MCSE, MCITP)
0 Kudos
wdosborn
Contributor
Contributor

I experienced the same issue this month at both my primary and secondary Data Centers, however the script ran like above gave errors (can't insert NULL and too many results from query) I had to manually enter my DVS ID into the SQL statement - ran like below and now it works great.  Thanks!

USE "Virtual Center DB";
       GO
       DECLARE @dvs_name varchar(32);
       DECLARE @dvs_id int;
       SET @dvs_name = 'DVSNAME';
       SET @dvs_id = 8278;
       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+');

I modified to just say 8278 because that's the ID of my DVS which I learned from the initial query statement.

0 Kudos
VMXTROOPER
Contributor
Contributor

I removed that DVS so as not to expose my infrastructure

Sincerely

James

Sent from my iPhone

0 Kudos