VIO(VMware Integrated OpenStack) 배포를 NSX-V에서 NSX로 마이그레이션할 수 있습니다. 마이그레이션 중에 VIO 제어부는 읽기 전용 모드여야 합니다.

VM에 대한 데이터 경로 연결은 North-South 단독 마이그레이션 및 호스트 마이그레이션 중에 잠시 중단되는 경우를 제외하고 마이그레이션 중에 영향을 받지 않습니다. 이 마이그레이션은 단일 유지 보수 기간 동안 수행해야 합니다.

마이그레이션 프로세스 개요

  1. NSX를 설치합니다.
  2. VIO를 위해 NSX를 준비합니다. 이를 위해서는 외부 네트워크에 대해 Tier-0 게이트웨이 또는 VRF-lites를 설정하고 Edge 클러스터, DHCP 서버 프로파일 및 메타데이터 프록시를 구성해야 합니다. 자세한 내용은 https://docs.vmware.com/kr/VMware-Integrated-OpenStack/index.html 항목을 참조하십시오.
  3. VIO 결과물의 일부인 neutron 마이그레이터 번들을 가져옵니다.
  4. neutron 마이그레이터를 구성합니다.
  5. neutron 마이그레이터 포드를 배포합니다.
  6. NSX Manager UI에서 다음을 수행합니다.
    • Edge Cutover 마이그레이션을 시작합니다.
    • 피드백을 처리하고 마이그레이션을 완료합니다.
    • 호스트 마이그레이션을 시작합니다.
    • 피드백을 처리하고 마이그레이션을 완료합니다.
  7. neutron 마이그레이터 포드가 완료될 때까지 기다립니다.
  8. neutron 마이그레이터 배포를 삭제합니다.
  9. NSX-V에서 VIO 설치를 제거합니다.

사전 요구 사항

  • VIO 7.2.0 이상
  • NSX-V 6.4.11 이상 버전
  • vSphere 6.7 이상(마이그레이션하기 전에 ESXi 호스트를 7.0 이상으로 업그레이드하는 것이 좋습니다.)
neutron 마이그레이터 포드는 다음 유효성 검사를 실행합니다. neutron 마이그레이터 구성을 통해 주의를 발생하는 검사를 우회할 수 있습니다.
  • Neutron에서 허용되는 주소 쌍 수(수동 주소 바인딩 수는 128을 초과하면 안 됨)
  • 논리적 스위치당 DHCP가 있는 여러 서브넷의 수(NSX에서는 하나만 허용됨)
  • 네트워크당 라우터 업링크 수(NSX 중 하나만)
  • 호스트 그룹 - NSX Edge 노드를 위한 HA가 사용하도록 설정되고 Edge 노드가 배치될 호스트 그룹이 지정된 경우. 이렇게 하면 주의가 생성됩니다.
  • Edge HA는 적용되지 않으므로 NSX에서 무시됩니다. 이렇게 하면 주의가 생성됩니다.
  • DVS 포트 그룹을 기준으로 하는 제공자 네트워크 또는 외부 네트워크는 NSX 플러그인에서 지원되지 않습니다.
  • 다중 제공자 VLAN 네트워크는 지원되지 않습니다.
  • 로드 밸런싱 토폴로지는 NSX 플러그인에서 지원되지 않습니다(예: 동일한 Edge 라우터에 업링크되지 않은 다양한 서브넷의 멤버가 있는 로드 밸런서 또는 Neutron 라우터에 연결되지 않은 네트워크의 로드 밸런서).
  • NSX에 대한 잘못된 주소 사용입니다(예: 전송 네트워크와 겹침).
  • 외부 네트워크에 VM이 배포되었습니다. NSX에서는 작동하지 않습니다.
  • 로드 밸런싱 멤버에 대한 서브넷의 연결 가능성. NSX에서는 모든 로드 밸런서의 서브넷이 동일한 게이트웨이에 연결되어 있어야 합니다.

NSX에는 openstack 소유 리소스(예: NSX 인스턴스의 이전 VIO 배포의 리소스)가 없어야 합니다.

Edge Cutover 마이그레이션 및 호스트 마이그레이션에 필요한 준비를 위해서는 NSX-V 특정 부분의 인플레이스 마이그레이션을 참조하십시오.

마이그레이션 준비 - NSX Edge 클러스터 크기 조정

NSX Edge 클러스터에는 OpenStack LB(로드 밸런서)를 위한 충분한 슬롯이 있어야 합니다. LB 서비스를 호스팅할 Tier-1 게이트웨이 목록을 확인하려면 다음을 수행합니다.
  • 각 OpenStack VIP에 대해 해당 서브넷을 찾고, 서브넷이 외부 네트워크에 있지 않으면 업링크된 라우터를 검색합니다.
  • 각 OpenStack LB 풀에 대해 멤버를 나열합니다. 속하는 서브넷을 찾고 서브넷이 업링크된 라우터를 검색합니다.

