virt-v2v라는 가볍게 쓸 수 있는 도구가 있습니다. 이를 어디에 쓰냐 하면 Xen, VM웨어, Hyper-V의 가상머신을 KVM으로 옮길 때 활용합니다. 흔한 말로 마이그레이션 툴입니다. 오늘은 간단히 OVA(Open Virtualization Format) 파일을 가져오는 초간단 마이그레이션 예제를 소개합니다. 몇 단계 안 되는 예이지만 이 방법을 사용하면 현재 사용 중인 가상화 인프라를 레드햇 가상화 환경이나 오픈 스택 환경으로 옮길 때 유용합니다. 물론 실제 운영 환경을 옮기려면 옵션을 좀 화려하게(?) 써야겠죠.
예제 시나리오는 기존 하이퍼바이저에 있는 오리지널 가상머신을 OVA 표준 형식으로 전환하고, 이를 사용자가 자신의 환경에 맞게 가져오는 것입니다. 하이퍼바이저는 가상머신 이미지 파일을 풀(pool)에 저장합니다. 전용 풀은 가상머신을 논리적/물리적으로 분리하는 데 도움이 됩니다. 먼저 하이퍼바이저에 있는 풀을 확인해봅니다.
# virsh pool-list
Name State Autostart
-------------------------------------------
default active yes
'Appliances'라는 이름으로 분리된 풀을 만들겠습니다. 다음과 같이 대상 디렉토리를 만들고, 풀의 이름을 지정하고, 풀을 시작한 다음에 자동으로 실행되게 합니다.
# mkdir /var/lib/libvirt/Appliances
# virsh pool-define-as Appliances --type dir \
--target /var/lib/libvirt/Appliances
# virsh pool-start Appliances
# virsh pool-autostart Appliances새로 만든 풀의 상태를 확인합니다.
# virsh pool-list
Name State Autostart ------------------------------------------- Appliances active yes default active yes이제 하이퍼바이저가 OVA 파일에 접근할 수 있도록 해보죠. 본 예제에서는 OVA 파일이 /root/third_party_appliance.ova에 있다고 가정합니다.
# virt-v2v \
-i ova /root/third_party_appliance.ova \
-o libvirt -of qcow2 \
-os Appliances -n default옵션 설명을 잠깐 해보죠. -i로 시작하는 첫 번째 옵션은 /root/third_party_appliance.ova에 있는 OVA 파일이 입력으로 쓰인다는 것입니다. -o로 시작하는 두 번째 옵션은 libvirt 가상머신을 qcow2 파일 형식으로 출력하란 것입니다. -os로 시작하는 세 번째 옵션은 Appliances 풀에 가상머신을 배치하라는 것입니다. -n으로 시작하는 네 번째 옵션은 기본 네트워크를 사용하도록 가상머신을 구성하라는 것입니다.
위 작업은 가상머신의 크기와 하이퍼바이저의 속도 등에 따라 처리 시간이 차이 납니다. 처리 과정은 다음과 같이 보입니다.
위 작업은 가상머신의 크기와 하이퍼바이저의 속도 등에 따라 처리 시간이 차이 납니다. 처리 과정은 다음과 같이 보입니다.
[ 0.0] Opening the source -i ova third_party_appliance.ova
[ 0.1] Creating an overlay to protect the source from being modified [ 0.1] Initializing the target -o libvirt -os Appliances [ 0.1] Opening the overlay [ 13.7] Inspecting the overlay [ 14.6] Checking for sufficient free disk space in the guest [ 14.6] Estimating space required on target for each disk [ 14.6] Converting Windows 7 Enterprise to run on KVM [ 15.0] Mapping filesystem data to avoid copying unused and blank areas [ 15.4] Closing the overlay [ 15.6] Checking if the guest needs BIOS or UEFI to boot [ 15.6] Assigning disks to buses [ 15.6] Copying disk 1/1 to /var/lib/libvirt/Appliances/third_party_appliance-sda (qcow2) (100.00/100%) [ 132.3] Creating output metadata Pool Appliances refreshed [ 132.5] Finishing off임포트 작업이 끝나면 가상머신을 시작해 상태를 확인해 봅니다.
# virsh start third_party_appliance
Domain third_party_appliance started
# virsh list --all
Id Name State
----------------------------------------------------
12 third_party_appliance running
- cfme_demo shut off
- Fedora27-test shut off
'PRODUCT > Virturalization' 카테고리의 다른 글
OpenShift: 컨테이너와 VM, 이제 하나의 플랫폼에서 통합 관리가 가능하다면? (0) | 2024.06.05 |
---|---|
Red Hat OpenShift Virtualization 적용을 위한 레퍼런스 아키텍처와 가이드 문서를 제공하는 숨은 주역 (0) | 2024.01.17 |
[토막 상식] 레드햇 스토리지로 풀어본 소프트웨어 정의 스토리지의 개념과 필요성 (0) | 2018.06.03 |
쿠버네티스 환경에 어울리는 보안 접근 제어 ~ 레드햇이 Vault Operator 프로젝트를 시작합니다! (0) | 2018.05.02 |
레드햇 하이퍼컨버지드 인프라! ISV와 고객 모두에게 이득인 이유는? (0) | 2018.03.22 |