Skip to main content
NetApp virtualization solutions
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

VMware ESXi에서 Red Hat OpenShift Virtualization으로 VM 마이그레이션

기여자 kevin-hoke netapp-nimo

Shift Toolkit을 사용하여 VM을 준비하고, 디스크 형식을 변환하고, 대상 환경을 구성하여 VMware ESXi에서 Red Hat OpenShift Virtualization으로 VM을 마이그레이션합니다.

Shift Toolkit은 대상 환경에서 디스크 포맷 변환과 네트워크 재구성을 통해 가상화 플랫폼 간에 VM 마이그레이션을 가능하게 합니다.

시작하기 전에

마이그레이션을 시작하기 전에 다음 전제 조건이 충족되는지 확인하세요.

Red Hat OpenShift Virtualization 요구 사항
  • 다음 연산자가 설치된 OpenShift 클러스터 엔드포인트:

    • OpenShift 가상화 운영자

    • NetApp Trident CSI 드라이버

    • 뉴멕시코주

  • 적절한 백엔드 및 스토리지 클래스로 구성된 NetApp Trident CSI

  • 적절한 VLAN으로 구성된 NodeNetworkConfigurationPolicy 및 NetworkAttachmentDefinitions(NAD)

  • OpenShift 클러스터는 현재 호스트 파일 항목으로 네트워크에 접속 가능합니다.

  • 클러스터의 관리자 수준 권한

  • Kubeconfig 파일이 다운로드되었습니다

VMware 요구 사항
  • VMDK는 여러 가지 방식으로 구성할 수 있습니다. 모든 VMDK를 단일 NFSv3 볼륨에 저장할 수 있으며(Storage vMotion 불필요), 각 VMDK를 개별 볼륨에 배치하거나, 여러 VMDK를 볼륨 내의 qtree 구조로 구성할 수 있습니다.

    참고 Shift Toolkit은 레이아웃을 자동으로 감지하고 적절한 복제 방법과 NAS 스토리지 드라이버를 선택합니다.
    참고 VMDK 파일이 qtree 내에 배치되면 Shift Toolkit은 ONTAP-NAS-economy 드라이버를 사용합니다.
  • VMware 도구는 게스트 VM에서 실행됩니다.

  • 마이그레이션할 VM은 준비를 위해 RUNNING 상태입니다.

  • 마이그레이션을 트리거하기 전에 VM의 전원을 꺼야 합니다.

  • VMware 도구 제거는 VM이 전원이 켜지면 대상 하이퍼바이저에서 수행됩니다.