발견된 라우터 수와 가장 큰 OpenStack LB 크기에 따라 NSX Edge 클러스터에 필요한 LB 슬롯 수가 결정됩니다. 각 LB에서 활성 및 대기 서비스 라우터에 대해 2개의 슬롯이 필요합니다. 각 NSX Edge 장치에서 실행할 수 있는 최대 로드 밸런서 수는 https://configmax.vmware.com을 참조하십시오.

마이그레이션 준비 - TEP IP 풀 구성

호스트 마이그레이션 동안 연결을 보장하기 위해 NSX-V 및 NSX TEP가 서로 연결할 수 있어야 합니다. 트래픽을 NSX-V TEP로 라우팅할 수 있도록 NSX TEP IP 풀을 구성해야 합니다.

NSX에서 지원되지 않는 NSX-V 구성 매개 변수

다음 표에는 지원되지 않는 NSX-V 매개 변수와 그 이유가 나와 있습니다.

매개 변수 설명 이유
cluster_moid Openstack에서 사용하는 클러스터의 ID를 나열합니다. NSX에는 해당되지 않습니다.

datacenter_moid

NSX-V Edge 장치를 배포하기 위한 데이터 센터를 식별합니다. NSX에는 해당되지 않습니다.

deployment_container_id

NSX-V Edge에 대한 배포 컨테이너를 식별합니다. NSX에는 해당되지 않습니다.

resource_pool_id

NSX-V Edge에 대한 리소스 풀을 식별합니다. NSX에는 해당되지 않습니다.

datastore_id

NSX-V Edge에 대한 데이터스토어를 식별합니다. NSX에는 해당되지 않습니다.

ha_datastore_id

Edge HA가 사용되도록 설정된 경우 추가 데이터스토어입니다. NSX에는 해당되지 않습니다.

ha_placement_random

기본 및 보조 데이터스토어 간에 활성 Edge를 구분합니다. NSX에는 해당되지 않습니다.

Edge_host_groups

활성/백업 Edge가 나열된 호스트 그룹에 배치되어 있는지 확인합니다. NSX에는 해당되지 않습니다.

external_network

물리적 네트워크 업링크에 사용할 DVPG의 ID입니다. NSX에는 해당되지 않습니다.

task_status_check_interval

작업 완료를 확인하는 간격입니다. NSX에는 해당되지 않습니다.

vdn_scope_id

VXLAN 가상 와이어에 대한 네트워크 범위 개체의 ID입니다. VDN 범위는 NSX 오버레이 전송 영역으로 대체됩니다.

dvs_id

관리 및 Edge 클러스터에 연결된 DVS의 ID입니다. VLAN 네트워크에도 기본적으로 사용됩니다. DVS가 NSX의 VLAN 전송 영역으로 대체됩니다.

maximum_tunnel_per_vnic

Edge 장치의 VNIC에서 지원되는 최대 하위 인터페이스 수입니다. NSX에는 해당되지 않습니다.

backup_edge_pool

Openstack 배포에서 사용할 NSX-V Edge 풀의 크기를 정의합니다. NSX에는 해당되지 않습니다.

mgm_net_moid

메타데이터 프록시 관리 네트워크의 포트 그룹 ID입니다. NSX에는 해당되지 않습니다.

mst_net_proxy_ips

쉼표로 구분된 관리 네트워크 IP 주소 목록입니다. NSX에는 해당되지 않습니다.

mgt_net_proxy_netmask

메타데이터 프록시에 대한 관리 네트워크 넷마스크입니다. NSX에는 해당되지 않습니다.

mgt_net_default_gateway

메타데이터 프록시에 대한 관리 네트워크 기본 게이트웨이입니다. NSX에는 해당되지 않습니다.

nova_metadata_ips

Nova 메타데이터 서비스에서 사용하는 IP 주소입니다. NSX 메타데이터 프록시 구성에 제공됩니다.

nova_metadat_port

Nova 메타데이터 서비스에서 사용하는 포트입니다. NSX 메타데이터 프록시 구성에 제공됩니다.

spoofguard_enabled

기본적으로 spoofguard는 NSX-V에서 사용하도록 설정되어 있지만 NSX-V에서 spoofguard를 사용하지 않도록 설정하면 마이그레이션 후에 NSX에서 Spoofguard가 사용하도록 설정됩니다. 기본적으로 NSX에서는 사용하도록 설정됩니다(글로벌로 해제할 수 없음).

use_exclude_list

포트 보안이 사용하지 않도록 설정되고 spoofguard가 사용하도록 설정된 경우 NSX-V 제외 목록 구성 요소를 사용합니다. 기본적으로 NSX에서는 사용하도록 설정됩니다(글로벌로 해제할 수 없음).

