뒤로
2025/03/13
12. 서버 가상화 소프트웨어 비교
x86 시스템에서 서버 가상화 소프트웨어가 처음 등장한 지 약 25년이 지났습니다. 처음에는 VMware가 시장에서 압도적인 점유율을 차지했지만, 이제는 Linux KVM도 널리 사용되고 있습니다. 특히 Linux KVM 기반 서비스는 퍼블릭 클라우드 벤더(예: Amazon EC2, OCI Compute)가 제공하는 가상 머신 서비스에서 인기가 많습니다.
이 칼럼에서는 Oracle Linux KVM을 서버 가상화 소프트웨어로 여러 번 다루었습니다. 서버 가상화 소프트웨어의 역사를回顾하고 현재 옵션과 선택 시 고려할 점을 설명하겠습니다.
서버 가상화 소프트웨어의 등장과 진화
x86 시스템용 최초의 서버 가상화 소프트웨어인 VMware Workstation은 1999년에 출시되었습니다. 2001년에는 현재 VMware vSphere ESXi의 초기 버전인 VMware ESX Server가 출시되었습니다.
VMware가 등장하기 전에도 범용 컴퓨터와 고급 UNIX 서버에서 단일 서버를 여러 서버로 나누는 가상화 기술이 존재했지만, 저렴한 x86 시스템에서 가능해졌다는 점은 충격적이었습니다.
그 이후로 하드웨어 성능의 극적인 향상과 서버 가상화 소프트웨어의 진화로 인해 서버 가상화는 보편화되었습니다. 여기서는 하드웨어 성능 개선을 간략히 다루고 서버 가상화 소프트웨어의 역사를回顾하겠습니다.
하드웨어 성능 개선
서버 가상화의 확산에 가장 큰 영향을 미친 것은 하드웨어 성능의 개선입니다. 현재 저가형 서버조차 약 4코어 CPU를 장착하고 있으며, 50코어 이상의 CPU도 드물지 않습니다. 서버 가상화는 이러한 서버를 효율적으로 사용하기 위한 필수 기술이 되었습니다.
또한 20년 전과 지금 사이에 하드웨어 성능이 극적으로 향상되었습니다.
- 멀티코어 및 다중 코어 CPU
- 하이퍼스레딩 및 동시 멀티스레딩(SMT)으로 CPU 스레드 수 증가
- Intel VT 및 AMD-V(AMD SVM)와 같은 CPU 가상화 지원 기술
- 수백 기가바이트에서 테라바이트 범위의 대용량 메모리 확산
- SSD/NVMe로 디스크 액세스 가속화
서버 가상화 소프트웨어의 진화
현재까지 다양한 서버 가상화 소프트웨어가 있습니다. 여기서는 지금까지 출시된 주요 소프트웨어를 소개하겠습니다.
VMware의 등장 이후
VMware ESX(현재 VMware ESXi)로 하이퍼바이저를 사용한 효율적인 가상화가 가능해졌습니다. 또한 vMotion을 사용한 라이브 마이그레이션과 강력한 관리 도구 vCenter Server의 등장 등 많은 기능을 갖추게 되었습니다.
VMware 웹사이트를 보면 VMware vSphere만 해도 다양한 에디션이 있으며 기능 범위가 넓습니다. 또한 vSAN, NSX와 같은 관련 제품도 많이 출시되었습니다.
Xen
Xen은 Linux에서 처음 등장한 하이퍼바이저입니다. 첫 번째 버전은 2003년에 출시되었으며, 이후 Citrix Systems, Oracle 등 여러 회사가 Xen 기반 하이퍼바이저를 출시했습니다.
이 시기에 Oracle이 출시한 제품은 Oracle VM Server for x86였습니다. Oracle VM Server는 이전에 VMware와 같은 가상화 환경에서 허용되지 않았던 하드 파티셔닝을 가능하게 했습니다.
Oracle VM Server는 여전히 사용 중이지만 프리미어 지원은 이미 종료되었으며, 연장 지원은 2024년 6월에 종료될 예정이라고 발표되었습니다. 후속 제품은 나중에 설명할 Oracle Linux KVM입니다.
Linux KVM
KVM(Kernel-based Virtual Machine)은 2007년에 Linux 메인라인 커널에 통합되었습니다. 처음에는 Xen이 우수했기 때문에(Amazon EC2도 처음에는 Xen 기반이었음) 열세였지만, 메인라인 커널에 통합된 이후 점차 우위를 점했고, 이제 KVM은 주류 Linux 하이퍼바이저가 되었습니다.
또한 Amazon Web Services, Oracle Cloud Infrastructure, Google Cloud와 같은 많은 퍼블릭 클라우드가 Linux KVM 기반 시스템을 사용합니다.
KVM은 Linux 커널에 포함되어 있으므로 현재 출시된 대부분의 Linux 배포판에서 사용할 수 있습니다.
Oracle Linux도 그 중 하나이며, Oracle Linux KVM이라는 별도의 제품은 없습니다. 일반 Oracle Linux로 KVM을 사용할 수 있습니다. 또한 2019년에 출시된 Oracle Linux Virtualization Manager와 결합하면 통합 관리뿐만 아니라 Oracle VM Server와 유사한 하드 파티셔닝도 구현할 수 있습니다.
가상화에 특화된 제품의 예로는 Red Hat이 2009년에 출시한 Red Hat Virtualization(구 Red Hat Enterprise Virtualization)이 있습니다.
이 제품은 가상 환경에 최적화되어 관리 도구와 함께 제공되었지만, 유지보수 지원 기간이 2022년에 종료되고, 가장 긴 연장 생명 주기 지원도 2026년 8월에 종료될 예정이라고 발표되었습니다.
Red Hat Virtualization은 현재 컨테이너 플랫폼 Red Hat OpenShift에 통합되어 Red Hat OpenShift Virtualization이라는 기능으로 존재합니다.
Microsoft Hyper-V
Hyper-V는 2008년에 Windows Server의 기능 중 하나로 소개되었습니다. 처음에는 성능 부족과 지원되는 게스트 운영 체제 수가 적었지만, 이제 Azure의 기반으로 채택되었습니다. Windows 8 이후 일부 에디션에도 클라이언트 Hyper-V가 있지만, 이 글에서는 Windows Server Hyper-V에 초점을 맞춥니다.
기타 옵션
지금까지 주요 하이퍼바이저를 소개했지만, 최근에는 다른 서버 가상화 기술도 사용되고 있습니다. 여기서 몇 가지를 소개하겠습니다. 그러나 지금까지 설명한 하이퍼바이저와 위치가 다르기 때문에 다음 장의 비교에는 포함되지 않습니다.
Nutanix로 분류되는 이 제품
하이퍼컨버지드 인프라(HCI)입니다. 서버 가상화에 필요한 기능을 하나로 결합한 제품으로, 서버, 스토리지, 네트워크, 소프트웨어의 모든 구성 요소를 포함합니다. 사전 설정되어 있어 짧은 시간 안에 구축할 수 있으며, 단일 벤더가 모두 제공하므로 복잡성과 운영 비용을 줄입니다.
하이퍼바이저로는 기본적으로 Linux KVM 기반 Nutanix AVH를 사용할 수 있으며, ESXi와 같은 외부 하이퍼바이저도 사용할 수 있습니다.
단점은 서버 구성이 제한적이어서 원하는 CPU 코어 수로 구축하기 어렵고, 소프트웨어 기반 스토리지이기 때문에 I/O 성능에 제한이 있다는 점입니다. 그러나 Nutanix는 외부 스토리지도 사용할 수 있습니다.
OpenStack
OpenStack은 클라우드 컴퓨팅 환경을 구축하기 위한 소프트웨어입니다. 주로 프라이빗 클라우드 환경에서 사용되며 가상 머신, 스토리지, 네트워크, 관리 도구 등을 포함합니다. KVM, ESXi, Hyper-V와 같은 하이퍼바이저를 지원합니다.
처음에는 저렴한 가상 환경으로 기대되었지만, 복잡한 구조, 구축 및 운영의 어려움, 6개월의 짧은 출시 주기, 제한된 유지보수 기간으로 인해 현재 일부 기술 회사와 퍼블릭 클라우드 벤더의 인프라로 사용되고 있습니다.
OpenStack은 Red Hat OpenStack Platform과 같은 배포판으로도 출시됩니다.
표 01: OpenStack 및 퍼블릭 클라우드 구성 요소 호환성 표
OpenStack | AWS | OCI | |
---|---|---|---|
컴퓨팅 | Nova | EC2 | Compute |
네트워크 | Neutron | VPC | VCN |
블록 스토리지 | Cinder | EBS | Block Volume |
오브젝트 스토리지 | Swift | S3 | Object Storage |
운영 관리 도구 | Horizon | Management Console | OCI Console |
컨테이너
2013년에 등장한 Docker를 시작으로, 2018년경 Kubernetes가 컨테이너 인프라 오케스트레이터의 표준이 되었습니다. 컨테이너를 사용한 서버 가상화는 하이퍼바이저보다 통합력이 높고, 빠르며, 가볍습니다. DevOps와도 호환되므로 고급 애플리케이션 엔지니어들에게 환영받고 있습니다.
그러나 온프레미스 프로덕션 환경에서의 사용은 특히 기존 애플리케이션이 있을 때 다음 이유로 제한됩니다.
- Kubernetes 출시 주기가 빠르며(한 버전이 9개월간 지원됨), Kubernetes 자체와 생태계가 맹렬한 속도로 진화하고 있어 따라가기 어렵습니다.
- 가상 머신보다 문제 해결이 더 어렵습니다.
- 기존 애플리케이션은 가상 머신과 메커니즘이 다르기 때문에 수정이 필요합니다.
1번 문제는 퍼블릭 클라우드의 관리형 서비스를 사용하면 완화할 수 있지만, 온프레미스에서는 불가능합니다.
서버 가상화 소프트웨어 비교
지금까지 여러 서버 가상화 방법을 소개했습니다. 이번에는 온프레미스 하이퍼바이저로 다음 세 가지 제품을 비교하겠습니다.
- VMware vSphere
- Microsoft Hyper-V
- Oracle Linux KVM
사실 10년 전만 해도 VMware가 압도적으로 우수했습니다. 그러나 그 이후 퍼블릭 클라우드의 확산과 많은 퍼블릭 클라우드 벤더의 Linux KVM 사용으로 인해 크게 개선되었으며, 이제 기능, 성능, 안정성 같은 기본 기능에서 차이가 없습니다(Azure는 Hyper-V를 사용). 일부 조사 결과에서는 KVM이 확장성 면에서 우수하다고 나타나기도 합니다.
예를 들어, Amazon EC2의 기반을 이루는 AWS Nitro System은 전용 SoC(System on a Chip)를 사용한 하드웨어와 KVM 기반 하이퍼바이저로 구성됩니다.
이 소프트웨어 비교에서는 개요를回顾하고 차이가 나타나는 비용 및 운영 측면을 비교하겠습니다.
개요 비교
다음 표는 각 하이퍼바이저의 기본 개요와 주요 기능을 보여줍니다. 더 자세한 비교 표도 있지만 차이가 크지 않으므로 이 수준에서 마무리하겠습니다. 이 표를 통해 각 하이퍼바이저의 개요를 파악해 주세요.
표 02: 하이퍼바이저 비교 (기본)
*1: 하이퍼바이저에 해당 기능이 있음을 나타낼 뿐이며, 호스트 및 게스트 설정에 따라 작동하지 않을 수 있습니다.
비용 비교
가장 큰 차이는 라이선스와 지원 비용입니다. VMware와 Hyper-V는 가격이 복잡하고 일부는 공개되지 않으므로 구체적인 가격은 제시하지 않겠지만, 각 제품에 대한 견적을 받아본 적이 있다면 Oracle Linux KVM이 압도적으로 저렴하다는 것을 알 것입니다. 또한 Oracle 제품을 사용하는 경우 하드 파티셔닝으로 인증되므로 Oracle 라이선스 비용을 크게 줄일 수 있습니다.
표 03: 하이퍼바이저 비교 (비용)
운영 측면 비교
비용 측면과 달리 Oracle Linux KVM은 운영 면에서 열세입니다. 선호하는 벤더의 서버가 공식적으로 지원되지 않더라도 Oracle의 Oracle x86 Server를 사용하면 지원 문제를 해결할 수 있습니다. 문제는 백업 같은 서드파티 도구와 노하우를 가진 엔지니어 부족입니다.
표 04: 하이퍼바이저 비교 (운영)
요약
이제 기본 기능, 성능, 안정성의 차이가 줄어들었으므로 비교할 중요한 점은 “비용”과 “운영”입니다. 예산이 넉넉하고 안전하게 운영하고 싶다면 VMware가 강력한 선택입니다. 또한 Windows Server를 많이 사용한다면 Hyper-V와의 친화성이 높을 것입니다.
Oracle Linux KVM은 비용에 민감한 사람들에게 매력적입니다. 라이선스가 무료이고 지원 비용이 저렴합니다. 특히 Oracle 제품을 사용할 때 하드 파티셔닝을 사용할 수 있어 다른 회사와의 가격 차이가 더 두드러집니다. 남은 우려는 운영 측면입니다. 이를 사내 엔지니어 교육으로 해결할지, 좋은 파트너를 통해 해결할지는 각 회사의 정책과 만남에 따라 결정될 수 있습니다.
참고로 Oracle은 KVM과 VMware vSphere 간의 비교 문서를 공개했으며, 이를 소개하고 싶습니다.