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. 고급 마이그레이션 워크플로 링크 복사링크가 클립보드에 복사되었습니다!
상위 수준 워크플로는 사용자 관점에서 마이그레이션 프로세스를 보여줍니다.
- 소스 공급자, 대상 공급자, 네트워크 매핑 및 스토리지 매핑을 생성합니다.
다음 리소스가 포함된
Plan
CR(사용자 정의 리소스)을 생성합니다.- 소스 제공자
- 대상 공급자( MTV가 대상 클러스터에 설치되지 않은 경우)
- 네트워크 매핑
- 스토리지 매핑
- 하나 이상의 VM(가상 머신)
Plan
CR을 참조하는Migration
CR을 생성하여 마이그레이션 계획을 실행합니다.어떠한 이유로든 모든 VM을 마이그레이션할 수 없는 경우 모든 VM이 마이그레이션될 때까지 동일한
Plan
CR에 대해 여러 개의Migration
CR을 생성할 수 있습니다.-
Plan
CR의 각 VM에 대해Migration Controller
서비스는Migration
CR의 VM 마이그레이션 진행 상황을 기록합니다. Plan
CR의 각 VM의 데이터 전송이 완료되면Migration Controller
서비스에서VirtualMachine
CR을 생성합니다.모든 VM이 마이그레이션되면
Migration Controller
서비스는Plan
CR의 상태를Completed
로 업데이트합니다. 각 소스 VM의 전원 상태는 마이그레이션 후 유지됩니다.
16.3.3. 자세한 마이그레이션 워크플로 링크 복사링크가 클립보드에 복사되었습니다!
자세한 마이그레이션 워크플로를 사용하여 마이그레이션 실패 문제를 해결할 수 있습니다.
워크플로우는 다음 단계를 설명합니다.
원격 OpenShift 클러스터의 웜 마이그레이션 또는 마이그레이션:
마이그레이션
계획을 실행하기 위해 마이그레이션 CR(사용자 정의 리소스)을 생성하면Migration Controller
서비스에서 각 소스 VM 디스크에 대한DataVolume
CR을 생성합니다.각 VM 디스크의 경우:
-
CDI(Containerized Data Importer) 컨트롤러
서비스는DataVolume
CR에 지정된 매개변수를 기반으로 PVC(영구 볼륨 클레임)를 생성합니다. -
StorageClass
에 동적 프로비저너가 있는 경우StorageClass
프로비전 프로그램에 의해 PV(영구 볼륨)가 동적으로 프로비저닝됩니다. -
CDI 컨트롤러
서비스는가져오기
Pod를 생성합니다. 가져오기
Pod는 VM 디스크를 PV로 스트리밍합니다.VM 디스크가 전송된 후 다음을 수행합니다.
Migration Controller
서비스는 VMWare에서 가져올 때 연결된 PVC를 사용하여변환
Pod를 생성합니다.변환
Pod는virt-v2v
를 실행하여 대상 VM의 PVC에 장치 드라이버를 설치하고 구성합니다.-
Migration Controller
서비스는 PVC에 연결된 각 소스 VM(가상 머신)에 대한VirtualMachine
CR을 생성합니다. VM이 소스 환경에서 실행된 경우
마이그레이션
컨트롤러는 VM의 전원을 켜면KubeVirt 컨트롤러
서비스에서virt-launcher
Pod 및VirtualMachineInstance
CR을 생성합니다.virt-launcher
Pod는 VM 디스크로 연결된 PVC를 사용하여QEMU-KVM
을 실행합니다.
RHV 또는 OpenStack에서 로컬 OpenShift 클러스터로 콜드 마이그레이션:
마이그레이션 계획을 실행하기 위해
Migration
Controller(사용자 정의 리소스)를 생성할 때Migration Controller
서비스는PersistentVolumeClaim
CR 각 소스 VM 디스크에 대해 생성되며 소스가 RHV일 때OvirtVolumePopulator
CR 또는 소스가 OpenStack인 경우OpenstackVolumePopulator
CR을 생성합니다.각 VM 디스크의 경우:
-
Populat
or 컨트롤러
서비스는 임시 PVC(영구 볼륨 클레임)를 생성합니다. StorageClass
에 동적 프로비저너가 있는 경우StorageClass
프로비전 프로그램에 의해 PV(영구 볼륨)가 동적으로 프로비저닝됩니다.-
Migration Controller
서비스는 모든 PVC 를 바인딩할 더미 Pod를 생성합니다. Pod 이름에pvcinit
가 포함되어 있습니다.
-
-
Populator Controller
서비스는 팝업 Pod를
생성합니다. 팝업 Pod
는 디스크 데이터를 PV로 전송합니다.VM 디스크가 전송된 후 다음을 수행합니다.
- 임시 PVC가 삭제되고 초기 PVC는 데이터와 함께 PV를 가리킵니다.
-
Migration Controller
서비스는 PVC에 연결된 각 소스 VM(가상 머신)에 대한VirtualMachine
CR을 생성합니다. VM이 소스 환경에서 실행된 경우
마이그레이션
컨트롤러는 VM의 전원을 켜면KubeVirt 컨트롤러
서비스에서virt-launcher
Pod 및VirtualMachineInstance
CR을 생성합니다.virt-launcher
Pod는 VM 디스크로 연결된 PVC를 사용하여QEMU-KVM
을 실행합니다.
VMWare에서 로컬 OpenShift 클러스터로 콜드 마이그레이션:
마이그레이션
계획을 실행하기 위해 마이그레이션 CR(사용자 정의 리소스)을 생성하면Migration Controller
서비스에서 각 소스 VM 디스크에 대한DataVolume
CR을 생성합니다.각 VM 디스크의 경우:
-
CDI(Containerized Data Importer) 컨트롤러
서비스는DataVolume
CR에 지정된 매개변수를 기반으로 빈 PVC(영구 볼륨 클레임)를 생성합니다. -
StorageClass
에 동적 프로비저너가 있는 경우StorageClass
프로비전 프로그램에 의해 PV(영구 볼륨)가 동적으로 프로비저닝됩니다.
모든 VM 디스크의 경우:
-
Migration Controller
서비스는 모든 PVC 를 바인딩할 더미 Pod를 생성합니다. Pod 이름에pvcinit
가 포함되어 있습니다. -
Migration Controller
서비스는 모든 PVC에 대한변환
Pod를 생성합니다. 변환
Pod는virt-v2v
를 실행하여 VM을 KVM 하이퍼바이저로 변환하고 디스크의 데이터를 해당 PV로 전송합니다.VM 디스크가 전송된 후 다음을 수행합니다.
-
Migration Controller
서비스는 PVC에 연결된 각 소스 VM(가상 머신)에 대한VirtualMachine
CR을 생성합니다. 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
에는 게스트 운영 체제 자체에 대한 권한 또는 액세스 인증 정보가 필요하지 않습니다.