tenant_router_types

테넌트 라우터로 할당할 라우터 유형의 순서가 지정된 목록입니다. NSX에는 해당되지 않습니다.

edge_appliance_user

Edge 장치 로그인에 대해 구성할 사용자 이름입니다. NSX에는 해당되지 않습니다.

metadata_initializer

메타데이터 액세스 인프라를 초기화합니다. NSX에는 해당되지 않습니다.

shared_router_appliance_size

공유 라우터 Edge를 생성하는 데 사용할 Edge 장치 크기입니다. NSX에는 해당되지 않습니다.

use_dvs_features

NSX-V를 지원하는 DVS를 직접 구성할 수 있습니다. NSX에는 해당되지 않습니다.

service_insertion_profile_id

서비스 삽입에 사용될 리디렉션 방화벽 규칙의 프로파일 ID입니다. 기능이 NSX 통합에 없습니다.

service_insertion_redirect_all

모든 트래픽을 타사 방화벽으로 리디렉션하는 방화벽 규칙을 생성합니다. 기능이 NSX 통합에 없습니다.

use_nsx_policies

Neutron 보안 그룹 구현을 위해 NSX 정책을 사용합니다. 기능이 NSX 통합에 없습니다.

default_policy_id

use_nsx_policiesTrue인 경우 이 정책이 새 테넌트에 대한 기본 정책으로 사용됩니다. 기능이 NSX 통합에 없습니다.

bind_floatingip_to_all_interfaces

True로 설정하면 부동 IP를 다운링크 인터페이스에 바인딩합니다. NSX에서 부동 IP에 대한 NAT는 항상 East-West 트래픽에 대해서도 처리됩니다.

vdr_transit_network

분산 라우터 TLR/PLR 연결에 대한 네트워크 범위입니다. NSX에서 DR/SR 연결 범위는 OpenStack에서 구성할 수 없습니다.

exclusive_dhcp_edge

네트워크당 단독 DHCP Edge가 있습니다. DHCP가 Edge 클러스터에 구현되어 있으므로 NSX에 적용되지 않습니다.

bgp_neighbor_hold_down_timer

BGP 인접 항목 보류 시간 간격입니다. 기능이 NSX 통합에 없습니다. BGP 피어링이 NSX Tier-0 게이트웨이 라우팅 구성에 지정됩니다.

bgp_neighbor_keep_alive_timer

인접 항목 연결 유지 시간 간격입니다. 기능이 NSX 통합에 없습니다. BGP 피어링이 NSX Tier-0 게이트웨이 라우팅 구성에 지정됩니다.

share_edges_between_tenants

여러 테넌트에 대해 동일한 DHCP 또는 라우터 Edge를 사용합니다. NSX에는 해당되지 않습니다.

use_routers_as_lbaas_platform

서브넷의 단독 라우터를 LBaaS에 대한 플랫폼으로 사용합니다. LB 서비스가 전달에 사용되는 라우터에 항상 연결되는 NSX에 적용되지 않습니다.

nsx_sg_name_format

OpenStack 보안 그룹의 NSX 이름 형식입니다. 백엔드 리소스 이름 지정은 NSX에서 암시적입니다.

loadbalancer_pool_transparency

투명 모드에서 LBaaS 풀을 생성합니다. 투명 모드는 NSX에서 지원되지 않습니다.

default_edge_size

라우터, DHCP 및 LB Edge에 대한 기본 Edge 크기를 정의합니다. NSX에는 해당되지 않습니다.

Neutron 마이그레이터 구성

Neutron 마이그레이터를 실행하기 전에 migrator.conf.json이라는 JSON 파일을 생성하여 마이그레이션해야 하는 호스트와 NSX 환경을 지정합니다. 이 파일은 마이그레이션 포드에 마운트되고 마이그레이션 프로세스를 통해 검증됩니다. 다음은 샘플 migrator.conf.json 파일입니다.
{
 "strict_validation": true,
 "edge_migration": true,
 "host_migration": true,
 "edge_migration_interfaces_down": true,
 "post_migration_cleanup": true,
 "rollback": false, 
 "nsxv_token_lifetime": 1440,
 "compute_clusters": [
   "domain-c17",
   "domain-c29",
   "domain-c71",
  ],
  "nsx_manager_ips": [
    "192.168.16.32",
    "192.168.16.64",
    "192.168.16.96",
  ],
  "nsx_manager_user": "admin",
  "nsx_manager_password": "<NSX password>",
  "metadata_proxy": "VIO_mdproxy",
  "dhcp_profile": "VIO_dhcp_profile",
  "default_overlay_tz": "0b3d2a91-2dfc-40a7-ac6b-fbd62b0e4c79",
  "default_vlan_tz": "b87c7a69-6d1a-4857-badd-0d0e4d4e924f",
  "default_tier0_router": "VIO_Tier0",
  "availability_zones": [
  {
    "name": "az1",
    "metadata_proxy": "VIOAZ1_mdproxy",
    "dhcp_profile": "VIOAZ1_dhcp_profile",
    "default_vlan_tz": "6320d1e3-45a1-4f37-87b4-6d35d19cafef",
    "default_tier0_router": "VIOAZ1_Tier0VRFLite"
   }
   ],
   "external_networks_map": {
    "61282e88-0abb-4036-9ea8-22418f85cdf3": "VIO_Tier0",
    "39db1d0f-4279-462b-a17e-1995a5c00ae8": "VIOAZ1_Tier0VRFLite"
  },
  "transit_network": "100.64.0.0/16"
}