Trident 노하우 및 매핑
  • ONTAP-NAS: VMDK 파일들을 하나의 볼륨에 모두 저장하거나, 각 VMDK 파일을 개별 볼륨에 저장할 수 있습니다. VM 선택은 데이터스토어 수준 또는 VM 수준에서 가능합니다.

  • ONTAP-NAS-Economy: VMDK 파일은 단일 볼륨에 있어야 하며, 볼륨 이름은 다음 명명 규칙을 따라야 합니다: trident_qtree_pool_<storage-prefix>_<10 random characters>. 리소스 그룹 내 VM 선택은 데이터스토어 수준에서만 가능합니다.

    참고 ONTAP-NAS-Economy의 경우, 위에 명시된 명명 규칙을 따르는 볼륨이 이미 존재해야 하며 VMware vCenter의 데이터스토어로 사용되어야 합니다. 즉, VM을 Storage vMotioned를 통해 이 특정 데이터스토어로 이동시키거나 기존 데이터스토어의 이름을 명명 규칙에 맞게 변경해야 합니다: trident_qtree_pool_<storage-prefix>_<10 random characters>.
    참고 ONTAP-NAS-Economy의 경우 Trident 백엔드 구성(TBC)에서 매개변수 `Deny New Volume Pools`를 `true`로 설정해야 합니다. 사용되는 스토리지 클래스는 storagePools를 `tbc name: <aggr name where the trident_qtree_pool_<storage-prefix>_<10 random characters> resides>`로 제한해야 합니다.
    ONTAP-NAS-Economy 드라이버용 TBC 구성 예시
    apiVersion: v1
    kind: Secret
    metadata:
    	name: nas-eco-data-1172-secret
    	namespace: trident
    type: Opaque
    stringData:
    	username: <svm-admin-username>
    	password: <svm-admin-password>
    ---
    apiVersion: trident.netapp.io/v1
    kind: TridentBackendConfig
    metadata:
    	name: nas-eco-data-1172
    	namespace: trident
    spec:
    	backendName: nas-eco-data-1172
    	credentials:
    		name: nas-eco-data-1172-secret
    	dataLIF: "192.168.1.100"
    	denyNewVolumePools: "False"
    	managementLIF: "192.168.1.50"
    	storageDriverName: ontap-nas-economy
    	svm: data_1172
    	version: 1
    참고 denyNewVolumePools 매개변수는 초기 PVC 생성의 일부로 trident_qtree_pool_<storage-prefix>_<10 random characters>`이(가) 생성된 직후에 `true(으)로 설정되어야 합니다. 이 값을 true(으)로 설정하면 Trident가 qtree 기반 PVC를 배치하는 데 기존 qtree 풀을 사용하도록 보장합니다.

    TBC는 다음 명령줄을 사용하여 패치할 수 있습니다.

    oc patch tbc nas-eco-data-1172 -n trident --type=merge -p '{"spec":{"denyNewVolumePools":"true"}}'
    스토리지 클래스용 YAML 예시
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
    	name: nas-eco-data-1172
    	annotations:
    		storageclass.kubernetes.io/is-default-class: "true"
    provisioner: csi.trident.netapp.io
    parameters:
    	backendType: ontap-nas-economy
    	fsType: nfs
    	storagePools: "nas-eco-data-1172:NSOL_NetApp_C800_T18U13_02_SSD_CAP_1"
    allowVolumeExpansion: true
    reclaimPolicy: Delete
    volumeBindingMode: Immediate
  • ONTAP-SAN: VMDK 파일은 Storage vMotion을 사용하여 개별 볼륨에 배치해야 합니다(VMDK를 PVC/PV 구성에 매핑). VM 선택은 VM 수준에서 이루어집니다.

  • ONTAP-SAN-Economy: VMDK 파일은 단일 NFSv3 볼륨에 있어야 하며, 볼륨 이름은 다음 명명 규칙을 따라야 합니다: trident_lun_. 리소스 그룹 내 VM 선택은 데이터스토어 수준에서만 가능합니다.

    참고 ONTAP-SAN-Economy의 경우, 명명 규칙 `trident_lun_`을 따르는 볼륨이 미리 존재해야 하며 VMware vCenter의 데이터스토어로 사용되어야 합니다. 즉, VM을 Storage vMotioned하여 이 특정 데이터스토어로 이동하거나, 기존 데이터스토어의 이름을 명명 규칙 `trident_lun_`에 맞게 변경해야 합니다.
    ONTAP-SAN-Economy용 TBC 구성 예시
    apiVersion: v1
    kind: Secret
    metadata:
    	name: ontap-san800-eco-secret
    	namespace: trident
    type: Opaque
    stringData:
    	username: <svm-admin-username>
    	password: <svm-admin-password>
    ---
    apiVersion: trident.netapp.io/v1
    kind: TridentBackendConfig
    metadata:
    	name: ontap-san800-eco
    	namespace: trident
    spec:
    	backendName: ontap-san800-eco
    	aggregate: NSOL_NetApp_C800_T18U13_01_SSD_CAP_1
    	credentials:
    		name: ontap-san800-eco-secret
    	dataLIF: "192.168.1.110"
    	defaults:
    		protocol: iSCSI
    		snapshotPolicy: none
    		spaceAllocate: "true"
    		spaceReserve: none
    		tieringPolicy: none
    	managementLIF: "192.168.1.60"
    	storage:
    		- labels:
    			backend: san800-eco
    	storageDriverName: ontap-san-economy
    	svm: data_1172
    	version: 1
    ONTAP-SAN-Economy의 샘플 스토리지 클래스 구성
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
    	name: sc-ontap-san-eco
    provisioner: csi.trident.netapp.io
    parameters:
    	backendType: ontap-san-economy
    	selector: "backend=san800-eco"
    allowVolumeExpansion: true
    reclaimPolicy: Delete
    volumeBindingMode: Immediate
    참고 ONTAP-SAN 및 ONTAP-SAN-Economy의 경우, VM을 블록 기반 데이터스토어에서 ONTAP NFSv3 볼륨으로 먼저 Storage vMotioned해야 합니다. 그런 다음 Shift Toolkit이 VMDK를 LUN으로 변환하고 해당 네임스페이스에 PVC로 가져옵니다.

