다음에서 VDDK 직접 추출 기능을 사용하여 IBM Cloud 가상 서버로 마이그레이션합니다. vCenter

virt-v2v 와 함께 VDDK 직접 추출 기능을 사용하여, VMware 의 VM을 vCenter 에서 IBM Cloud VPC 가상 서버로 마이그레이션하고, 이 과정에서 디스크 변환을 자동화할 수 있습니다.

아키텍처 구성 요소

다음 표에서는 VDDK 직접 추출 마이그레이션의 아키텍처 구성 요소에 대해 설명합니다.

VDDK 직접 추출 마이그레이션 방법을 위한 아키텍처 구성 요소
아키텍처 구성 요소 설명
VMware 가상 디스크 개발 키트(VDDK) VMware 의 가상 디스크 액세스를 위한 API 라이브러리입니다. VMware 의 개발자 포털에서 다운로드할 수 있습니다.
vDDK를 지원하는 libguestfs Nbdkit VDDK 플러그인으로 제작된 virt-v2v 도구. 이를 위해서는 레드햇 엔터프라이즈 리눅스( Red Hat Enterprise Linux, RHEL)가 필요합니다( Ubuntu 빌드에는 VDDK 지원 기능이 포함되어 있지 않습니다).
작업자 가상 서버 인스턴스 Libguestfs-tools 및 VDDK가 설치된 RHEL 기반 인스턴스.
vCenter 액세스 가상 머신 디스크 액세스를 허용하는 자격 증명을 사용하여 작업자 가상 서버 인스턴스에서 vCenter 및 vSphere 호스트에 네트워크 연결.

VDDK 직접 추출 마이그레이션 프로세스 개요