구성 매개 변수는 다음과 같습니다.

매개 변수 기본값 설명
post_migration_cleanup True 마이그레이션이 완료된 후 VIO에서 사용되지 않거나 다른 VIO 리소스에 의해 복제되지 않는 마이그레이션 프로세스에서 생성된 추가 NSX 엔티티를 제거합니다.
롤백 True 실패 시 자동으로 롤백합니다(가능한 경우).
nsxv_token_lifetime 1440 NSX-V 액세스에 대한 토큰의 기간(분)입니다. NSX에 토큰이 제공됩니다. 배포 크기와 예상되는 마이그레이션 완료 시간에 따라 기간을 선택해야 합니다. 토큰은 마이그레이션이 완료되기 전에 만료되면 안 됩니다.
compute_clusters 마이그레이션할 vSphere 계산 클러스터의 목록입니다. 여기에는 VIO VM 인스턴스가 배포된 클러스터만 포함되어야 합니다. Edge 클러스터 및 VIO 관리 클러스터는 포함되면 안 됩니다.
nsx_manager_ips NSX Manager의 IP 또는 FQDN입니다. 관리자 클러스터를 사용하는 경우 이 매개 변수는 VIP 또는 NSX Manager 인스턴스 목록을 지정할 수 있습니다. 후자의 경우 NSX Manager에 액세스할 때 클라이언트 측 로드 밸런싱이 사용됩니다.
nsx_manager_user admin NSX Manager 액세스를 위한 사용자 ID입니다. 주체 ID를 사용한 인증은 VIO에서 지원되지 않습니다.
nsx_manager_password NSX Manager 액세스를 위한 암호입니다.
metadata_proxy VIO 기본 가용성 영역에 대한 메타데이터 프록시의 식별자입니다. 이 식별자는 리소스 정책 경로의 마지막 세그먼트입니다.
dhcp_profile VIO 기본 가용성 영역에 대한 DHCP 프로파일의 식별자입니다.
default_tier0_router VIO 기본 가용성 영역에 대한 Tier-0 게이트웨이의 식별자입니다. 게이트웨이가 기본 외부 네트워크인 Neutron 라우터에 의해 North-South 트래픽에 사용됩니다.
default_overlay_tz VIO 배포에 사용할 오버레이 NSX 전송 영역입니다.
default_vlan_tz 기본 가용성 영역에 대한 VLAN NSX 전송 영역입니다.
transit_network 100.64.0.0/16 NSX 전송 네트워크에 대한 CIDR입니다. NSX 기본값에서 변경된 경우에만 수정합니다.
external_networks_map 빈 목록
availability_zones 빈 목록

Neutron 마이그레이터 배포

마이그레이터 번들에 있는 build_yaml.sh라는 스크립트입니다. 마이그레이션기 구성이 준비되면 이 스크립트를 실행하여 배포 규격을 생성하고 VIO 제어부에 배포합니다. 예:
./build_yaml.sh -t 7.1.1.1899999
이 스크립트는 다음 매개 변수를 수락합니다.
-k 선택 사항입니다. 배포에 vCenter Server 인증서를 포함하지 마십시오. VIO가 안전하지 않은 vCenter 연결을 사용하는 경우에만 이 값을 지정합니다.
-t <전체 VIO 버전> 필수. VIO 버전은 빌드 번호를 포함하고 기존 VIO 이미지에 대해 일치하는 태그를 찾아야 합니다.

build_yaml.sh 스크립트는 neutron 마이그레이션 제어부를 배포하기 위한 모든 정보가 포함된 <YAML-FILE-NAME>을 생성합니다.

마이그레이션 시작

마이그레이션을 시작하려면 다음 명령을 실행합니다.
kubectl apply -f <YAML-FILE-NAME>

그러면 openstack 네임스페이스에 neutron-migrator 배포가 생성됩니다. 이 배포에는 단일 복제본이 있습니다. 마이그레이션 포드는 배포의 포드가 생성될 때 자동으로 시작됩니다.