리소스 그룹에 대한 VM 선택은 VM 수준 또는 데이터스토어 수준에서 수행할 수 있습니다. 선택에 따라 워크플로는 적절한 ONTAP NAS 또는 SAN 스토리지 드라이버를 선택합니다. 예를 들어, 단일 VM이 선택된 경우 ONTAP-NAS 드라이버가 사용됩니다. 동일한 볼륨에 여러 VMDK가 있는 경우 소스 볼륨과 해당 SVM, 그리고 OpenShift 측에 구성된 TBC 및 스토리지 클래스를 기반으로 ONTAP-NAS 또는 ONTAP-NAS-Economy 드라이버가 사용됩니다.

게스트 VM 요구 사항
  • Windows VM의 경우: 로컬 관리자 자격 증명을 사용하세요.

  • Linux VM의 경우: 암호 입력 없이 sudo 명령을 실행할 수 있는 권한이 있는 사용자를 사용하세요.

  • Windows VM의 경우: VirtIO ISO를 VM에 마운트합니다(다음에서 다운로드)."여기" )

    참고 준비 스크립트는 .msi 패키지를 사용하여 드라이버와 qemu-guest-agents를 설치합니다.

1단계: 대상 사이트 추가(OpenShift)

Shift Toolkit에 대상 OpenShift Virtualization 환경을 추가합니다.

단계
  1. *새 사이트 추가*를 클릭하고 *대상*을 선택하세요.

    예를 보여주세요
    목적지를 선택하세요
  2. 목적지 사이트 세부 정보를 입력하세요:

    • 사이트 이름: 사이트 이름을 입력하세요

    • 하이퍼바이저: OpenShift를 선택하세요

    • 사이트 위치: 기본 옵션을 선택하세요

    • 커넥터: 기본 선택을 선택하세요

  3. *계속*을 클릭하세요.

    예를 보여주세요
    목적지 사이트 세부 정보
  4. OpenShift 세부 정보를 입력하세요.

    • 엔드포인트: OpenShift 클러스터 엔드포인트의 FQDN(예: api.demomigsno.demoval.com)

    • Kubeconfig 파일 업로드: 최소한의 권한으로 kubeconfig 파일을 사용하세요.

      참고 파일 확장자는 yaml이어야 합니다.
    예를 보여주세요
    목적지 OpenShift 세부 정보
  5. *사이트 만들기*를 클릭하세요.

    예를 보여주세요
    목적지 OpenShift 생성
    참고 디스크 포맷 변환은 동일한 볼륨 내의 볼륨 수준에서 발생하므로 소스 볼륨과 대상 볼륨은 동일합니다.

2단계: 리소스 그룹 만들기

부팅 순서와 부팅 지연 구성을 보존하기 위해 VM을 리소스 그룹으로 구성합니다.

시작하기 전에

새로 생성된 ONTAP SVM의 개별 데이터 저장소 볼륨으로 VM VMDK가 이동되었는지 확인합니다.

단계
  1. *리소스 그룹*으로 이동하여 *새 리소스 그룹 만들기*를 클릭합니다.

  2. 드롭다운에서 소스 사이트를 선택하고 *만들기*를 클릭합니다.

  3. 리소스 그룹 세부 정보를 제공하고 워크플로를 선택합니다.

    • 복제 기반 마이그레이션: 소스 하이퍼바이저에서 대상 하이퍼바이저로 종단 간 마이그레이션을 수행합니다.

    • 클론 기반 변환: 디스크 형식을 선택한 하이퍼바이저 유형으로 변환합니다.

  4. *계속*을 클릭하세요.

  5. 검색 옵션을 사용하여 VM을 선택하세요.

    참고 리소스 그룹에 대한 VM 선택은 데이터 저장소 수준이 아닌 가상 머신을 기준으로 합니다.
    예를 보여주세요
    가상 머신과 연결된 데이터 저장소
    예를 보여주세요
    VM 데이터 저장소 세부 정보
  6. 마이그레이션 세부 정보 업데이트:

    • 목적지 선택

    • *대상 OpenShift 항목*을 선택하세요

    • 저장 클래스를 선택하세요

      예를 보여주세요
      마이그레이션 세부 정보
      참고 TBC가 하나만 있는 경우 Trident 백엔드는 자동으로 소스 볼륨에 매핑됩니다. 하지만 TBC가 여러 개 있는 경우 백엔드를 선택할 수 있습니다.
  7. 선택한 모든 VM에 대한 부팅 순서와 부팅 지연을 구성합니다.

    • 1: 전원을 켜는 첫 번째 VM

    • 3: 기본값

    • 5: 마지막으로 전원이 켜진 VM

  8. *리소스 그룹 만들기*를 클릭합니다.

    예를 보여주세요
    마이그레이션 세부 정보 구성
