NSX Bytes: Migrating NSX Edges Between Clusters….The Right Way

Had a situation pop up today where an NSX Edge needed to be moved from it’s current location to another location due to an initial VM placement issue. The VM was being moved within the bounds of the NSX Transport Zone so no issues with it being out of scope… At first the VM was vMotioned from one Cluster to another via the Web Client…however when the VM was brought back online the NSX Edge Status in the Web Client showed the error below:

While the VIX_E_TIMEOUT group of error messages are common for vShield and NSX Managers the VM was up and actually passing traffic ok…though no config could be applied in this state.

Looking through the specific Edge System Events under the Monitor Tab you see:

First thing I tried was a Force Sync which only served to reboot the Edge. Looking under the Manage Tab under NSX Edges and the NSX Edge Appliances I saw that the Edge details was Deployed and reporting on the correct Host and Datastore it was vMotioned to. From here I attempted a Re-Deploy operation, but that only moved it back to it’s original location fixing the error and making it manageable again.

I went back to the Manage Tab under NSX Edge Appliances and this time I changed the location of the Edge Cluster and Datastore directly from this menu.

This triggered another Edge Redeployment, but this time it was deployed to the desired location and the Edge was manageable again from the NSX Manager’s perspective. Lesson learnt is to not vMotion NSX Edges but take advantage of the fact that the Edges are effectivly stateless VMs that are highly transportable and have their configuration stored centrally for easy redeployment and recovery.