마이그레이션 포드 시작

시작하는 동안 마이그레이터 포드는 구성 파일과 마이그레이션의 현재 상태를 읽습니다. 이 정보를 기준으로 다음이 될 수 있는 마이그레이션의 다음 단계를 결정합니다.
  • API 재생
  • NSX Manager에서 마이그레이션 시작
  • VIO 재구성

구성 파일을 찾을 수 없거나 일부 필수 매개 변수가 지정되지 않은 경우 마이그레이션 포드가 종료됩니다.

API 재생이 완료되지 않았지만 마이그레이션이 이미 진행 중인 경우와 같이 마이그레이션의 현재 상태가 일관되지 않은 경우 마이그레이션 포드도 오류를 나타내며 종료됩니다.

마이그레이터 작업이 시작되면 Neutron NSX 플러그인에 대한 구성 파일이 포드에 마운트됩니다. 마이그레이터가 시작되면 Neutron 구성에서 변경된 내용이 마이그레이터 작업에서 처리되지 않습니다. 마이그레이터가 실행되는 동안에는 Neutron 구성을 변경하지 않아야 합니다. 변경해야 하는 경우 마이그레이터 작업을 다시 시작해야 합니다.

API 재생

이 상태에서 마이그레이션 프로세스는 NSX에 필요한 모든 구성을 생성하고 NSX에서 사용할 VIO Neutron 데이터베이스를 채웁니다.

이 프로세스가 끝나면 워크로드가 NSX-V에서 계속 실행되더라도 VIO에 필요한 모든 논리적 네트워킹 엔티티가 NSX에서 구성됩니다.

NSX에서 VIO 구성을 구현하기 전에 다음 검사가 수행됩니다.
  • 사전 유효성 검사. 위의 사전 요구 사항 섹션에 나열된 검사입니다.
  • NSX 버전 검사. NSX 버전은 3.2 이상이어야 합니다.
  • 계산 관리자가 구성되어 있는지 확인합니다. 마이그레이션을 수행하려면 VIO의 vCenter를 NSX에서 계산 관리자로 등록해야 합니다. 이 검사는 이 작업이 수행되었는지 확인합니다.
  • NSX에서 Neutron 리소스를 구성하지 않아야 합니다. 롤백 옵션이 True로 설정되면 마이그레이터 프로세스는 NSX에 있는 모든(오래된) Neutron 리소스를 정리합니다.

검사가 완료되면 마이그레이션 프로세스는 Neutron NSX 데이터베이스를 초기화하고 해당 구조를 준비합니다. 그러면 마이그레이터 포드 내에서 임시 Neutron 서버가 시작됩니다. 이 임시 Neutron 서버는 NSX에서 실행되도록 구성되었습니다. 임시 Neutron 서버가 실행된 후 마이그레이션 프로세스는 네트워크 VNI 매핑 및 포트/VIF 매핑에 대한 정보를 수집합니다.

그러면 API 마이그레이션 프로세스가 시작되고 다음 리소스가 마이그레이션됩니다.
  • 라우터(Tier-1 게이트웨이로)
  • 네트워크(세그먼트로)
  • 서브넷(세그먼트 서브넷 및 세그먼트의 DHCP 구성으로)
  • 포트(세그먼트 포트 및 DHCP 고정 바인딩으로)
  • 보안 그룹(보안 정책, 규칙, 그룹 및 서비스로)
  • 부동 IP(NAT 규칙으로)
  • QoS 정책 및 규칙
  • FWaaS 그룹, 정책 및 규칙
  • Octavia 로드 밸런서, 수신기, 풀, 멤버 및 상태 모니터

API 재생이 완료되면 임시 Neutron 서버 포드가 종료됩니다.

tail 명령을 사용하여 마이그레이터 포드 로그를 모니터링합니다. 로그에 마이그레이터 포드가 NSX 마이그레이션 프로세스가 시작되기를 기다리는 것으로 표시되면 다음 작업(Edge Cutover)을 수행합니다.

Edge Cutover

다음 API 호출을 수행하여 Edge 노드의 ID를 가져옵니다.
curl -v -s -X GET -k -u admin:<password> https://<nsx-mgr-ip>/api/v1/transport-nodes/ -H content-type:application/json
다음 API 호출을 수행하여 모든 Edge 노드에서 매개 변수 v2t-migration-config를 수정합니다.
curl -v -s -X PUT -k -u admin:<password> https://<nsx-mgr-ip>/api/v1/transport-nodes/<edge-nodeid>/node/v2t-migration-config -H content-type:application/json -d '{"enabled": true}'
Edge Cutover를 사용하여 종방향 트래픽을 NSX Edge로 마이그레이션의 절차를 따르십시오. 이 마이그레이션 후에는 NSX에서 North-South 트래픽을 처리합니다. 마이그레이션 프로세스에서 다음이 수행됩니다.
  • NSX-V Edge 장치 인터페이스를 종료합니다.
  • 마이그레이션 중에 East-West 및 North-South 트래픽이 원활하게 전환되도록 NSX Tier-1 다운링크에서 ARP를 사용하도록 설정합니다.
  • vCenter에 연결하여 NSX-V 인증 토큰을 검색합니다.
  • 분산 라우터(NSX-V DLR)에 대한 매핑 파일을 준비합니다.
  • NSX에서 Edge 마이그레이션을 설정하고 완료될 때까지 기다립니다.

