Wednesday, February 5, 2014

Removing the Nexus 1000v

The other day I needed to remove three nexus 1000v distributed switches from one of our lab vCenter environments in order to prepare for NSX testing. Removing the Nexus 1000v should be a fairly straightforward process. In my case it seemed like the supervisor modules had become self aware and knew I was trying to kill them.

The first step is to use the migration tool and migrate all virtual machine and VMkernel networking to a standard or VMware distributed switch.

Once all VM and VMkernel networking is migrated the next task is to remove the hosts from the distributed switch object. Click Inventory, then Networking, and select the 1000v you wish to remove from the list of distributed switch objects. Click on the Hosts tab, right click on the host, and select Remove from vSphere Distributed Switch. Repeat for each host.





After removing the hosts the next step is to remove the distributed switch object. Since the distributed switch object was created by the VSM you can't remove it from vCenter; you must use the SVS connection from the VSM to remove it. The command is no vmware dvs from the svs connection configuration prompt. 

1000v(config-svs-conn)# no vmware dvs
ERROR: SVS connection service is busy. Please try again later.

This is where the VSM really started to put up a fight. The first place to check is show svs connections. In my case the sync status shows as complete. The normal things to troubleshoot with hung SVS connections are vCenter related :

  1. Restart vCenter Service
  2. Check resource utilization on vCenter host
  3. Check DB health
  4. If multiple 1000v instances connect SVS connections individually, giving each time to sync after a vCenter restart
None of these things helped me, so I went down a different path and attempted to reduce the sync data. Even though my 1000v only shows the two supervisors in a show mod,  there were VEM modules configured in the running configuration.  Removing these VEM modules with the no vem # command should reduce the amount of opaque data in the SVS sync. Another change that will reduce sync data is removing all of the port profiles.

After giving these changes time to sync to vCenter the no vmware dvs command should work, if it doesn't work the first time keep trying.

1000v(config-svs-conn)# no vmware dvs
This will remove the DVS from the vCenter Server and any associated port-groups. Do you really want to proceed(yes/no)? [yes] yes
Note: Command execution in progress..please wait
Note: Command execution in progress..please wait
1000v(config-svs-conn)# 

Once the DVS object is removed close the SVS connection with the no connect command.

The final step is to remove the .xml extension used for the SVS connection. Access the vCenter extension management page with the following URL:

https://vCenter_IPAddress/mob/?moid=ExtensionManager

Locate the Cisco Nexus 1000v extension, and click on it. Copy the key string to your clipboard then click the back button to return to the main page.


At the bottom of the main page click on the Unregister Extension Link.


A new window will pop up. Paste the extension key string into the box, and click Invoke Method, the appropriate response is "void". Close the pop-up window and refresh the main page, your 1000v extension should be removed.


You can now remove your 1000v VSM virtual machines or remove your 1010 Virtual Service Blades.

Note: If you deleted your VSM prematurely you will be left with an orphaned DVS object that can't be deleted from the vCenter interface. The procedure to remove the orphaned DVS object is to create a and register a VSM with the same extension as the old one, then use the "no vmware dvs" command. Here are the detailed instructions:

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

0 comments:

Post a Comment