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

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

기여자 kevin-hoke

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는 svmotion을 사용하여 개별 볼륨에 배치됩니다(PVC/PV 구조에 대한 VMDK 모방).

    참고 이러한 제한은 PVC 프로비저닝에 NAS-economy 드라이버를 사용할 수 있는 다음 릴리스에서 제거될 예정입니다.
  • VMware 도구는 게스트 VM에서 실행됩니다.

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

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

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

게스트 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가 변환됩니다. 이 릴리스(v4.0)에서는 각 VMDK를 개별 볼륨/데이터 저장소에 배치해야 합니다.
  • 볼륨을 정리하여 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을 사용하여 가상화를 위한 마이그레이션 툴킷 사용

이 섹션에서는 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 클러스터의 관리자 수준 권한

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

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

    • Shift Toolkit UI(설정 > 개발자 액세스 > 스크립트 차단기)에서 "OpenShift-MTV"라는 스크립트를 다운로드합니다.

    • 파일의 압축을 풉니다. unzip openshift-mtv.zip

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

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

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

  • MTV에 대한 가상 머신 요구 사항: VM의 VMDK는 개별 볼륨에 배치되어야 합니다. 디스크가 3개인 VM의 경우 각 디스크는 개별 볼륨에 있어야 합니다(PVC 구조에 데이터 저장소를 매핑). 이 작업은 storage vmotion을 사용하여 수동으로 수행해야 합니다.

단계
  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을 재배치하는 간소화되고 영향이 적은 접근 방식을 보여줍니다.

    참고 이 특정 통합을 시작하기 전에 Red Hat 계정 팀에 문의하세요.

비디오 데모

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

ESX에서 Oracle Linux Virtualization Manager(OLVM)로의 제로 터치 마이그레이션