North-South 단독 마이그레이션 중에 연결이 NSX-V ESG 또는 DLR에서 NSX Tier-1 게이트웨이로 전환되므로 VM 연결이 잠시 끊어질 수 있습니다. North-South 단독 마이그레이션이 완료되면 NSX-V 및 메타데이터 Edge의 전원이 꺼집니다. 다음 단계는 호스트 마이그레이션입니다.

중요: North-South 단독 마이그레이션을 시작하기 전, 롤백 후에 Edge 매핑 파일이 있는지 확인합니다. 롤백 후에 파일이 자동으로 삭제됩니다. 마이그레이터 작업은 롤백 완료 후 10초 이내에 파일을 복원합니다. NSX-V VIO 환경에 분산 라우터가 없는 경우에는 적용되지 않습니다.

참고: NSX-V 액세스 토큰은 포드를 실행할 때마다 갱신됩니다. 마이그레이션이 마이그레이터 포드 수명 주기 내에 완료되도록 하려면 기간이 충분히 길어야 합니다. 어떤 이유로든 마이그레이터 포드가 다시 시작되면 새 토큰을 가져옵니다.

호스트 마이그레이션

분산 방화벽 구성, 호스트 및 워크로드 마이그레이션의 절차를 따르십시오.

VIO 마이그레이션 유틸리티는 다음을 수행합니다.
  • 모든 NSX-V Edge 장치의 전원을 끕니다.
  • NSX에서 호스트 마이그레이션을 설정합니다.
  • 호스트 마이그레이션이 완료될 때까지 기다립니다.

호스트 마이그레이션이 성공적으로 완료되도록 하려면 Edge 장치의 전원을 꺼야 합니다. 호스트 마이그레이션 중에는 NSX-V Edge 장치의 전원을 켜지 마십시오.

호스트 마이그레이션이 완료된 후 다음 API 호출을 수행하여 Edge 노드에 대한 매개 변수 v2t-migration-config를 재설정합니다. 이 매개 변수는 Edge 단독 마이그레이션 단계를 시작할 때 설정되었습니다.
curl -v -s -X PUT -k -u admin:<password> https://<nsx-mgr-ip>/api/v1/transport-nodes/<edge-nodeid>/node/v2t-migration-config -H content-type:application/json -d '{"enabled":false}'

마이그레이션 후 정리

마이그레이터 작업은 NSX를 사용하도록 Neutron CR을 재구성하지만 NSX-V 구성 매개 변수는 참조용으로 볼 수 있도록 제거하지 않습니다. 이러한 매개 변수는 문제가 되지 않습니다. 마이그레이션이 완료된 후 viocli update neutron 명령을 사용하여 제거할 수 있습니다.

로깅

neutron 마이그레이터 프로세스는 프로세스의 모든 단계에 대한 자세한 기록을 생성합니다. 포드의 stdout에 기록된 로그는 INFO 수준입니다. 디버그 수준 로그는 마이그레이터 포드가 실행 중인 VIO 컨트롤러 노드의 /var/log/migration/vio-v2t.log에 있습니다.

다음 명령을 사용하여 neutron 마이그레이터 포드가 실행 중인 노드를 확인할 수 있습니다.
osctl get pods neutron-migrator -o wide

그런 다음, viossh 명령을 사용하여 컨트롤러 노드에서 셸을 열 수 있습니다.

/var/log/migration 디렉토리에는 임시 neutron 서버 로그도 포함되어 있습니다.

롤백

롤백은 마이그레이션 중에 다양한 단계에서 발생할 수 있습니다.

API 재생 단계 동안 오류가 발생하면 명시적 롤백이 필요하지 않습니다. VIO neutron 마이그레이터 유틸리티는 생성된 리소스를 자동으로 제거한 다음 마이그레이션을 다시 시도합니다.

neutron 마이그레이터 포드를 제거하여 마이그레이션을 중단하도록 선택하는 경우 VIO 제어부는 NSX-V에서 계속 작동합니다. API 재생에 의해 생성된 NSX 리소스가 있을 수 있습니다. 이러한 리소스는 제거됩니다.

NSX는 롤백 호스트 마이그레이션을 허용하지 않습니다. 호스트를 NSX로 마이그레이션한 후에는 NSX-V로 다시 이동할 수 없습니다.

