When using N-VDS as the host switch, NSX-T is represented as an opaque network in vCenter Server. N-VDS owns one or more of the physical interfaces (pNICs) on the transport node, and port configuration is performed from NSX-T Data Center. You can migrate your host switch to vSphere Distributed Switch (VDS) 7.0 for optimal pNIC usage, and managing the networking for NSX-T hosts from vCenter Server. When running NSX-T on a VDS switch, a segment is represented as an NSX Distributed Virtual Port Groups. Any changes to the segments on the NSX-T network are synchronized in vCenter Server. Note that in NSX-T Data Center 3.0, N-VDS to VDS migration is not supported for an N-VDS-based Collapsed Cluster environment. Also, migration does not support named teaming policy.

You can scale up migration by parallelly migrating hosts through vSphere Update Manager or manually through APIs. By default, 64 hosts per cluster, with a thread pool size of 22 per manager in a cluster, can be migrated in parallel mode. For migration through vSphere Update Manager, "In Queue" status is shown for any host waiting for an available thread. For migration through API, any request over 64 active migration is rejected. You can set the thread count in the properties file through PARALLEL_HOST_MIGRATION_COUNT field. By default, it is set to 64.
Note: N-VDS to NSX-T on VDS migration is triggered only for ESX upgrades that cross the 7.0.2 (X.Y.Z-U.P) release. Migration will not be triggered for any "U.P" (update-patch) upgrades. ESX version is specified as X.Y.Z-U.P where,
  • X = Major
  • Y = Minor
  • Z = Maintenance
  • U = Update
  • P = Patch

Prerequisites

Contact VMware support to assess the impact of migrating to VDS 7.0.

The following requirements must be met to migrate to a VDS 7.0 host switch:

  • vCenter Server 7.0 or later
  • ESXi 7.0 or later
  • NSX-T is no longer represented as an opaque network after migration. You may need to update your scripts to manage the migrated representation of the NSX-T hosts.