다음 단계는 VDDK 직접 추출을 사용하여 마이그레이션하는 프로세스의 레이아웃입니다.

  1. RHEL( Red Hat Enterprise Linux ) 워커 가상 서버 인스턴스 프로비저닝

    1. RHEL 8 또는 9 인스턴스
    2. Libguestfs-tools를 설치합니다: dnf install libguestfs-tools
    3. 다음에 대한 네트워크 연결 vCenter
  2. VMware VDDK 설치

    1. VMware 개발자 포털에서 다운로드( VMware 계정 필요)
    2. 워커 가상 서버 인스턴스의 디렉터리에 압축을 풀어주세요(예: /opt/vmware-vix-disklib-distrib)
  3. vCenter 정보 수집

    1. vCenter 호스트 이름/IP
    2. vCenter 자격 증명(도메인\사용자 형식)
    3. 대상 가상 머신 이름
    4. 가상 머신이 실행 중인 ESXi 호스트( vCenter 를 통해 검색)
    5. vCenter 인증서 엄지 지문:
    openssl s_client -connect vcenter.example.com:443 </dev/null 2>/dev/null | \
      openssl x509 -fingerprint -noout -in /dev/stdin | \
      cut -d= -f2
    
  4. 타겟 볼륨 만들기

    1. 임시 가상 서버 인스턴스 방법 사용(방법 2단계 2-4)
    2. 작업자 가상 서버 인스턴스에 연결
  5. /etc/hosts 구성(종종 필요)

    1. DNS가 올바르게 확인되지 않는 경우 vCenter 및 ESXi 호스트 추가
    2. VDDK는 호스트 이름 확인에 까다로울 수 있습니다
  6. VDDK로 virt-v2v 실행

    1. 비밀번호 파일 만들기
       echo 'YourPasswordHere' > /tmp/vcenter-passwd
       chmod 600 /tmp/vcenter-passwd
    
    1. 실행 virt-v2v
       virt-v2v \
         -ic 'vpx://vsphere.local\%5cAdministrator\@vcenter.example.com/Datacenter/Cluster/esxi-host.example.com?no_verify=1' \
         'VM-Name' \
         -ip /tmp/vcenter-passwd \
         -o disk \
         -os /tmp \
         -it vddk \
         -io vddk-libdir=/opt/vmware-vix-disklib-distrib \
         -io vddk-thumbprint=A2:41:6A:FA:81:CA:4B:06:AE:EB:C4:1B:0F:FE:23:22:D0:E8:89:02 \
         --block-driver virtio-scsi
    

    매개변수: - -ic: 입력 연결 문자열(vpx:// for vCenter ) - \%5c 도메인\사용자에서 백슬래시 인코딩은 URL 입니다 - ?no_verify=1 SSL 인증 확인 건너뛰기 - 'VM-Name': 에 있는 가상 머신의 정확한 이름 vCenter - -ip: 비밀번호 파일 경로 - -o disk -os /tmp: 디렉토리로 출력 /tmp - -it vddk: 입력 전송 VDDK - -io vddk-libdir: VDDK 설치 경로 - -io vddk-thumbprint: vCenter 인증서 엄지 지문 - --block-driver virtio-scsi: Windows 가상 머신의 경우(첫 번째 디스크에 SCSI 드라이버 필요)

  7. 심링크 트릭을 사용하여 장치로 직접 연결

    일반적으로 virt-v2v 은 디렉터리에 있는 파일에 씁니다. 블록 디바이스에 직접 쓰기:

    # virt-v2v will create file named VM-Name-sda
    ln -fs /dev/vdb /tmp/VM-Name-sda
    # Run virt-v2v, it writes to symlink which points to device
    virt-v2v ... (same command as above)
    
  8. 볼륨에서 가상 서버 인스턴스 생성

    • 방법 2/3과 동일: 워커에서 분리하고, 기존 볼륨에서 가상 서버 인스턴스를 생성합니다

디자인상의 장점

다음 표에는 VDDK 직접 추출 마이그레이션의 설계상의 이점이 나와 있습니다.

VDDK 직접 추출 마이그레이션 방법의 설계 이점
디자인 이점 설명
단일 명령어 마이그레이션 virt-v2v 호출 한 번으로 vCenter, 에서 추출, 형식 변환, 드라이버 삽입, 대상에 쓰기 등 모든 작업을 수행합니다.
내보내기 단계 없음 실시간 네트워크 전송 마이그레이션과 마찬가지로 내보내기 오버헤드를 제거합니다.
자동화에 적합 일단 작동하면 대규모 마이그레이션을 위해 쉽게 스크립팅할 수 있습니다.
통합 변환 드라이버 주입 및 OS 준비는 자동으로 이루어집니다.

설계 제약 조건 및 한계

다음 표에는 VDDK 직접 추출 마이그레이션의 제약 조건과 제한 사항이 나와 있습니다.

VDDK 직접 추출 마이그레이션 방법의 제한 사항 및 제약 조건
제한 또는 제약 설명
vCenter 오직 VCFaaS ( vCenter API 액세스 불가)에서는 작동하지 않습니다.
RHEL/ Ubuntu 의 도구 부족 문제

중요한 과제

  • libguestfs의 RHEL 빌드에 VDDK 지원 포함(nbdkit 플러그인)

  • virt-v2v 빌드는 --block-driver virtio-scsi 지원하지 않음(Windows에 필요)

  • Ubuntu 빌드는 virt-v2v 지원 --block-driver virtio-scsi

  • Ubuntu 빌드는 VDDK 지원 포함하지 않음

둘 중 하나를 선택해야 합니다:

  • VDDK 플러그인을 사용하여 Ubuntu 에서 직접 libguestfs 빌드

또는

  • VDDK 추출, 파일에 쓰기, virt-v2v 변환을 위해 Ubuntu 시스템으로 전송하는 데 RHEL 사용
복잡한 선행 조건 VDDK 설치, vCenter API 액세스, 인증서 썸프린트, 정확한 연결 문자열이 필요합니다. 다른 방법보다 더 많은 설정이 필요합니다.
네트워크 요구사항 작업자 가상 서버 인스턴스는 vCenter 및 ESXi 호스트에 직접 연결해야 합니다. 추가적인 방화벽 규칙이 필요할 수 있습니다.

VDDK 직접 추출 마이그레이션은 설정 및 도구 빌드에 대한 초기 투자로 많은 가상 머신에서 성과를 거두는 대규모 마이그레이션( vCenter )에 강력합니다. 소규모 마이그레이션 또는 VCFaaS 환경에는 권장되지 않습니다. 이 방법을 선택하면 도구 설정 및 테스트에 소요되는 시간을 절약할 수 있습니다.