결과

리소스 그룹이 생성되어 블루프린트 구성을 위한 준비가 되었습니다.

3단계: 마이그레이션 청사진 만들기

플랫폼 매핑, 네트워크 구성, VM 설정을 포함하여 마이그레이션 계획을 정의하는 청사진을 만듭니다.

단계
  1. *청사진*으로 이동하여 *새 청사진 만들기*를 클릭합니다.

  2. 청사진의 이름을 제공하고 호스트 매핑을 구성합니다.

    • 소스 사이트 및 관련 vCenter 선택

    • 대상 사이트 및 관련 OpenShift 대상을 선택하세요.

    • 클러스터 및 호스트 매핑 구성

      예를 보여주세요
      청사진 세부 정보
  3. 리소스 그룹 세부 정보를 선택하고 *계속*을 클릭합니다.

  4. 여러 그룹이 있는 경우 리소스 그룹에 대한 실행 순서를 설정합니다.

  5. 적절한 논리 네트워크에 네트워크 매핑을 구성합니다.

    참고 네트워크 연결 정의는 적절한 VLAN 및 트렁크 옵션을 사용하여 OpenShift 클러스터 내에 이미 프로비저닝되어 있어야 합니다. 테스트 마이그레이션의 경우, 프로덕션 네트워크 충돌을 피하기 위해 "네트워크를 구성하지 않음"을 선택하세요. 변환 후 네트워크 설정을 수동으로 지정하세요.
    예를 보여주세요
    네트워크 매핑
  6. 스토리지 클래스와 백엔드 매핑을 검토합니다(VM 선택에 따라 자동으로 선택됨).

    참고 PVC에서 가상 머신을 생성하고 전원을 켤 수 있도록 VMDK가 개별 볼륨으로 미리 이동되었는지 확인하세요.
  7. VM 세부 정보에서 구성 세부 정보를 선택하고 각 OS 유형에 대한 서비스 계정 자격 증명을 제공합니다.

    • Windows: 로컬 관리자 권한이 있는 사용자를 사용하세요(도메인 자격 증명도 사용 가능)

    • Linux: 비밀번호 입력 없이 sudo 명령을 실행할 수 있는 사용자를 사용하세요.

      예를 보여주세요
      구성 선택
      참고 구성 선택을 통해 디스크 이미지 형식을 선택하고, prepareVM 재정의를 건너뛰고, 부모에서 볼륨을 분할할지 여부를 선택할 수 있습니다. 기본적으로 분할 복제는 비활성화되어 있으며 워크플로는 기본적으로 RAW 형식으로 설정됩니다.
  8. IP 설정 구성:

    • 구성하지 마세요: 기본 옵션

    • IP 유지: 소스 시스템의 동일한 IP 유지

    • DHCP: 대상 VM에 DHCP를 할당합니다.

      prepareVM 단계에서 VM의 전원이 켜져 있고 VMware Tools가 설치되어 있는지 확인하세요.

  9. VM 설정 구성:

    • CPU/RAM 매개변수 크기 조정(선택 사항)

    • 부팅 순서 및 부팅 지연 수정

    • 전원 켜기: 마이그레이션 후 VM 전원을 켜도록 선택합니다(기본값: 켜짐)

    • VMware Tools 제거: 변환 후 VMware Tools 제거(기본값: 선택됨)

    • VM 펌웨어: BIOS > BIOS 및 EFI > EFI(자동)

    • MAC 유지: 라이선스 요구 사항을 위해 MAC 주소를 유지합니다.

      참고 MAC 주소를 유지하는 동시에 인터페이스 이름도 유지해야 하는 경우, 소스 VM에 적절한 udev 규칙이 생성되었는지 확인하세요.
    • 서비스 계정 재정의: 필요한 경우 별도의 서비스 계정을 지정하세요.

  10. *계속*을 클릭하세요.

  11. (선택 사항) 날짜와 시간을 선택하여 마이그레이션을 예약합니다.

    참고 VM 준비 시간을 확보하기 위해 최소 30분 전에 마이그레이션 일정을 예약하세요.
  12. *청사진 만들기*를 클릭하세요.