Procedure

  1. Migrate your host switch using API calls or run the commands for migration from the CLI. You can also initiate migration from the NSX Manager user interface.
    • Make the following API calls to perform the migration:
      1. To verify that the hosts are ready for migration, make the following API call and run a pre-check:
        POST https://<nsx-mgr>/api/v1/nvds-urt/precheck
        Starting with NSX-T 3.1.1, you can also migrate host switches where separate VDSes will be generated for each cluster. For this use case, you must call the following API instead of POST https://<nsx-mgr>/api/v1/nvds-urt/precheck.
        POST https://<nsx-mgr>/api/v1/nvds-urt/precheck-by-cluster

        Example response for both API calls:

        { "precheck_id": "166959af-7f4b-4d49-b294-907000eef889" }
      2. Address any configuration inconsistencies and run the pre-check again.
      3. Verify the status of the pre-check.
        POST https://<nsx-mgr>/api/v1/nvds-urt/status-summary/<precheck-id>

        Example repose:

        {
          "precheck_id": "166959af-7f4b-4d49-b294-907000eef889",
          "precheck_status": "PENDING_TOPOLOGY"
        }
      4. For stateless hosts, nominate one of the hosts as the source host and initiate the migration.
      5. To retrieve the recommended topology, make the following API call:
        GET https://<nsx-mgr>/api/v1/nvds-urt/topology/<precheck-id>

        Example response:

        {
          "topology": [
            {
              "nvds_id": "21d4fd9b-7214-46b7-ab16-c4e7138f011f",
              "nvds_name": "nsxvswitch",
              "compute_manager_topology": [
                {
                  "compute_manager_id": "fa1421d9-54a7-418e-9e18-7d0ff0d2f771",
                  "dvswitch": [
                    {
                      "data_center_id": "datacenter-3",
                      "vds_name": "VDS-nsxvswitch-datacenter-3",
                      "vmknic": [
                        "vmk1"
                      ],
                      "transport_node_id": [
                        "4a6161af-7eec-4780-8faf-0e0610c33c2e",
                        "5a78981a-03a6-40c0-8a77-28522bbf07a9",
                        "f9c6314d-9b99-48aa-bfc8-1b3a582162bb"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      6. Make the following API call to create a VDS with the recommended topology:
        POST https://<nsx-mgr>/api/v1/nvds-urt/topology?action=apply

        Note that you can only replace an N-VDS with a new VDS and cannot use an existing VDS.

        Example input:

        {
          "topology": [
            {
              "nvds_id": "c8ff4053-502a-4636-8a38-4413c2a2d52f",
              "nvds_name": "nsxvswitch",
              "compute_manager_topology": [
                {
                  "compute_manager_id": "fa1421d9-54a7-418e-9e18-7d0ff0d2f771",
                  "dvswitch": [
                    {
                      "data_center_id": "datacenter-3",
                      "vds_name": "test-dvs",
                      "transport_node_id": [
                        "65592db5-adad-47a7-8502-1ab548c63c6d",
                        "e57234ee-1d0d-425e-b6dd-7dbc5f6e6527",
                        "70f55855-6f81-45a8-bd40-d8b60ae45b82"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      7. To track the status of the migration, make the following API call:
        POST https://<nsx-mgr>/api/v1/nvds-urt/status-summary/<precheck-id>

        When the host is ready for migration, precheck_status changes from APPLYING _TOPOLOGY to UPGRADE_READY.

        Refer to the NSX-T Data Center API Guide guide for more information on API parameters.

      8. Place the ESXi host in maintenance mode from vCenter.
      9. To initiate the N-VDS to VDS migration, make the following API call:
        POST https://<nsx-mgr>/api/v1/transport-nodes/<tn-id>?action=migrate_to_vds

        The hosts are migrated asynchronously. You can upgrade multiple transport nodes in parallel by calling the API for a desired set of hosts. Services like DRS continue to run as expected during the process of migration.

      10. Make the following API call to track the status of migration:
        POST https://<nsx-mgr>/api/v1/nvds-urt/status-summary/<precheck-id>

        The host migration_state changes from UPGRADE_IN_PROGRESS to SUCCESS after a successful migration.

        Example response:

        {
          "precheck_id": "c306e279-8b75-4160-919c-6c40030fb3d0",
          "precheck_status": "READY",
          "migration_state": [
            {
              "host": "65592db5-adad-47a7-8502-1ab548c63c6d",
              "overall_state": "UPGRADE_READY"
            },
            {
              "host": "e57234ee-1d0d-425e-b6dd-7dbc5f6e6527",
              "overall_state": "UPGRADE_READY"
            },
            {
              "host": "70f55855-6f81-45a8-bd40-d8b60ae45b82",
              "overall_state": "SUCCESS"
            }
          ]
        }

        In the event of failures, the overall_state changes to FAILED, indicating the reason for the migration failure. Run the migrate_to_vds action to run the migration task again.

      11. For stateless hosts:
        1. Extract the host profile from the migrated host and attach it to the cluster.
        2. Reboot the remaining hosts in the cluster.
    • Perform the migration from the NSX Manager CLI.
      1. To verify that the hosts are ready for migration, run the following command and run a pre-check:
        vds-migrate precheck

        Sample output:

         Precheck Id: 0a26d126-7116-11e5-9d70-feff819cdc9f
      2. Address any configuration inconsistencies and run the pre-check again.
      3. To retrieve the recommended topology, run the following command:
        vds-migrate show-topology

        Sample output:

        Precheck Id: 137d2a87-0544-4914-829d-d8b7e33b13f2
               NVDS: nvds1(19cca902-9455-4316-92e2-65f4f5b4b138)                          
               Compute Manager Topology:                                                  
               [                                                                          
                   {                                                                      
                       "compute_manager_id": "fd37ed6e-0eae-4d65-b29a-d40eee1d5d47",      
                       "dvswitch": [                                                      
                           {                                                              
                               "transport_node_id": [                                     
                                   "4d011ade-a010-4eea-b45a-b2569c0bb9ad"                 
                               ],                                                         
                               "data_center_id": "datacenter-3",                          
                               "vmknic": [],                                              
                               "vds_name": "VDS-nvds1-datacenter-3"                      
                           }                                                              
                       ]                                                                  
                   }                                                                      
               ]
      4. Run the following command to create a VDS with the recommended topology:
        vds-migrate apply-topology
      5. Log in to vCenter Server and verify that the VDS is created.
      6. To initiate the N-VDS to VDS migration, run the following command:
        vds-migrate esxi-cluster-name <cluster-name>

        Sample output:

         VDS Migration Done:                                                     
           3 Transport-Nodes Migrate Successfully          
           0 Transport-Nodes Migrate Failed

        You can also use the transport node ID to initiate migration:

        vds-migrate tn-list <file-path>

        where <file-path> includes the Transport Node IDs.

        Sample output:

        nsx-manager-1> vds-migrate tn-list /opt/tnid
               VDS Migration Done:
               3 Transport-Nodes Migrate Successfully
               0 Transport-Nodes Migrate Failed
    • Starting NSX-T Data Center 3.1.1, you can use the NSX Manager to prepare your hosts for migration and then migrate to VDS as part of the host OS upgrade, using vSphere Update Manager.
      To migrate your host switch as part of the host OS upgrade using vSphere Update Manager, you need vCenter Server 7.0.U2.
      Note: The ESXi hosts must be upgraded across ESXi update releases for this migration to be triggered. For example,
      • Upgrade from ESXi 7.0 to ESXi 7.0 U2 - switch migration can be triggered.
      • Upgrade from ESXi 7.0 U2 to ESXi 7.0 U2a - switch migration cannot be triggered as upgrade is within the same ESXi update version.
      1. Log in as a local admin user to an NSX Manager at https://nsx-manager-ip-address/login.jsp?local=true.
      2. Select System > Quick Start.
      3. Click Get Started to prepare your hosts for migration from N-VDS to VDS.
      4. Click Precheck to verify if the hosts are ready for migration.
      5. Address any configuration inconsistencies and run the pre-check again.
      6. Review the recommended network topolgy.
      7. Click Create to prepare the selected hosts for migration by creating a corresponding VDS switch in vCenter Server.
      8. Log in to vCenter Server and upgrade your ESXi hosts using vSphere Update Manager. The switch migration is completed when the host OS upgrade is done.
      9. Monitor the progress of migration from the Monitor tab.
  2. Move the migrated hosts out of maintenance mode. This step is not required for migration of host switch as part of host upgrade using vSphere Update Manager.