DFW 규칙에 "적용 대상"이 구성된 경우(즉, "적용 대상"이 "DFW"로 설정되지 않음) 이 절차를 사용합니다.

참고: NSX-V에서 NSX-T로의 마이그레이션에 대한 자세한 내용은 KB 문서 https://kb.vmware.com/s/article/56991을 참조하십시오.

NSX-T에서 NSX-V로 마이그레이션하는 경우 NSX-V의 분산 방화벽 필터가 항상 NSX-T보다 높기 때문에 워크로드 VM을 다시 NSX-V로 마이그레이션하면 작동하지 않을 수 있습니다. 해결 방법은 vMotion 전에 워크로드 VM을 NSX-T 제외 목록에 배치하는 것입니다.

사전 요구 사항

  • 다음 사항을 충족하는지 확인하십시오.
    • vSphere vMotion은 이 마이그레이션과 관련된 클러스터에 있는 각 호스트의 VMkernel 어댑터에서 사용하도록 설정됩니다. VMkernel 어댑터에서 vMotion을 사용하도록 설정하는 방법에 대한 자세한 단계는 "vSphere " 제품 설명서를 참조하십시오.
    • NSX-T의 대상 호스트에 마이그레이션된 VM을 수신할 수 있는 충분한 리소스가 있습니다.
    • 소스 및 대상 호스트가 작동 상태입니다. 연결이 끊긴 상태를 포함하여 호스트에 있는 문제를 해결합니다.

vMotion에 대한 자세한 내용은 "vSphere" 제품 설명서에서 vMotion을 사용한 마이그레이션을 참조하십시오.

프로시저

  1. 스크립트를 실행하여 VM의 각 vNIC에 대해 외부 ID를 지정하고 VM을 올바른 논리적 포트로 vMotion합니다.
    다음은 vNIC가 올바른 포트에서 ID "ls_id"의 NSX-T 세그먼트에 연결되도록 VM의 각 vNIC에 대한 external-id를 지정하는 python 코드입니다.
    devices = vmObject.config.hardware.device
    nic_devices = [device for device in devices if isinstance(device, vim.Vm.device.VirtualEthernetCard)]
    vnic_changes = []
    for device in nic_devices:
        vif_id = vmObject.config.instanceUuid + ":" + str(device.key)
        vnic_spec = self._get_nsxt_vnic_spec(device, ls_id, vif_id)
        vnic_changes.append(vnic_spec)
    relocate_spec = vim.Vm.RelocateSpec()
    relocate_spec.SetDeviceChange(vnic_changes)
    # set other fields in the relocate_spec
    vmotion_task = vmObject.Relocate(relocate_spec)
    WaitForTask(vmotion_task)
    
    def _get_nsxt_vnic_spec(self, device, ls_id, vif_id):
        nsxt_backing = vim.Vm.Device.VirtualEthernetCard.OpaqueNetworkBackingInfo()
        nsxt_backing.SetOpaqueNetworkId(ls_id)
        nsxt_backing.SetOpaqueNetworkType('nsx.LogicalSwitch')
        device.SetBacking(nsxt_backing)
        device.SetExternalId(vif_id)
        dev_spec = vim.Vm.Device.VirtualDeviceSpec()
        dev_spec.SetOperation(vim.Vm.Device.VirtualDeviceSpec.Operation.edit)
        dev_spec.SetDevice(device)
        return dev_spec

    전체 스크립트의 예는 https://github.com/dixonly/samples/blob/main/vmotion.py를 참조하십시오.

  2. 마이그레이션된 VM에 보안 태그 및 VM 고정 멤버 자격을 적용합니다.
    POST https://{nsxt-mgr-ip}/api/v1/migration/vmgroup?action=post_migrate
    post_migrate 작업이 지정된 vmgroup API 끝점은 NSX-V 보안 태그를 NSX-T 오버레이 세그먼트의 마이그레이션된 워크로드 VM에 적용합니다.

    이 API의 예제 요청 본문은 NSX 기술 영역 문서의 리프트 및 시프트 마이그레이션 프로세스 섹션을 참조하십시오.

  3. 마이그레이션을 완료하려면 인프라를 완료해야 합니다.
    POST https://{nsxt-mgr-ip}/api/v1/migration?action=finalize_infra
    이 마이그레이션 API는 마이그레이션 중에 생성된 모든 임시 개체 구성을 삭제하고 NSX-T 인프라가 정상 상태인지 확인합니다. 예를 들어, 임시 IP 집합이 그룹에서 제거됩니다.

    이 POST API에는 요청 본문이 없습니다.

  4. 예상되는 구성 항목이 NSX-T 환경에 마이그레이션되었는지 확인합니다.
    예를 들어 다음 구성이 성공적으로 마이그레이션되었는지 확인합니다.
    • 사용자 정의 분산 방화벽 규칙.
    • IP 집합, 그룹, 태그 등과 같은 모든 그룹 개체입니다.
    • 유효한 멤버는 동적 그룹에 표시됩니다.
    • 태그는 마이그레이션된 워크로드 VM에 적용됩니다.
  5. 워크로드 마이그레이션 페이지에서 완료를 클릭합니다.
    마이그레이션 완료를 확인하는 대화상자가 나타납니다. 마이그레이션을 완료하면 모든 마이그레이션 세부 정보가 지워집니다. 이 마이그레이션의 설정을 더 이상 검토할 수 없습니다. 예를 들어, 구성 해결 페이지에서 입력한 내용이 여기에 해당합니다.

다음에 수행할 작업

워크로드 VM 및 DFW 전용 구성을 성공적으로 마이그레이션하고 철저하게 확인한 후에는 계층 2 브리지를 제거하여 브리징에 사용한 NSX-T Edge를 해제합니다.