결과

Shift Toolkit은 소스 VM에서 스크립트를 실행하여 마이그레이션을 준비하는 prepareVM 작업을 시작합니다.

예를 보여주세요
마이그레이션을 위해 준비된 가상 머신

준비 과정:

  • VirtIO 드라이버 업데이트, qemu-agent 설치, VMware 도구 제거, IP 세부 정보 백업 및 fstab 업데이트를 위한 스크립트 삽입

  • PowerCLI를 사용하여 게스트 VM(Linux 또는 Windows)에 연결하고 VirtIO 드라이버를 업데이트합니다.

  • Windows VM의 경우: 스크립트를 저장합니다. C:\NetApp

  • Linux VM의 경우: 스크립트를 저장합니다. /NetApp 그리고 /opt

참고 지원되는 모든 VM OS의 경우 Shift Toolkit은 디스크 변환 전에 필요한 VirtIO 드라이버를 자동으로 설치하여 변환 후 성공적인 부팅을 보장합니다.

prepareVM이 성공적으로 완료되면 블루프린트 상태가 "PrepareVM 완료"로 업데이트됩니다. 이제 예약된 시간에 마이그레이션이 진행되거나 마이그레이션 옵션을 클릭하여 수동으로 시작할 수 있습니다.

예를 보여주세요
PrepareVM 완료 상태
예를 보여주세요
마이그레이션을 위한 청사진 준비 완료

4단계: 마이그레이션 실행

VMware ESXi에서 OpenShift Virtualization으로 VM을 변환하기 위한 마이그레이션 워크플로를 트리거합니다.

시작하기 전에

모든 VM은 계획된 유지 관리 일정에 따라 정상적으로 전원이 꺼집니다.

단계
  1. 청사진에서 *마이그레이션*을 클릭합니다.

    예를 보여주세요
    마이그레이션 단계
  2. Shift Toolkit은 다음 단계를 수행합니다.

    • 블루프린트의 모든 VM에 대한 기존 스냅샷을 삭제합니다.

    • 소스에서 VM 스냅샷을 트리거합니다.

    • 디스크 변환 전에 볼륨 스냅샷을 트리거합니다.

    • 개별 볼륨을 복제합니다.

    • 각 VMDK에 대해 VMDK를 RAW 형식으로 변환합니다.

      Shift Toolkit은 기본 부팅 디스크를 포함하여 각 VM에 연결된 모든 VMDK를 자동으로 찾습니다.

참고 VMDK 파일이 여러 개인 경우, 각 VMDK 파일은 사용되는 스토리지 드라이버에 따라 변환되어 자체 PVC에 저장됩니다.
  • 볼륨을 정리하여 disk.img 파일만 남깁니다.

    가상 머신 디스크 이미지가 RAW 형식으로 변환되면 Shift Toolkit은 볼륨을 정리하고, RAW 파일의 이름을 disk.img로 바꾸고, 필요한 권한을 할당합니다.

  • Trident 가져오기를 사용하여 볼륨을 PVC로 가져옵니다.

    그런 다음 NetApp Trident API를 사용하여 볼륨을 PVC로 가져옵니다.

  • VM별 yaml 파일을 사용하여 VM을 생성합니다.

    PVC를 가져오고 PV를 배치하면 Shift Toolkit은 OC CLI를 사용하여 yaml 파일을 사용하여 OS에 따라 각 VM을 만듭니다.

참고 VM은 "기본" 네임스페이스에서 생성됩니다.
  • 대상에서 VM 전원을 켭니다.

    VM OS에 따라 Shift Toolkit은 스토리지 컨트롤러 인터페이스와 함께 VM 부팅 옵션을 자동으로 할당합니다. Linux 배포판의 경우 VirtIO 또는 VirtIO SCSI가 사용됩니다. Windows의 경우 VM은 SATA 인터페이스로 전원을 켠 다음 예약된 스크립트가 VirtIO 드라이버를 자동으로 설치하고 인터페이스를 VirtIO로 변경합니다.

  • 각 VM에 네트워크를 등록합니다.

    네트워크는 청사진 선택에 따라 할당됩니다.

  • Cron 작업을 사용하여 VMware 도구를 제거하고 IP 주소를 할당합니다.

