16.3. 아키텍처


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

16.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) 컨트롤러 서비스는 대부분의 기술 작업을 처리합니다.

16.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의 전원 상태는 마이그레이션 후 유지됩니다.

16.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 을 실행합니다.

16.3.4. MTV에서 virt-v2v 툴을 사용하는 방법

MTV(Migration Toolkit for Virtualization)는 virt-v2v 툴을 사용하여 VM의 디스크 이미지를 OpenShift Virtualization과 호환되는 형식으로 변환합니다. 이 툴을 사용하면 변환된 가상 머신에서 반가상화 VirtIO 드라이버 활성화 및 QEMU 게스트 에이전트 설치와 같이 VM을 OpenShift Virtualization에서 자동으로 수행하는 데 필요한 작업을 자동으로 수행하기 때문에 마이그레이션을 더 쉽게 수행할 수 있습니다.

virt-v2v 는 RHEL(Red Hat Enterprise Linux) 버전 7 이상에 포함되어 있습니다.

16.3.4.1. MTV 마이그레이션에서 virt-v2v의 주요 기능

마이그레이션 중에 MTV는 virt-v2v 를 사용하여 VM에 대한 메타데이터를 수집하고, VM 디스크에 필요한 변경을 수행하고, VM이 포함된 디스크를 OpenShift Virtualization에 복사합니다.

virt-v2v 는 VM 디스크를 다음과 같이 변경하여 마이그레이션을 준비합니다.

  • 추가 사항:

    • VirtIO 드라이버(예: 네트워크 또는 디스크 드라이버)
    • 하이퍼바이저별 툴 또는 에이전트 준비(예: QEMU 게스트 에이전트 설치).
    • 부팅 구성 수정 (예: 부트 로더 또는 부팅 항목).
  • 제거:

    • 불필요한 또는 이전 하이퍼바이저별 파일(예: VMware 툴 또는 Cryostat 추가)
    • 예를 들어 이전 네트워크 드라이버 구성(예: VMware별 NIC 드라이버 제거)
    • 대상 시스템과 호환되지 않는 구성 설정(예: 이전 부팅 설정)

VMware 또는 OVA 파일에서 마이그레이션하는 경우 virt-v2v 는 마이그레이션 중에 또는 마이그레이션 후 VM을 처음 재부팅하는 동안 IP 주소를 설정합니다.

참고

MTV를 사용하여 마이그레이션 전후에 사전 정의된 Ansible 후크를 실행할 수도 있습니다. 자세한 내용은 MTV 마이그레이션 계획에 후크 추가를 참조하십시오.

이러한 후크는 virt-v2v 를 사용할 필요가 없습니다.

16.3.4.2. 파일 사용자 정의, 제거 및 설치

MTV는 virt-v2v 를 사용하여 변환 중에 다음 동작과 같이 추가 게스트 사용자 정의를 수행합니다.

  • IP 주소를 유지하기 위한 사용자 정의
  • 드라이브 문자를 유지하기 위한 사용자 정의
참고

RHEL 기반 게스트의 경우 virt-v2v 는 Red Hat 레지스트리에서 게스트 에이전트를 설치하려고 합니다. 분리된 환경에서 마이그레이션이 실행되는 경우 설치 프로그램이 실패하고 후크 또는 기타 자동화를 사용하여 게스트 에이전트를 설치해야 합니다.

자세한 내용은 도움말 참조 페이지를 참조하십시오.

16.3.4.3. 권한 및 virt-v2v

virt-v2v 는 실행 중인 VM에 대해 실행되지 않고 VM의 디스크에만 실행되기 때문에 virt-v2v 에는 게스트 운영 체제 자체에 대한 권한 또는 액세스 인증 정보가 필요하지 않습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat