다중 디스크 기반 VMware 가상 머신을 직접 볼륨 복사 기능을 사용하여 IBM Cloud 으로 마이그레이션

qemu-img를 사용한 직접 볼륨 복사 또는 virt-v2v 을 통해 디스크 수준에서 완벽하게 제어하며, 다중 디스크 기반 VMware 가상 머신(VM)을 IBM Cloud VPC 가상 서버로 마이그레이션합니다.

아키텍처 구성 요소

다음 표에는 직접 볼륨 복사본 마이그레이션의 아키텍처 구성 요소가 나와 있습니다.

직접 볼륨 복사 마이그레이션 방법을 위한 아키텍처 구성 요소
아키텍처 구성 요소 설명
작업자 가상 서버 인스턴스

마이그레이션 작업 공간으로 사용되는 임시 가상 서버 인스턴스입니다. 이 가상 서버 인스턴스를 사용하려면 다음 전제 조건이 필요합니다.

  • 변환 도구를 실행하기에 충분한 중앙 처리 장치(CPU) 및 메모리

  • 내보낸 가상 머신 디스크(VMDK) 파일(또는 대용량 임시 디스크)을 저장할 수 있는 충분한 작업 공간 저장 공간

  • VMware 환경과의 네트워크 연결 (라이브 전송을 사용하는 경우)

  • qemu-img 도구 및 선택적으로 변환을 위한 libguestfs ( virt-v2v )

임시 가상 서버 인스턴스 올바른 구성으로 부팅 및 데이터 볼륨을 생성하기 위해서만 생성되는 단기 가상 서버 인스턴스입니다. 이 가상 서버 인스턴스는 즉시 삭제하지만 볼륨은 유지합니다.
대상 볼륨 마이그레이션된 VM 의 디스크가 되는 실제 볼륨입니다.

직접 볼륨 마이그레이션 복사 프로세스 개요

다음 단계는 직접 볼륨 복사를 사용하여 마이그레이션하는 프로세스의 레이아웃입니다.

  1. 작업자 가상 서버 인스턴스 프로비저닝

    1. Ubuntu 또는 적절한 작업 공간을 갖춘 RHEL 인스턴스
    2. VMDK를 위한 작업 공간이 필요한 경우 큰 보조 볼륨을 연결합니다
    3. 필요한 도구 설치
      • qemu-img
      • libguestfs-tools ( virt-v2v )
  2. 일시적인 가상 서버 인스턴스 생성

    1. 대상에 맞게 구성 VM (OS, 부팅 디스크 크기, 보조 디스크 수/크기)
    2. 중요: 모든 볼륨에서 자동 삭제 사용 안 함
    3. 중요: 부팅 볼륨에 general-purpose 스토리지 프로필 사용
    4. 네트워크 구성은 버릴 수 있습니다
    5. 볼륨 크기와 순서에 유의하세요
  3. 임시 가상 서버 인스턴스 삭제, 볼륨 유지

    1. UI 또는 CLI를 통해 가상 서버 인스턴스를 삭제합니다
    2. 볼륨이 여전히 존재하고 첨부할 수 있는지 확인합니다
  4. 워커 가상 서버 인스턴스에 볼륨 연결하기

    1. 생성한 순서와 동일한 순서로 첨부합니다
    2. 장치 이름(예: /dev/vdb, /dev/vdc, 등)을 참고하세요
    3. 크기를 확인합니다: blockdev --getsize64 /dev/vdb
  5. VM 디스크 전송 및 변환

    1. 내보낸 경우: 작업자 가상 서버 인스턴스에 VMDK 복사
    2. 한 번에 변환하고 작성하세요:
    qemu-img convert -f vmdk -O raw source-vm-boot.vmdk /dev/vdb
    qemu-img convert -f vmdk -O raw source-vm-data.vmdk /dev/vdc
    
    1. 선택적으로 Windows 드라이버 주입을 위해 virt-v2v 을 사용합니다(다음 Windows 섹션 참조)
  6. 확인 및 플러시

    1. 파티션 테이블을 확인합니다: fdisk -l /dev/vdb
    2. 버퍼를 플러시합니다: blockdev --flushbufs /dev/vdb
  7. 워커에서 볼륨 분리하기

    1. 모든 대상 볼륨 분리
    2. 이제 최종 가상 서버 인스턴스에 연결할 준비가 되었습니다
  8. 기존 부팅 볼륨에서 최종 가상 서버 인스턴스 생성

    1. 이미지를 선택하는 대신 "기존 부팅 볼륨"을 선택합니다
    2. 채운 부팅 볼륨을 선택합니다
    3. 네트워크, 보안 그룹, SSH 키 구성(기존 VM )인 경우 사용하지 않더라도 필수입니다
    4. 보조 볼륨의 경우: CLI/API를 사용하거나 생성 후 연결하고 다시 시작합니다
  9. 마이그레이션 후 구성

    1. 가상 서버 인스턴스 부팅, 네트워크 구성 조정이 필요한 경우 VNC 콘솔을 통한 액세스
    2. 모든 디스크가 존재하고 마운트되었는지 확인합니다
    3. 부팅 볼륨 파티션 크기를 상향 조정한 경우 확장하기