예를 보여주세요
Red Hat OpenShift VM 마이그레이션
참고 작업이 완료되면 설계도에 대해 검증 옵션을 실행할 수 있습니다. 자세한 내용은 마이그레이션 확인을 참조하십시오.

Shift Toolkit과 함께 Migration Toolkit for Virtualization 사용(스크립트 방식)

이 섹션에서는 NetApp Shift Toolkit과 함께 MTV(Migration Toolkit for Virtualization)를 사용하여 Red Hat OpenShift Virtualization으로 원활하게 마이그레이션하는 방법을 설명합니다.

시작하기 전에

다음 전제 조건이 충족되는지 확인하세요.

  • OpenShift Virtualization 운영자와 NetApp Trident CSI 드라이버가 설치된 OpenShift 클러스터

  • MTV 2.9.4(변환 모드 포함)

  • "시프트 툴킷"설치됨

    참고 Shift Toolkit API만 사용되므로 Shift Toolkit 리소스 그룹이나 블루프린트를 구성할 필요가 없습니다.
  • OpenShift 클러스터의 관리자 수준 권한

  • OC 명령줄 도구가 설치된 Linux 인스턴스

    • Kubeconfig가 내보내졌거나 OC 로그인이 실행되어 클러스터에 연결되었습니다.

    • Shift Toolkit UI(설정 > 개발자 액세스 > 스크립트 차단)에서 "Shift-VM-to-OpenShift-MTV"라는 스크립트를 다운로드하십시오.

    • 파일 압축을 해제합니다: unzip Shift-VM-to-OpenShift-MTV.zip

    • Python3이 설치되어 있는지 확인하세요. dnf install python3

    • OpenJDK 8 이상을 설치하세요: yum install java-1.8.0-openjdk

    • 설치 요구 사항: pip install -r requirements.txt

  • MTV용 가상 머신 요구 사항: VMDK 파일은 다양한 방식으로 구성할 수 있습니다. 모든 VMDK 파일을 단일 볼륨에 배치하거나(Storage vMotion 불필요), 각각 별도의 볼륨에 할당하거나, NFS 볼륨 내의 qtree 구조로 그룹화할 수 있습니다. 스크립트는 레이아웃을 자동으로 감지하고 TBC UUID를 기반으로 적절한 클론 방식과 NAS 스토리지 드라이버를 선택합니다.

