OVF로 가상 머신 패키지 이식성과 배포 표준화하기
OVF와 OVA의 패키지 구조, 디스크립터, 하드웨어 정의, 보안 검증 및 가상 머신 배포 활용 방식을 정리한다.
2026-08-14 · 최초 발행 2026-01-16
서로 다른 가상화 환경 사이에 필요한 공통 포장 형식
가상 머신을 다른 하이퍼바이저나 클라우드 환경으로 옮길 때는 디스크 이미지뿐 아니라 하드웨어 구성, 네트워크, 소프트웨어와 라이선스 정보도 함께 전달되어야 한다. OVF(Open Virtualization Format)는 이 정보를 표준화된 패키지로 묶어 플랫폼 독립적인 배포를 가능하게 하는 형식이다.
DMTF(Distributed Management Task Force)는 OVF를 2010년에 표준화했다. 가상 어플라이언스의 하드웨어 구성과 소프트웨어, 라이선스 정보는 XML 디스크립터에 기술된다. 이 형식은 가상화 벤더 사이의 상호 운용성, 복잡한 멀티 VM 환경의 일괄 배포, 플랫폼 종속성 완화와 가상 머신 이식성을 위한 기반이 된다.
패키지 안에 들어가는 파일과 OVA의 관계
OVF 패키지는 역할이 다른 여러 파일로 이뤄진다.
| 구성요소 | 파일 확장자 | 역할 |
|---|---|---|
| OVF 디스크립터 | .ovf | XML 형식의 메타데이터 파일 |
| 가상 디스크 | .vmdk, .vhd | 가상 머신의 디스크 이미지 |
| 매니페스트 | .mf | 파일 무결성 검증용 SHA 해시 |
| 인증서 | .cert | 디지털 서명 인증서 |
| OVA | .ova | 단일 TAR 아카이브 패키지 |
OVF는 .ovf, .vmdk, .mf 등의 개별 파일 집합이다. 파일 단위로 수정할 수 있고 스트리밍이 가능하지만, 배포할 때 여러 파일을 관리해야 한다. 반면 OVA는 이 파일들을 하나의 TAR 아카이브로 묶는다. 단일 파일 배포에는 편리하지만 수정하려면 먼저 압축을 해제해야 하며 스트리밍은 제한적이다.
XML 디스크립터가 표현하는 가상 시스템
.ovf 디스크립터의 최상위 요소는 Envelope다. 그 안에는 외부 파일 참조를 담는 References, 가상 디스크를 정의하는 DiskSection, 네트워크 구성을 담는 NetworkSection이 들어간다.
다중 VM 묶음은 VirtualSystemCollection으로 표현할 수 있고, 개별 VM은 VirtualSystem에 정의한다. VirtualSystem에는 운영체제 정보, 가상 하드웨어, 제품 정보, 라이선스 정보를 포함할 수 있다.
| 섹션 | 역할 | 주요 요소 |
|---|---|---|
| References | 외부 파일 참조 | File (href, size) |
| DiskSection | 디스크 정의 | Disk (capacity, format) |
| NetworkSection | 네트워크 정의 | Network (name, description) |
| VirtualHardwareSection | 하드웨어 구성 | Item (CPU, Memory, Disk) |
| ProductSection | 제품 정보 | Product, Vendor, Version |
| EulaSection | 라이선스 정보 | License Agreement |
CIM 기반으로 표현하는 가상 하드웨어
OVF의 가상 하드웨어 정의는 CIM(Common Information Model) 표준을 따른다. 디스크립터는 리소스 유형과 할당 단위를 함께 기술해 배포 대상이 필요한 하드웨어 구성을 해석할 수 있게 한다.
| 리소스 유형 | CIM 코드 | 설명 |
|---|---|---|
| Processor | 3 | 가상 CPU |
| Memory | 4 | 시스템 메모리 |
| IDE Controller | 5 | IDE 컨트롤러 |
| SCSI Controller | 6 | SCSI 컨트롤러 |
| Ethernet Adapter | 10 | 네트워크 어댑터 |
| Floppy Drive | 14 | 플로피 드라이브 |
| CD/DVD Drive | 15 | 광학 드라이브 |
| Disk Drive | 17 | 하드 디스크 |
| USB Controller | 23 | USB 컨트롤러 |
리소스 할당 단위는 다음처럼 표현된다. vCPU 4개에는 hertz * 10^6, 메모리 8GB와 디스크 100GB에는 byte * 2^30, NIC 1Gbps에는 bit / second * 10^6를 사용할 수 있다.
배포 시점에 바꿀 수 있는 구성
하나의 OVF 패키지는 DeploymentOptionSection으로 여러 배포 구성을 제공할 수 있다. 소형·중형·대형 구성처럼 선택지를 정의하고, 선택된 구성에 맞춰 리소스를 차등 할당하거나 자동으로 구성할 수 있다.
환경 속성은 배포자가 가상 머신 생성 전에 입력하는 값이다.
| 속성 유형 | 용도 | 예시 |
|---|---|---|
| string | 문자열 입력 | 호스트명, IP 주소 |
| password | 비밀번호 입력 | root 패스워드 |
| boolean | 참/거짓 선택 | DHCP 사용 여부 |
| uint8/uint16 | 숫자 입력 | 포트 번호 |
배포 콘솔은 OVF 디스크립터를 파싱한 뒤 환경 속성 목록을 제시한다. 관리자가 호스트명, IP, 패스워드를 입력하면 OVF 엔진이 해당 환경 데이터를 VM 생성 과정에 전달하고, 가상 머신에는 OVF 환경이 주입된다. 이후 Guest OS가 초기화를 수행한다.
매니페스트와 인증서로 검증하는 패키지
.mf 매니페스트 파일에는 패키지를 구성하는 각 파일의 SHA 해시가 기록된다. SHA-256 또는 SHA-512 해시를 사용하며, 배포 과정에서 파일별 값을 검증해 변조를 감지하고 경고할 수 있다.
.cert 인증서 파일은 패키지 출처 인증을 담당한다. X.509 디지털 인증서를 사용해 패키지를 서명·검증함으로써 신뢰할 수 있는 배포와 공급망 보안을 강화한다.
하이퍼바이저와 클라우드로 이어지는 호환성
| 플랫폼 | OVF 지원 | 비고 |
|---|---|---|
| VMware vSphere | 완전 지원 | OVF 표준 주도 |
| Microsoft Hyper-V | 부분 지원 | 변환 도구 필요 |
| Oracle VirtualBox | 완전 지원 | 내보내기/가져오기 |
| KVM/QEMU | 부분 지원 | 변환 필요 |
| Citrix Hypervisor | 완전 지원 | XenCenter 통합 |
| AWS | 지원 | VM Import/Export |
| Azure | 지원 | Azure Migrate |
OVF는 VMware에서 AWS EC2로의 마이그레이션, 온프레미스 VM의 Azure 이전, 하이브리드 클라우드 구성과 멀티 클라우드 배포에 활용될 수 있다.
어플라이언스 배포와 복구 환경에서의 사용
OVF 패키지는 방화벽·로드밸런서 같은 네트워크 장비 가상 어플라이언스, 데이터베이스 어플라이언스, 웹 애플리케이션 스택, 개발 환경 템플릿을 배포하는 데 쓰인다.
재해 복구에서는 DR 사이트로의 VM 복제, 플랫폼 독립적 백업, 크로스 플랫폼 복구, 테스트·개발 환경 복제에 적용할 수 있다. 복잡한 다중 VM 애플리케이션을 배포하거나 사전 구성된 소프트웨어 스택을 제공할 때도 유용하며, 버전 관리와 롤백, 표준화된 배포 절차를 지원한다.
변환과 관리를 위한 도구
| 도구 | 제공사 | 기능 |
|---|---|---|
| OVF Tool | VMware | OVF 생성/변환/배포 CLI |
| vCenter Converter | VMware | 물리→가상 변환 |
| qemu-img | QEMU | 디스크 이미지 변환 |
| VBoxManage | Oracle | VirtualBox OVF 관리 |
| Import-VMTemplate | Microsoft | Hyper-V OVF 가져오기 |
OVF Tool은 VM을 OVF 또는 OVA로 내보내고, OVF를 vSphere로 가져오며, OVF·OVA·VMX 형식의 변환, OVF 유효성 검증과 정보 조회를 수행한다.
OVF 1.x와 2.0의 차이
| 기능 | OVF 1.x | OVF 2.0 |
|---|---|---|
| 다중 VM | VirtualSystemCollection | 향상된 지원 |
| 배포 옵션 | 기본 지원 | 확장된 옵션 |
| 프로파일 | 단순 | 상세 프로파일 |
| 확장성 | 제한적 | 향상된 확장성 |
| 네트워크 | 기본 | 고급 네트워크 토폴로지 |