직접 볼륨 복사 설계의 장점

다음 표에는 직접 볼륨 복사본 마이그레이션의 설계상 이점이 나와 있습니다.

직접 볼륨 복사 마이그레이션 방식의 설계 이점
디자인 이점 설명
다중 디스크 지원 멀티 디스크 지원은 VPC의 12개 디스크 제한까지 디스크 수에 관계없이 가상 머신을 처리합니다.
이미지 과다 게재 금지 각 가상 머신에 대해 사용자 지정 이미지를 생성하는 것이 아닙니다. 사용자 지정 이미지 목록은 깔끔하게 유지됩니다.
유연한 변환 드라이버 주입, OS 조정 등을 위해 virt-v2v 와 쉽게 통합할 수 있습니다.
저장 효율 옵션 기본 템플릿을 사용자 지정 이미지로 가져와 임시 가상 서버 인스턴스의 부팅 볼륨 소스로 사용하는 경우(2단계), 최종 부팅 볼륨은 링크된 복제 공간 효율성을 상속받습니다.

직접 볼륨 복사 디자인 제약 조건 및 제한 사항

다음 표에는 직접 볼륨 복사본 마이그레이션의 제약 조건과 제한 사항이 나와 있습니다.

직접 볼륨 복사본 마이그레이션 방법의 제한 사항 및 제약 사항
제한 또는 제약 설명
오케스트레이션의 복잡성 더 많은 단계와 움직이는 부분이 있습니다. 견고한 런북과 가급적이면 자동화(Terraform, Ansible, 스크립트)가 필요합니다.
볼륨 연결 제한 사항

IBM Cloud 사용자 인터페이스(UI)는 가상 서버 인스턴스 생성 중에 보조 볼륨을 연결하는 기능을 지원하지 않습니다. 다음 중 하나를 수행해야 합니다.

  • 명령줄 인터페이스(CLI) 사용: ibmcloud is instance-create ... --volume-attach ...

  • 완전한 자동화를 위해 API/Terraform 사용

  • 가상 서버 인스턴스를 생성하고, 중지한 다음, 볼륨을 연결한 후 다시 시작합니다

오버헤드 내보내기 VMware 에서 VMDK를 내보내는 경우에도 여전히 오버헤드가 발생합니다(OVA 내보내기보다는 적지만).

네트워크 전송을 사용하여 내보내기 건너뛰기

방법 2와 네트워크 전송 기술(방법 3에 자세히 설명되어 있음)을 결합하여 VMDK를 완전히 내보내지 않을 수 있습니다. ISO에서 소스 VM 를 부팅하고, 작업자 가상 서버 인스턴스에 네트워크 연결을 설정한 다음 디스크 콘텐츠를 직접 스트리밍합니다:

  1. 작업자 가상 서버 인스턴스(대상)에서 다음 명령을 실행합니다:

    nc -l 192.168.100.5 8080 | gunzip | dd of=/dev/vdb bs=16M status=progress
    
  2. 소스 가상 머신(ISO에서 부팅한)에서 다음 명령을 실행합니다:

    dd if=/dev/sda bs=16M | gzip | nc -N -v 192.168.100.5 8080
    

이 프로세스를 사용하면 내보내기 시간 및 내보내기 저장 공간이 필요하지 않습니다.

이 프로세스는 정밀한 제어를 원하거나 사용자 지정 이미지 확산을 방지하는 것이 중요한 시나리오에서 멀티 디스크 가상 머신에 사용합니다. 네트워크 전송을 통해 효율성을 향상시킬 수도 있습니다.