단계
  1. MTV를 사용하여 마이그레이션 계획을 수립하세요.

    빠른 VMDK 변환을 활용하려면 VM에 대한 마이그레이션 계획을 만들고 다음 매개변수가 YAML에 있는지 확인하세요.

    • targetNamespace: default

    • type: conversion

    • storage: {}

      참고 MTV에서 IP 설정이 구성되도록 사전에 계획을 수립해야 합니다.
  2. ONTAP 스토리지의 vCenter 및 볼륨에서 VM을 매핑합니다.

    스크립트를 사용하여 필요한 PVC를 만들고 이를 OpenShift 클러스터로 가져옵니다. PVC에는 다음과 같은 라벨과 주석이 있어야 합니다.

    레이블:

    • PVC의 vmID 및 vmUUID(Forklift가 이러한 값을 찾습니다)

      주석:

    • vmdk 디스크 이름 forklift.konveyor.io/disk-source

      스크립트는 모든 PVC에 대해 이러한 속성이 설정되도록 하고 disk.img 권한을 업데이트합니다.

    • "owner": { "id": 107 }

    • "group": { "id": 107 }

    • "mode": "0655"

  3. 다음 세부정보로 JSON 파일을 업데이트하세요.

    • * ONTAP 클러스터*: SVM이 될 수 있으며, vsadmin을 사용할 수 있습니다. 복제 볼륨에 즉각적인 분리가 필요하지 않으면 splitclone을 "False"로 설정합니다.

    • vCenter: VM 및 관련 VMDK 파일을 검색하기 위한 최소 RBAC 권한

    • * Trident 스토리지 클래스*: YAML에 올바른 버전이 있는 NFS 백엔드여야 함

    • OpenShift: 프로젝트 이름을 지정합니다(예시로 기본값을 사용함)

      참고 나머지 값은 기본값으로 유지합니다.
  4. 전제 조건이 충족되면 실행하세요. python3 main.py PVC를 생성하고 이를 OpenShift 클러스터로 가져옵니다.

  5. PVC를 가져온 후 MTV를 사용하여 마이그레이션을 트리거하여 적절한 사양으로 VM을 생성합니다.

    예를 보여주세요
    Python 스크립트 실행
    예를 보여주세요
    Shift Toolkit의 결과
  6. VMDK를 MTV로 변환하세요.

    스크립트는 기본 부팅 디스크를 포함하여 각 VM에 연결된 모든 VMDK를 자동으로 찾습니다.

    참고 VMDK 파일이 여러 개 있는 경우 각 VMDK가 변환됩니다.
  7. OpenShift Virtualization에 RAW 이미지를 업로드합니다.

    스크립트는 Trident CSI를 사용하여 볼륨을 PVC로 클러스터에 가져옵니다. PVC yaml은 라벨과 주석으로 채워져 있습니다.

  8. MTV로 가상 머신을 생성하세요.

    가져온 후 MTV 플랜에 전화하여 마이그레이션을 시작하세요. UI는 "Cold"로 표시되지만, MTV는 변환의 YAML 사양을 기반으로 각 PVC와 vmID/vmUUID를 확인하고 매핑한 다음 마이그레이션을 초기화합니다.

    예를 보여주세요
    이주 상태
    참고 VM은 가상 머신의 "기본" 프로젝트에서 생성되지만, 이는 MTV 마이그레이션 계획 YAML 내에서 수정할 수 있습니다.
  9. MTV로 처음으로 VM을 부팅합니다.

    VM OS에 따라 MTV는 스토리지 컨트롤러 인터페이스와 함께 VM 부팅 옵션을 자동으로 할당합니다.

    예를 보여주세요
    이주 역사

    1.5TB 데이터 디스크(3개의 PVC에 분산)가 있는 VM의 마이그레이션이 6분 만에 완료되었습니다. 이는 ONTAP 스토리지를 사용하여 VM을 재배치하는 간소화되고 영향이 적은 접근 방식을 보여줍니다.

    스크립트는 구성 파일을 사용하거나 매개변수를 지정하여 실행할 수 있습니다. 매개변수를 사용하여 스크립트를 실행하는 예는 아래와 같습니다.

    참고 이 스크립트는 SVM 간 복제도 지원하므로 제공된 입력 매개변수를 기반으로 서로 다른 SVM에 걸쳐 PVC를 생성할 수 있습니다.
    python3 main.py --mode params --ontap-server 10.192.102.56 --ontap-username admin --ontap-password 'correct password' --ontap-source-vserver manila --ontap-target-vserver manila --ontap-data-lif 10.63.172.249 --ontap-skip-ssl --vcenter-server 10.63.172.125 --vcenter-username administrator@demoenv.com --vcenter-password 'correct password' --vcenter-skip-ssl --shift-server 10.61.187.117 --shift-username admin --shift-password 'correct password' --trident-backend-name tbc-ontap-manila-nimo --trident-backend-uuid 778245f4-1f50-453c-b81c-3dd82e166bbc --trident-storage-class nimmanila --mtv-project openshift-mtv --mtv-plan casetst --ocp-server https://api.demomigsno.demoval.com:6443 --ocp-token sha256~co89ATebn-ktVyrMbNJUGByVWph_kjLamYtIOPmqfQM --ocp-project default --import-volume --execution-mode clone_shrink --snapshot-prefix ""

    마이그레이션이 완료되면 클론 볼륨을 분리해야 합니다. 사용하는 방법은 ONTAP 버전에 따라 다릅니다. ONTAP 9.17.1 이상에서는 clone split을 사용하고, 이전 버전에서는 vol move를 사용합니다. 분리 프로세스를 시작하는 스크립트는 제공된 ZIP 패키지 내의 "Post migrate" 폴더에 있습니다.

비디오 데모

다음 영상에서는 이 솔루션에 설명된 프로세스를 보여줍니다.

ESX에서 Red Hat OpenShift Virtualization(OSV)으로의 제로 터치 마이그레이션