다음에서 VDDK 직접 추출 기능을 사용하여 IBM Cloud 가상 서버로 마이그레이션합니다. vCenter
virt-v2v 와 함께 VDDK 직접 추출 기능을 사용하여, VMware 의 VM을 vCenter 에서 IBM Cloud VPC 가상 서버로 마이그레이션하고, 이 과정에서 디스크 변환을 자동화할 수 있습니다.
아키텍처 구성 요소
다음 표에서는 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 직접 추출을 사용하여 마이그레이션하는 프로세스의 레이아웃입니다.
-
RHEL( Red Hat Enterprise Linux ) 워커 가상 서버 인스턴스 프로비저닝
- RHEL 8 또는 9 인스턴스
- Libguestfs-tools를 설치합니다:
dnf install libguestfs-tools - 다음에 대한 네트워크 연결 vCenter
-
VMware VDDK 설치
- VMware 개발자 포털에서 다운로드( VMware 계정 필요)
- 워커 가상 서버 인스턴스의 디렉터리에 압축을 풀어주세요(예:
/opt/vmware-vix-disklib-distrib)
-
vCenter 정보 수집
- vCenter 호스트 이름/IP
- vCenter 자격 증명(도메인\사용자 형식)
- 대상 가상 머신 이름
- 가상 머신이 실행 중인 ESXi 호스트( vCenter 를 통해 검색)
- vCenter 인증서 엄지 지문:
openssl s_client -connect vcenter.example.com:443 </dev/null 2>/dev/null | \ openssl x509 -fingerprint -noout -in /dev/stdin | \ cut -d= -f2 -
타겟 볼륨 만들기
- 임시 가상 서버 인스턴스 방법 사용(방법 2단계 2-4)
- 작업자 가상 서버 인스턴스에 연결
-
/etc/hosts 구성(종종 필요)
- DNS가 올바르게 확인되지 않는 경우 vCenter 및 ESXi 호스트 추가
- VDDK는 호스트 이름 확인에 까다로울 수 있습니다
-
VDDK로 virt-v2v 실행
- 비밀번호 파일 만들기
echo 'YourPasswordHere' > /tmp/vcenter-passwd chmod 600 /tmp/vcenter-passwd- 실행 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=1SSL 인증 확인 건너뛰기 -'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 드라이버 필요) -
심링크 트릭을 사용하여 장치로 직접 연결
일반적으로 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) -
볼륨에서 가상 서버 인스턴스 생성
- 방법 2/3과 동일: 워커에서 분리하고, 기존 볼륨에서 가상 서버 인스턴스를 생성합니다
디자인상의 장점
다음 표에는 VDDK 직접 추출 마이그레이션의 설계상의 이점이 나와 있습니다.
| 디자인 이점 | 설명 |
|---|---|
| 단일 명령어 마이그레이션 | virt-v2v 호출 한 번으로 vCenter, 에서 추출, 형식 변환, 드라이버 삽입, 대상에 쓰기 등 모든 작업을 수행합니다. |
| 내보내기 단계 없음 | 실시간 네트워크 전송 마이그레이션과 마찬가지로 내보내기 오버헤드를 제거합니다. |
| 자동화에 적합 | 일단 작동하면 대규모 마이그레이션을 위해 쉽게 스크립팅할 수 있습니다. |
| 통합 변환 | 드라이버 주입 및 OS 준비는 자동으로 이루어집니다. |
설계 제약 조건 및 한계
다음 표에는 VDDK 직접 추출 마이그레이션의 제약 조건과 제한 사항이 나와 있습니다.
| 제한 또는 제약 | 설명 |
|---|---|
| vCenter 오직 | VCFaaS ( vCenter API 액세스 불가)에서는 작동하지 않습니다. |
| RHEL/ Ubuntu 의 도구 부족 문제 |
중요한 과제
둘 중 하나를 선택해야 합니다:
또는
|
| 복잡한 선행 조건 | VDDK 설치, vCenter API 액세스, 인증서 썸프린트, 정확한 연결 문자열이 필요합니다. 다른 방법보다 더 많은 설정이 필요합니다. |
| 네트워크 요구사항 | 작업자 가상 서버 인스턴스는 vCenter 및 ESXi 호스트에 직접 연결해야 합니다. 추가적인 방화벽 규칙이 필요할 수 있습니다. |
VDDK 직접 추출 마이그레이션은 설정 및 도구 빌드에 대한 초기 투자로 많은 가상 머신에서 성과를 거두는 대규모 마이그레이션( vCenter )에 강력합니다. 소규모 마이그레이션 또는 VCFaaS 환경에는 권장되지 않습니다. 이 방법을 선택하면 도구 설정 및 테스트에 소요되는 시간을 절약할 수 있습니다.