10.3. 아키텍처


이 섹션에서는 MTV 사용자 지정 리소스, 서비스 및 워크플로우에 대해 설명합니다.

10.3.1. MTV 사용자 정의 리소스 및 서비스

MTV(Migration Toolkit for Virtualization)는 Red Hat OpenShift Operator로 제공됩니다. 다음 CR(사용자 정의 리소스) 및 서비스를 생성하고 관리합니다.

MTV 사용자 정의 리소스

  • 공급자 CR은 MTV가 소스 및 대상 공급자에 연결하고 상호 작용할 수 있는 속성을 저장합니다.
  • NetworkMapping CR은 소스 및 대상 공급자의 네트워크를 매핑합니다.
  • StorageMapping CR은 소스 및 대상 공급자의 스토리지를 매핑합니다.
  • plan CR에는 동일한 마이그레이션 매개변수 및 관련 네트워크 및 스토리지 매핑이 있는 VM 목록이 포함되어 있습니다.
  • Migration CR은 마이그레이션 계획을 실행합니다.

    마이그레이션 계획당 하나의 마이그레이션 CR만 지정된 시간에 실행할 수 있습니다. 단일 계획 CR에 대해 여러 마이그레이션 CR을 생성할 수 있습니다.

MTV 서비스

  • 인벤토리 서비스는 다음 작업을 수행합니다.

    • 소스 및 대상 공급자에 연결합니다.
    • 매핑 및 계획을 위한 로컬 인벤토리를 유지 관리합니다.
    • VM 구성을 저장합니다.
    • VM 구성 변경이 감지되면 유효성 검사 서비스를 실행합니다.
  • 유효성 검사 서비스는 규칙을 적용하여 마이그레이션을 위한 VM의 적합성을 확인합니다.
  • Migration Controller 서비스는 마이그레이션을 오케스트레이션합니다.

    마이그레이션 계획을 생성할 때 Migration Controller 서비스는 계획의 유효성을 검사하고 status 레이블을 추가합니다. 계획 검증에 실패하면 계획 상태가 Not ready 이고 마이그레이션을 수행하는 데 계획을 사용할 수 없습니다. 계획이 검증을 통과하면 계획 상태가 Ready 이며 마이그레이션을 수행하는 데 사용할 수 있습니다. 마이그레이션에 성공하면 Migration Controller 서비스가 계획 상태를 Completed 로 변경합니다.

  • Populator Controller 서비스는 Volume Populators를 사용하여 디스크 전송을 오케스트레이션합니다.
  • Kubevirt 컨트롤러CDI(Containerized Data Import) 컨트롤러 서비스는 대부분의 기술 작업을 처리합니다.

10.3.2. 고급 마이그레이션 워크플로

상위 수준 워크플로는 사용자 관점에서 마이그레이션 프로세스를 보여줍니다.

  1. 소스 공급자, 대상 공급자, 네트워크 매핑 및 스토리지 매핑을 생성합니다.
  2. 다음 리소스가 포함된 Plan CR(사용자 정의 리소스)을 생성합니다.

    • 소스 제공자
    • 대상 공급자( MTV가 대상 클러스터에 설치되지 않은 경우)
    • 네트워크 매핑
    • 스토리지 매핑
    • 하나 이상의 VM(가상 머신)
  3. Plan CR을 참조하는 Migration CR을 생성하여 마이그레이션 계획을 실행합니다.

    어떠한 이유로든 모든 VM을 마이그레이션할 수 없는 경우 모든 VM이 마이그레이션될 때까지 동일한 Plan CR에 대해 여러 개의 Migration CR을 생성할 수 있습니다.

  4. Plan CR의 각 VM에 대해 Migration Controller 서비스는 Migration CR의 VM 마이그레이션 진행 상황을 기록합니다.
  5. Plan CR의 각 VM의 데이터 전송이 완료되면 Migration Controller 서비스에서 VirtualMachine CR을 생성합니다.

    모든 VM이 마이그레이션되면 Migration Controller 서비스는 Plan CR의 상태를 Completed 로 업데이트합니다. 각 소스 VM의 전원 상태는 마이그레이션 후 유지됩니다.

10.3.3. 자세한 마이그레이션 워크플로

자세한 마이그레이션 워크플로를 사용하여 마이그레이션 실패 문제를 해결할 수 있습니다.

워크플로우는 다음 단계를 설명합니다.