호스트 마이그레이션 중에 장애가 발생하면 로그를 검토하고 그에 따라 문제를 해결할 수 있습니다.

또는 호스트가 거듭해서 NSX로 마이그레이션되지 않으면 vSphere 클러스터에서 호스트를 제거하고 마이그레이션을 다시 시도할 수 있습니다. 영향을 받는 호스트에서 실행 중인 VM은 클러스터의 다른 호스트로 마이그레이션됩니다. 마이그레이션 후 호스트에 NSX를 설치하고 원래 vSphere 클러스터에 추가합니다.

오류 코드

코드 설명
0001, 0002, 0003, 0004 시스템 상태 또는 구성이 잘못되었습니다. 마이그레이션에는 다음과 같은 주요 문제가 있습니다.
  • 호스트 마이그레이션이 이미 완료되었지만 API 재생이 수행되지 않습니다.
  • VIO가 이미 NSX에서 실행 중이지만 API 재생 또는 마이그레이션이 수행되지 않습니다.
  • NSX상의 호스트와 NSX에서 VIO가 실행되고 있지만 API 재생이 수행되지 않습니다.
0101 API 재생을 위해 실행 중이어야 하는 임시 Neutron 서버에 대한 구성 파일을 생성할 수 없습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오. 이 오류는 일반적으로 구성 파일 변경으로 근본 원인을 해결할 수 있습니다.
1001 NSX 마이그레이션 조정기가 실행되고 있지 않습니다. 이 오류를 해결하려면 migrator.conf.json에 지정된 첫 번째 노드에서 마이그레이션 조정기 서비스를 시작합니다. HA VIP를 사용하는 경우 활성 관리자 인스턴스가 마이그레이션 조정기가 실행되고 있는 인스턴스인지 확인합니다. 마이그레이션을 위해 특정 NSX Manager를 사용하거나 클라이언트 측 로드 밸런싱을 사용하는 것이 좋습니다. NSX Manager FQDN은 마이그레이션이 완료되면 변경할 수 있습니다.
1002 NSX 버전이 올바르지 않습니다. NSX 3.2.0 이상이 필요합니다.
1003 NSX 버전을 검색할 수 없습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오.
1004 계산 관리자 유효성 검사에 실패했습니다. NSX에 하나 이상의 계산 관리자가 정의되어 있어야 합니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오.
1005 NSX에서 정리를 실행해야 합니다. NSX 설정에는 VIO에서 생성된 리소스가 이미 있습니다. migrator.conf.json에서 rollbackTrue로 설정되어 있는지 확인합니다.
1006 NSX 마이그레이션을 시작할 수 없습니다. 이것은 이전 마이그레이션 시도의 결과일 수 있습니다. 진행 중인 마이그레이션을 롤백하고 다시 시도하십시오.
1007 North-South 단독 마이그레이션을 위해 NSX를 준비할 수 없습니다. NSX에서 North-South 단독 마이그레이션을 설정하는 동안 오류가 발생했습니다. "Edge 매핑" 파일을 생성하는 동안 발생한 오류이거나 마이그레이션 계획을 준비하는 동안 발생한 오류일 수 있습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오.
1008 마이그레이터 포드가 NSX Edge 장치에서 인터페이스를 종료할 수 없습니다. North-South 단독 마이그레이션에 필요한 단계입니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오. 이 문제를 해결하려면 migrator.conf.json에서 edge_migration_interfaces_downFalse로 설정하고 North-South 단독 마이그레이션을 시작하기 전에 Edge 인터페이스가 종료되었거나 연결이 끊어졌는지 수동으로 확인합니다.
1009 다운링크 없이 라우터를 마이그레이션할 수 없습니다. 다운링크가 없는 neutron 라우터가 있습니다. 마이그레이션할 수 없습니다. 작업자가 이 오류가 실수로 반환된 것으로 판단하면 migrator.conf.json에서 advanced_router_validationFalse로 설정하여 건너뛸 수 있습니다.
1100 마이그레이션 계획에서 모드가 잘못되었습니다. NSX 마이그레이션 조정기가 이미 다른 계획으로 구성되었습니다. 이것은 이전 마이그레이션 시도의 결과일 수 있습니다. 진행 중인 마이그레이션을 롤백하고 다시 시도하십시오.
1101 NSX 마이그레이션이 구성에서 승인되지 않았습니다. edge_migration 및/또는 host_migrationmigration.conf.json에서 True로 설정되었는지 확인합니다.
1105 게이트웨이가 없는 라우터는 패치할 수 없습니다. 게이트웨이가 없는 Neutron 라우터를 NSX로 원활하게 마이그레이션할 수 있는지 확인하는 프로세스가 실패했습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오. advanced_router_validation을 False로 설정하여 이 프로세스를 건너뜁니다. 그러나 NSX에서 North-South 단독 마이그레이션을 시작하기 전에 각 Tier-1 게이트웨이가 Tier-0 라우터에 연결되었는지 확인하는 것은 운영자의 책임입니다.
1106 게이트웨이가 없는 라우터는 복원할 수 없습니다. North-South 단독 마이그레이션 후 게이트웨이 없이 Neutron 라우터를 복원하는 프로세스가 실패했습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오. advanced_router_validationFalse로 설정하면 이 프로세스를 건너뜁니다. 그러나 게이트웨이가 없는 Neutron 라우터의 경우 Tier-1 게이트웨이와 Tier-0의 연결이 끊어지도록 하는 것은 운영자의 책임입니다.
1110 NSX로의 North-South 단독 마이그레이션을 시작할 수 없습니다. 마이그레이션 계획을 적용하는 동안 오류가 발생했습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오.
1114 Edge 장치에 대한 VM이 누락되었습니다. 일부 Edge 장치에는 연결된 VM 장치가 없습니다. Edge가 제거되도록 해당 neutron 라우터를 제거합니다.
1115 호스트 마이그레이션을 시작하기 전에 NSX-V Edge VM의 전원을 끌 수 없습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오. VM의 전원을 수동으로 끄는 것이 좋을 수 있습니다. 이 작업은 호스트 마이그레이션의 런타임 단계 동안 문제를 방지하는 데 필요합니다. 적어도 DHCP 및 메타데이터 프록시 Edge 장치의 전원을 꺼야 합니다.
1120 호스트 마이그레이션을 시작할 수 없습니다. 마이그레이션 계획을 적용하는 동안 오류가 발생했습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류 세부 정보를 확인하십시오.
1130, 1131 마이그레이션을 완료할 수 없습니다. 마이그레이션을 완료됨으로 설정하는 동안 오류가 발생했습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오.
1132 마이그레이션 동안 시간이 초과되었습니다. North-South 단독 마이그레이션의 시간 초과는 12시간입니다. 호스트 마이그레이션에 대한 시간 초과는 48시간입니다. 마이그레이터의 작업 포드가 마이그레이션이 시작되기를 기다리는 동안에는 시간이 초과되었습니다. 운영자는 다시 시작하기만 하면 됩니다.
2001 VIO 제어부에서 Neutron CR을 검색할 수 없습니다. 이 문제는 권한 부여 문제이거나 VIO의 Kubernetes 제어부에 연결하는 데 문제가 있기 때문일 수 있습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오.
2002 Neutron CR을 구문 분석할 수 없습니다. 'spec' 섹션에 'manifests' 특성이 있는지 확인합니다.
2003 neutron CR의 컨텐츠가 잘못되었습니다. NSX-V 플러그인이 사용하도록 설정되어 있는지와 NSX 정책 플러그인을 포함한 다른 모든 플러그인이 사용하지 않도록 설정되어 있는지 확인합니다.
2004 neutron CR을 업데이트할 수 없습니다. Neutron CR을 업데이트하는 동안 오류가 발생했습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오. Neutron CR을 업데이트하거나, NSX 암호에 대한 VIOSecret 인스턴스를 생성하거나 NSX Manager에 대한 리소스를 생성하는 동안 오류가 발생할 수 있습니다. 이러한 리소스가 이전에 실패한 일부 시도에서 부실 상태로 남아 있지 않은지 확인합니다.
2011 정책을 사용하여 NSX용 데이터베이스를 생성하는 동안 오류가 발생했습니다. SQL 오류일 수 있습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오.
2012 'neutron_policy' 데이터베이스의 이름을 'neutron'으로 바꾸는 동안 오류가 발생했습니다. SQL 오류일 수 있습니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오.
2111 API 재생에 사용되는 임시 neutron 서버를 시작할 수 없습니다. 임시 Neutron 서버를 잘못 구성한 것일 수 있습니다. /var/log/neutron-server-tmp.log에서 오류를 확인하십시오.
2112 API 재생이 실패했습니다. NSX에서 리소스를 생성하는 동안 오류가 발생했음을 나타냅니다. 마이그레이터 작업의 포드 로그 또는 /var/log/migration/vio-v2t.log에서 오류를 확인하십시오. 로그에서 생성하지 못한 리소스가 있는지 확인합니다. 그런 다음 /var/log/neutron-server-tmp.log에서 실패 세부 정보를 확인하십시오. 일반적인 실패 이유:
  • 임시 Neutron 서버 구성에서 전송 영역이 잘못됨
  • Openstack 이외 네트워크에서 일부 Openstack 네트워크와 동일한 VLAN을 사용함
  • Edge 클러스터에서 로드 밸런서에 대한 슬롯이 부족함