VMware VM을 실시간 네트워크 이전 기능을 통해 IBM Cloud 가상 서버로 마이그레이션

virt-v2v 와 Transit Gateway 연결을 사용하여 네트워크를 통해 디스크 데이터를 스트리밍함으로써, VMware 가상 머신(VM)을 IBM Cloud VPC 가상 서버로 마이그레이션합니다.

아키텍처 구성 요소

라이브 네트워크 전송 마이그레이션의 아키텍처 구성 요소는 다음과 같습니다:

라이브 네트워크 전송 마이그레이션 방법을 위한 아키텍처 구성 요소
아키텍처 구성 요소 설명
Transit Gateway VMware 환경(클래식, NSX 또는 VCFaaS )을 VPC에 연결합니다. 이는 소스 가상 머신( VMware )이 작업자 가상 서버 인스턴스(VPC)와 통신하는 데 필요한 레이어 3 라우팅을 제공합니다.
작업자 가상 서버 인스턴스 방법 2와 비슷하지만 여기서는 순전히 네트워크 포트에서 들어오는 디스크 데이터를 수신 대기하는 방식입니다.
라이브 ISO

부팅 가능한 ISO를 제공합니다:

  • 네트워크 구성 도구

  • 디스크 읽기 유틸리티 (dd)

  • 압축 도구 (gzip, pigz)

  • 네트워크 전송 도구 (netcat, socat, ssh)

부팅 소스 옵션
  • Ubuntu ISO 설치: 도움말 메뉴에 "셸 입력" 옵션이 있으며, 대부분의 필요한 도구가 포함되어 있습니다

  • TinyCore Linux: 매우 작지만 ssh/qemu용 패키지 설치가 필요합니다

  • virt-p2v ISO: P2V 마이그레이션을 위해 Red Hat 에서 특별히 제작한 것으로, 수신기에서 virt-v2v 와 통합됩니다

  • G4L ( Linux 용 Ghost )입니다: 이미징 중심 라이브 Linux

라이브 네트워크 이전 마이그레이션 프로세스 개요

다음 단계는 실시간 네트워크 전송을 사용하여 마이그레이션하는 프로세스를 정리한 것입니다.

  1. 프로비저닝 Transit Gateway

    1. 에 Transit Gateway 만들기 IBM Cloud
    2. VMware 환경에 연결합니다:
    • 클래식: 클래식 계정에 직접 연결
    • NSX: NSX 에지로의 GRE 터널
    • VCFaaS: GRE 터널에서 VCFaaS 에지까지
    1. VMware 네트워크와 VPC 서브넷 간의 라우팅 구성
    2. 첫 마이그레이션 전에 연결 테스트 철저
  2. VPC에서 Worker 가상 서버 인스턴스 프로비저닝

    1. Ubuntu 또는 적절한 리소스를 갖춘 RHEL
    2. 임시 가상 서버 인스턴스 기술을 사용하여 대상 볼륨 생성(방법 2단계 2-4)
    3. 워커에 대상 볼륨 연결
    4. 넷캣 설치: apt-get install netcat 또는 yum install nc
  3. 전송을 위해 소스 VM 준비

    1. 라이브 ISO를 가상 머신에 연결하려면 vCenter/VCFaaS
    2. CD/ISO에서 먼저 부팅하도록 가상 머신 부팅 순서 구성하기
    3. 라이브 환경의 네트워크 설정을 위한 현재 IP 구성에 유의하세요
  4. ISO에서 소스 가상 머신 부팅

    1. 가상 머신을 재부팅하면 라이브 환경으로 부팅됩니다
    2. 가상 머신의 디스크에 액세스할 수 있지만 OS가 실행되고 있지 않습니다(클린 종료에 해당)
  5. 라이브 환경에서 네트워킹 구성

    1. 네트워크 인터페이스 이름을 확인합니다( eth0, ens192 등, 상황에 따라 다를 수 있음)
    2. IP 및 라우팅을 구성합니다:
    ip addr add 10.50.200.3/26 dev ens192
    ip route add 0.0.0.0/0 via 10.50.200.1
    ping 192.168.100.5  # Test connectivity to worker virtual server instance
    
  6. 전송 시작

    1. 작업자 가상 서버 인스턴스에서(리스너를 먼저 시작):
    # Listen for incoming data, decompress, write to volume
    nc -l 192.168.100.5 8080 | gunzip | dd of=/dev/vdb bs=16M status=progress
    
    1. On 소스 가상 머신(라이브 ISO에서):
    # Read disk, compress, send to worker
    dd if=/dev/sda bs=16M | gzip | nc -N -v 192.168.100.5 8080
    
    • 양쪽의 진행 상황 모니터링
    • 전송 시간은 디스크 크기와 네트워크 대역폭에 따라 다릅니다
    • 압축은 일반적으로 OS 디스크에 대해 2-4x 개선 효과를 제공합니다
  7. 추가 디스크에 대해 반복

    • 다중 디스크 가상 머신의 경우 각 디스크에 대해 반복합니다:

      # Worker (disk 2)
      nc -l 192.168.100.5 8080 | gunzip | dd of=/dev/vdc bs=16M status=progress
      # Source (disk 2)
      dd if=/dev/sdb bs=16M | gzip | nc -N -v 192.168.100.5 8080
      
  8. 전송 후 처리

    1. 전송 확인: fdisk -l /dev/vdb 작업자의 경우
    2. 선택 사항으로 변환에 virt-v2v 을 사용합니다: virt-v2v-in-place -i disk /dev/vdb
    3. 버퍼를 플러시합니다: blockdev --flushbufs /dev/vdb
  9. 볼륨에서 가상 서버 인스턴스 생성

    1. 워커에서 볼륨 분리하기
    2. 기존 부팅 볼륨을 사용하여 최종 가상 서버 인스턴스를 생성합니다(방법 2 8단계와 동일)
  10. 소스 가상 머신 종료

    1. 가상 서버 인스턴스가 성공적으로 부팅되었는지 확인한 후 소스 가상 머신을 종료합니다
    2. 선택적으로 VMware 에 롤백 지점으로 스냅샷을 만듭니다

디자인상의 장점

다음 표에서는 실시간 네트워크 전송 마이그레이션의 설계상 이점에 대해 설명합니다.

라이브 네트워크 전송 마이그레이션 방법의 설계 이점
디자인 이점 설명
내보내기 오버헤드 없음 전체 내보내기 단계가 제거되어 VMDK 내보내기에 소요되는 시간이 없고, 내보내기 스토리지가 필요하지 않으며, 내보낸 파일을 VPC로 전송할 필요가 없습니다.
효율적인 네트워크 활용 압축을 사용한 직접 스트리밍은 사용 가능한 대역폭을 최적으로 활용합니다.
병렬 마이그레이션 기능 네트워크 대역폭과 작업자 리소스에 의해서만 제한되는 여러 작업자 가상 서버 인스턴스를 프로비저닝하고 여러 가상 머신을 동시에 마이그레이션할 수 있습니다.
최대의 유연성 virt-v2v 변환과 쉽게 통합, VCFaaS 및 vCenter, 모두 지원, 디스크 수에 관계없이 모든 가상 머신에서 작동합니다.
디스크 상태 정리 ISO에서 부팅하면 소스 OS가 실행되지 않으므로 깨끗하고 일관된 디스크 상태가 유지됩니다(콜드 스냅샷과 유사).

설계 제약 조건 및 한계

다음 표에서는 실시간 네트워크 전송 마이그레이션의 제약 조건 및 제한 사항에 대해 설명합니다.

실시간 네트워크 전송 마이그레이션 방법의 제한 사항 및 제약 사항
제한 또는 제약 설명
Transit Gateway 요구 사항 Transit Gateway 연결 설정 및 테스트에 대한 사전 투자가 필요합니다.
라이브 ISO 파일 생성
  • 선택한 라이브 ISO를 준비하고 테스트해야 하며, 필요한 도구를 사용하여 사용자 지정할 수도 있습니다.
네트워크 대역폭 의존성 전송 속도는 환경 간 네트워크 대역폭에 따라 제한됩니다. 모니터링하고 그에 따라 계획을 세우세요.
수동 네트워크 설정 각 소스 가상 머신에 대해 라이브 ISO 환경에서 네트워킹을 구성해야 합니다(스크립팅 가능).
따뜻한 기후로의 이주에는 적합하지 않음 이는 콜드 마이그레이션 방식이며, 소스 가상 머신은 전송 중에 오프라인 상태입니다.

virt-p2v 통합

virt-p2v 통합은 보다 자동화되어 있지만 RHEL/ Ubuntu 하이브리드 컴포넌트로 libguestfs를 빌드해야 합니다.

Red Hat 의 virt-p2v ISO는 이 사용 사례를 위해 특별히 제작되었습니다. 이것은 다음을 제공합니다:

  • 전송할 디스크를 선택하기 위한 그래픽 인터페이스
  • virt-v2v 수신기에 내장된 네트워크 연결 기능
  • 자동 드라이버 주입 및 OS 준비

virt-p2v 통합 프로세스

  1. virt-p2v ISO에서 소스 가상 머신 부팅
  2. 네트워크를 구성하고 서버 모드에서 virt-v2v 을 실행하는 작업자 가상 서버 인스턴스에 연결합니다
  3. virt-p2v 디스크를 전송하고 virt-v2v 디스크를 자동으로 변환합니다
  4. 결과 볼륨을 가상 서버 인스턴스에 연결할 준비가 되었습니다

실시간 네트워크 전송 마이그레이션은 대규모 마이그레이션(가상 머신 10개 이상), 내보내기 오버헤드가 엄청나게 큰 시나리오, Transit Gateway 및 라이브 ISO 환경을 설정할 수 있는 전문 지식이 있는 경우에 이상적입니다. 초기 설정 비용은 더 높지만 가상 머신당 마이그레이션 효율성은 더 뛰어납니다.