원격 OpenShift 클러스터의 웜 마이그레이션 또는 마이그레이션:

  1. 마이그레이션 계획을 실행하기 위해 마이그레이션 CR(사용자 정의 리소스)을 생성하면 Migration Controller 서비스에서 각 소스 VM 디스크에 대한 DataVolume CR을 생성합니다.

    각 VM 디스크의 경우:

  2. CDI(Containerized Data Importer) 컨트롤러 서비스는 DataVolume CR에 지정된 매개변수를 기반으로 PVC(영구 볼륨 클레임)를 생성합니다.


  3. StorageClass 에 동적 프로비저너가 있는 경우 StorageClass 프로비전 프로그램에 의해 PV(영구 볼륨)가 동적으로 프로비저닝됩니다.
  4. CDI 컨트롤러 서비스는 가져오기 Pod를 생성합니다.
  5. 가져오기 Pod는 VM 디스크를 PV로 스트리밍합니다.

    VM 디스크가 전송된 후 다음을 수행합니다.

  6. Migration Controller 서비스는 VMWare에서 가져올 때 연결된 PVC를 사용하여 변환 Pod를 생성합니다.

    변환 Pod는 virt-v2v 를 실행하여 대상 VM의 PVC에 장치 드라이버를 설치하고 구성합니다.

  7. Migration Controller 서비스는 PVC에 연결된 각 소스 VM(가상 머신)에 대한 VirtualMachine CR을 생성합니다.
  8. VM이 소스 환경에서 실행된 경우 마이그레이션 컨트롤러는 VM의 전원을 켜면 KubeVirt 컨트롤러 서비스에서 virt-launcher Pod 및 VirtualMachineInstance CR을 생성합니다.

    virt-launcher Pod는 VM 디스크로 연결된 PVC를 사용하여 QEMU-KVM 을 실행합니다.

RHV 또는 OpenStack에서 로컬 OpenShift 클러스터로 콜드 마이그레이션:

  1. 마이그레이션 계획을 실행하기 위해 Migration Controller(사용자 정의 리소스)를 생성할 때 Migration Controller 서비스는 PersistentVolumeClaim CR 각 소스 VM 디스크에 대해 생성되며 소스가 RHV일 때 OvirtVolumePopulator CR 또는 소스가 OpenStack인 경우 OpenstackVolumePopulator CR을 생성합니다.

    각 VM 디스크의 경우:

  2. Populat or 컨트롤러 서비스는 임시 PVC(영구 볼륨 클레임)를 생성합니다.
  3. StorageClass 에 동적 프로비저너가 있는 경우 StorageClass 프로비전 프로그램에 의해 PV(영구 볼륨)가 동적으로 프로비저닝됩니다.

    • Migration Controller 서비스는 모든 PVC 를 바인딩할 더미 Pod를 생성합니다. Pod 이름에 pvcinit 가 포함되어 있습니다.
  4. Populator Controller 서비스는 팝업 Pod 생성합니다.
  5. 팝업 Pod 는 디스크 데이터를 PV로 전송합니다.

    VM 디스크가 전송된 후 다음을 수행합니다.

  6. 임시 PVC가 삭제되고 초기 PVC는 데이터와 함께 PV를 가리킵니다.
  7. Migration Controller 서비스는 PVC에 연결된 각 소스 VM(가상 머신)에 대한 VirtualMachine CR을 생성합니다.
  8. VM이 소스 환경에서 실행된 경우 마이그레이션 컨트롤러는 VM의 전원을 켜면 KubeVirt 컨트롤러 서비스에서 virt-launcher Pod 및 VirtualMachineInstance CR을 생성합니다.

    virt-launcher Pod는 VM 디스크로 연결된 PVC를 사용하여 QEMU-KVM 을 실행합니다.

VMWare에서 로컬 OpenShift 클러스터로 콜드 마이그레이션:

  1. 마이그레이션 계획을 실행하기 위해 마이그레이션 CR(사용자 정의 리소스)을 생성하면 Migration Controller 서비스에서 각 소스 VM 디스크에 대한 DataVolume CR을 생성합니다.

    각 VM 디스크의 경우:

  2. CDI(Containerized Data Importer) 컨트롤러 서비스는 DataVolume CR에 지정된 매개변수를 기반으로 빈 PVC(영구 볼륨 클레임)를 생성합니다.


  3. StorageClass 에 동적 프로비저너가 있는 경우 StorageClass 프로비전 프로그램에 의해 PV(영구 볼륨)가 동적으로 프로비저닝됩니다.

모든 VM 디스크의 경우:

  1. Migration Controller 서비스는 모든 PVC 를 바인딩할 더미 Pod를 생성합니다. Pod 이름에 pvcinit 가 포함되어 있습니다.
  2. Migration Controller 서비스는 모든 PVC에 대한 변환 Pod를 생성합니다.
  3. 변환 Pod는 virt-v2v 를 실행하여 VM을 KVM 하이퍼바이저로 변환하고 디스크의 데이터를 해당 PV로 전송합니다.

    VM 디스크가 전송된 후 다음을 수행합니다.

  4. Migration Controller 서비스는 PVC에 연결된 각 소스 VM(가상 머신)에 대한 VirtualMachine CR을 생성합니다.
  5. VM이 소스 환경에서 실행된 경우 마이그레이션 컨트롤러는 VM의 전원을 켜면 KubeVirt 컨트롤러 서비스에서 virt-launcher Pod 및 VirtualMachineInstance CR을 생성합니다.

    virt-launcher Pod는 VM 디스크로 연결된 PVC를 사용하여 QEMU-KVM 을 실행합니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat