개념
하이퍼바이저는 가상 머신(Virtual Machine, VM)을 생성하고 구동하는 소프트웨어입니다. 가상 머신 모니터(Virtual Machine Monitor, VMM)라고도 불리는 하이퍼바이저는 하이퍼바이저 운영 체제와 가상 머신의 리소스를 분리해 VM의 생성과 관리를 지원합니다.
하이퍼바이저로 사용되는 물리 하드웨어를 호스트라고 하며 리소스를 사용하는 여러 VM을 게스트라고 합니다.
하이퍼바이저는 CPU, 메모리, 스토리지 등의 리소스를 처리하는 풀로, 기존 게스트 간 또는 새로운 가상 머신에 쉽게 재배치할 수 있습니다.
모든 하이퍼바이저에서 VM을 실행하려면 메모리 관리 프로그램, 프로세스 스케줄러, I/O(입력/출력) 스택, 기기 드라이버, 보안 관리 프로그램, 네트워크 스택과 같은 운영 체제 수준의 구성 요소가 필요합니다.
하이퍼바이저는 할당되었던 리소스를 각 가상 머신에 제공하고, 물리 리소스에 대해 VM 리소스의 일정을 관리합니다. 물리적 하드웨어는 계속해서 실행 작업을 수행하므로 하이퍼바이저가 일정을 관리하는 동안 CPU가 VM에서 요청한 대로 CPU 명령을 계속 실행합니다.
서로 다른 여러 개의 운영 체제를 나란히 구동할 수 있으며, 하이퍼바이저를 사용해 동일한 가상화 하드웨어 리소스를 공유합니다. 바로 이러한 부분이 가상화의 핵심적인 장점입니다. 가상화가 없다면 하드웨어에서 운영 체제를 1개만 구동할 수 있습니다.
기존 벤더와 오픈소스에서 다양한 하이퍼바이저를 선택할 수 있습니다. VMware는 가상화 솔루션의 선도기업으로 ESXi 하이퍼바이저와 vSphere 가상화 플랫폼을 제공합니다.
커널 기반 가상 머신(KVM)은 오픈소스 옵션으로 Linux® 커널에 포함되어 있습니다. A기타 옵션으로는 오픈소스인 Xen과 Microsoft Hyper-V가 있습니다.
하이퍼바이저 종류
가상화에 사용할 수 있는 하이퍼바이저에는 유형 1과 유형 2 하이퍼바이저가 있습니다.
유형 1
네이티브 또는 베어 메탈 하이퍼바이저라고도 불리는 유형 1 하이퍼바이저는 호스트의 하드웨어에서 직접 구동되어 게스트 운영 체제를 관리합니다. 호스트 운영 체제 대신 VM 리소스는 하이퍼바이저에 의해 하드웨어에 직접 예약됩니다.
이러한 유형의 하이퍼바이저는 엔터프라이즈 데이터 센터와 서버 기반 환경에서 가장 일반적으로 사용됩니다.
KVM, Microsoft Hyper-V, VMware vSphere가 유형 1 하이퍼바이저의 예입니다. KVM은 2007년에 Linux 커널로 통합되었으므로 현대적인 버전의 Linux를 사용하는 경우 이미 KVM 액세스 권한을 갖고 있습니다.
유형 2
호스트 하이퍼바이저라고도 불리는 유형 2 하이퍼바이저는 기존의 운영 체제에서 소프트웨어 레이어 또는 애플리케이션으로서 구동됩니다.
호스트 운영 체제에서 게스트 운영 체제를 추상화하는 방식으로 작동합니다. VM 리소스는 호스트 운영 체제에 따라 예약된 후 하드웨어에 대해 실행됩니다.
유형 2 하이퍼바이저는 개인 컴퓨터에서 여러 개의 운영 체제를 구동하려는 개인 사용자에게 이상적입니다.
VMware Workstation과 Oracle VirtualBox는 유형 2 하이퍼바이저의 예입니다.
컨테이너와 VM 비교
개략적으로 컨테이너와 VM은 유사하다고 볼 수 있습니다. 이 두 가지 모두 다양한 IT 요소를 결합해 시스템의 나머지 부분으로부터 분리하는 패키지 컴퓨팅 환경이기 때문입니다. 중요한 차이점은 확장 방식과 이식성입니다.
컨테이너는 시스템의 나머지 부분과 분리된 1개 이상의 프로세스 세트입니다. 컨테이너는 프로세스가 지정된 리소스 요청에만 액세스할 수 있도록 허용합니다. 이러한 리소스 제한은 컨테이너가 용량이 충분한 노드에서 구동될 수 있도록 합니다.
VM은 자체 운영 체제(Operating System, OS)를 포함하고 있어 여러 리소스 집약적인 기능을 한 번에 수행할 수 있습니다. VM에서 사용할 수 있는 리소스가 늘어남에 따라 전체 서버, OS, 데스크톱, 데이터베이스, 네트워크를 추상화, 분할, 복제, 에뮬레이션할 수 있습니다.
하이퍼바이저는 VM에서 다양한 운영 체제를 구동할 수 있도록 허용하지만, 컨테이너는 단일한 유형의 운영 체제만 구동할 수 있습니다. 예를 들어, Linux 서버를 구동 중인 컨테이너의 경우, Linux 운영 체제만 구동할 수 있습니다.
컨테이너는 경우에 따라 하이퍼바이저의 대안으로 여겨지기도 하지만, 컨테이너와 가상화는 각기 다른 요구 사항을 충족하므로 확실히 그렇다고 할 수는 없습니다.
하이퍼바이저 보안 관련 고려 사항
VM은 시스템의 나머지 부분과 분리된 환경을 제공하므로 VM 내에서 어떤 대상이 실행되든 호스트 하드웨어에서 실행되는 다른 대상을 방해하지 않습니다.
VM은 분리되어 있기 때문에 VM이 손상되더라도 전체 시스템에는 영향을 미치지 않습니다.
그러나 하이퍼바이저가 해킹을 당하는 경우 해당 하이퍼바이저가 관리하는 모든 VM에 문제가 생길 수 있으며 각 VM의 모든 데이터가 취약해집니다.
보안 프로토콜과 요건은 하이퍼바이저 유형에 따라 달라질 수 있습니다.
Red Hat의 가상화를 선택해야 하는 이유
하이퍼바이저는 가상화 플랫폼을 위한 기반을 제공합니다. Red Hat은 KVM 하이퍼바이저를 개선하고 KVM과 oVirt 커뮤니티가 설립된 이래 이 두 커뮤니티에 기여하면서 오랫동안 가상화 개발을 지원해 왔습니다.
Red Hat® Virtualization은 가상화된 Linux 및 Microsoft Windows 워크로드를 위한 오픈 소프트웨어 정의 플랫폼입니다.
RedHat Enterprise Linux와 KVM을 기반으로 구축된 Red Hat Virtualization은 리소스, 프로세스 및 애플리케이션을 가상화하는 관리 툴을 포함하며, 클라우드 네이티브 및 컨테이너화된 안정적인 기반을 제공합니다.
Red Hat은 신속하고 비용 효율적인 가상화를 제공하여 오늘날의 당면 과제를 해결하는 동시에 미래 기술을 위한 기반을 구축할 수 있도록 지원합니다.