9.3. 아키텍처
이 섹션에서는 MTV 사용자 지정 리소스, 서비스 및 워크플로우에 대해 설명합니다.
9.3.1. MTV 사용자 정의 리소스 및 서비스
MCO(Migration Toolkit for Virtualization)는 OpenShift Container Platform Operator로 제공됩니다. 다음 CR(사용자 정의 리소스) 및 서비스를 생성하고 관리합니다.
MTV 사용자 정의 리소스
-
공급자
CR은 MTV가 소스 및 대상 공급자에 연결하여 상호 작용할 수 있는 속성을 저장합니다. -
NetworkMapping
CR은 소스 및 대상 공급자의 네트워크를 매핑합니다. -
StorageMapping
CR은 소스 및 대상 공급자의 스토리지를 매핑합니다. -
provisioner
CR은 지원되는 볼륨 및 액세스 모드와 같이 스토리지 프로비저너의 구성을 저장합니다. -
plan
CR에는 동일한 마이그레이션 매개변수 및 관련 네트워크 및 스토리지 매핑이 있는 VM 목록이 포함되어 있습니다. Migration
CR은 마이그레이션 계획을 실행합니다.마이그레이션 계획당 하나의
Migration
CR만 한 번에 실행할 수 있습니다. 단일계획
CR에 대해 여러마이그레이션
CR을 생성할 수 있습니다.
MTV 서비스
인벤토리
서비스는 다음 작업을 수행합니다.- 소스 및 대상 공급자에 연결합니다.
- 매핑 및 계획을 위해 로컬 인벤토리를 유지 관리합니다.
- VM 구성을 저장합니다.
-
VM 구성 변경이 감지된 경우
유효성 검사
서비스를 실행합니다.
-
유효성 검사
서비스는 규칙을 적용하여 마이그레이션에 대한 VM의 적합성을 확인합니다. 사용자 인터페이스
서비스는 다음 작업을 수행합니다.- MTV CR을 생성하고 구성할 수 있습니다.
- CR 상태 및 마이그레이션 진행 상황을 표시합니다.
Migration Controller
서비스는 마이그레이션을 오케스트레이션합니다.마이그레이션 계획을 생성할 때
Migration Controller
서비스는 계획의 유효성을 검사하고 상태 레이블을 추가합니다. 계획 검증에 실패하면 계획 상태가준비되지 않으며
계획을 사용하여 마이그레이션을 수행할 수 없습니다. 계획에서 검증을 통과하면 계획 상태가Ready
이며 마이그레이션을 수행하는 데 사용할 수 있습니다. 마이그레이션이 성공하면마이그레이션 컨트롤러
서비스는 계획 상태를Completed
로 변경합니다.-
Kubevirt 컨트롤러
및CDI(Containerized Data Import) 컨트롤러
서비스는 대부분의 기술 작업을 처리합니다.
9.3.2. 고급 마이그레이션 워크플로
상위 수준 워크플로는 사용자의 관점에서 마이그레이션 프로세스를 보여줍니다.
- 소스 공급자, 대상 공급자, 네트워크 매핑 및 스토리지 매핑을 생성합니다.
다음 리소스를 포함하는
Plan
CR(사용자 정의 리소스)을 생성합니다.- 소스 제공자
- 대상 클러스터에 MTV가 설치되어 있지 않은 경우 대상 공급자
- 네트워크 매핑
- 스토리지 매핑
- 하나 이상의 VM(가상 머신)
Plan
CR을 참조하는마이그레이션
CR을 생성하여 마이그레이션 계획을 실행합니다.어떠한 이유로든 모든 VM을 마이그레이션할 수 없는 경우 모든 VM이 마이그레이션될 때까지 동일한
Plan
CR에 대해 여러 개의Migration
CR을 생성할 수 있습니다.Plan
CR의 각 VM에 대해Migration Controller
서비스는VirtualMachine
CR을 생성하고Migration
CR에서 VM 마이그레이션 진행 상황을 기록합니다.모든 VM이 마이그레이션되면
Migration Controller
서비스가Plan
CR의 상태를Completed
로 업데이트합니다. 마이그레이션 후 각 소스 VM의 전원 상태가 유지됩니다.
9.3.3. 자세한 마이그레이션 워크플로
자세한 마이그레이션 워크플로를 사용하여 마이그레이션 실패 문제를 해결할 수 있습니다.
워크플로우는 다음 단계를 설명합니다.
마이그레이션 계획을 실행하기 위해
Migration
CR(사용자 정의 리소스)을 생성할 때Migration Controller
서비스는 각 소스 VM 디스크에 대한 각 소스 가상 머신(VM) 및DataVolume
CR에 대한VirtualMachine
CR을 생성합니다.각 VM 디스크에 대해 다음을 수행합니다.
-
CDI(Containerized Data Importer) 컨트롤러
서비스는DataVolume
CR에 지정된 매개변수를 기반으로 PVC(영구 볼륨 클레임)를 생성합니다. -
StorageClass
에 동적 프로비저너가 있는 경우 PV(영구 볼륨)는StorageClass
프로비전 프로그램에 의해 동적으로 프로비저닝됩니다. -
CDI 컨트롤러
서비스는가져오기
Pod를 생성합니다. 가져오기
Pod는 VM 디스크를 PV로 스트리밍합니다.VM 디스크가 전송된 후 다음을 수행합니다.
Migration Controller
서비스는 PVC에 연결된변환
Pod를 생성합니다.변환
Pod는 대상 VM의 PVC에 장치 드라이버를 설치하고 구성하는virt-v2v
를 실행합니다.대상 VM의 전원이 켜지면
KubeVirt 컨트롤러
서비스는virt-launcher
Pod 및VirtualMachineInstance
CR을 생성합니다.virt-launcher
Pod는 VM 디스크로 연결된 PVC와 함께QEMU-KVM
을 실행합니다.