하이퍼바이저란?
하이퍼바이저는 프로세서, 메모리, 스토리지와 같은 컴퓨팅 리소스를 풀링하여 가상 머신(VM)에 재할당하는 소프트웨어입니다. 이 기술을 통해 여러 VM을 생성하여 단일 물리 머신에서 실행하는 가상화가 실현될 수 있습니다.
하이퍼바이저는 가상 머신 모니터(VMM)라고도 합니다. 하이퍼바이저는 VM의 구성 요소들을 분산시키는 작업을 담당하는 감독관과 같습니다. 하이퍼바이저는 물리 하드웨어에서 이러한 리소스를 가져와 여러 VM에 동시에 공급합니다. 따라서 새 VM의 생성과 기존 VM의 관리가 가능해집니다. 하이퍼바이저로 사용되는 물리 하드웨어를 호스트라고 하며 그 리소스를 사용하는 여러 VM을 게스트라고 합니다.
하이퍼바이저의 작동 방식
모든 하이퍼바이저에서 VM을 실행하려면 메모리 관리자, 프로세스 스케줄러, I/O(입력/출력) 스택, 기기 드라이버, 보안 관리자, 네트워크 스택 등의 운영 체제 수준의 구성 요소가 필요합니다.
하이퍼바이저는 각 VM에 할당된 리소스를 제공하고 물리적 리소스에 대한 VM 리소스의 스케줄링을 관리합니다. 예를 들어 하이퍼바이저가 스케줄을 관리하는 동안에도 물리적 하드웨어는 여전히 실행을 수행하므로 CPU는 VM의 요청에 따라 CPU 명령을 실행합니다.
다양한 운영 체제가 나란히 실행되고 가상화된 동일한 하드웨어 리소스를 하이퍼바이저와 공유할 수 있습니다. 이것이 가상화의 주요 장점입니다. 가상화가 없으면 하드웨어에서 하나의 운영 체제만 실행할 수 있습니다.
기존 벤더와 오픈소스에서 제공하는 하이퍼바이저에는 다양한 옵션이 있습니다. VMware는 가상화 솔루션의 선도기업으로 ESXi 하이퍼바이저와 vSphere 가상화 플랫폼을 제공합니다.
커널 기반 가상 머신(KVM)은 오픈소스 옵션으로 Linux® 커널에 내장되어 있습니다. 추가 옵션으로는 오픈소스인 Xen과 Microsoft Hyper-V가 있습니다.
하이퍼바이저 유형
가상화에 사용할 수 있는 하이퍼바이저 유형에는 유형 1과 유형 2의 두 가지가 있습니다.
유형 1
네이티브 또는 베어 메탈 하이퍼바이저라고도 하는 유형 1 하이퍼바이저는 호스트의 하드웨어에서 직접 실행되어 게스트 운영 체제를 관리합니다. 호스트 운영 체제를 대신하며 하이퍼바이저가 하드웨어에 직접 VM 리소스를 예약합니다.
이 유형의 하이퍼바이저는 엔터프라이즈 데이터 센터 또는 기타 서버 기반 환경에서 가장 일반적입니다.
유형 1 하이퍼바이저의 예로는 KVM, Microsoft Hyper-V, VMware vSphere가 있습니다. KVM은 2007년에 Linux 커널에 통합되었으므로 최신 버전의 Linux를 사용 중이라면 KVM에 액세스할 수 있습니다.
유형 2
유형 2 하이퍼바이저는 호스팅된 하이퍼바이저라고도 하며, 기존 운영 체제에서 소프트웨어 계층 또는 애플리케이션으로 실행됩니다.
이 유형은 호스트 운영 체제에서 게스트 운영 체제를 추상화하는 방식으로 작동합니다. VM 리소스는 호스트 운영 체제에 대해 예약된 다음 하드웨어에 대해 실행됩니다.
유형 2 하이퍼바이저는 개인용 컴퓨터에서 여러 운영 체제를 실행하려는 개인 사용자에게 더 적합합니다.
VMware Workstation과 Oracle VirtualBox는 유형 2 하이퍼바이저의 예입니다.
Red Hat 리소스
컨테이너와 VM 비교
개략적으로 보면 컨테이너와 가상 머신은 비슷해 보입니다. 둘 다 다양한 IT 구성 요소를 결합해 시스템의 나머지 부분으로부터 격리하는 패키징된 컴퓨팅 환경입니다. 중요한 차이점은 확장 방식과 이식성에 있습니다.
컨테이너는 시스템의 나머지 부분과 분리된 1개 이상의 프로세스 세트입니다. 컨테이너는 프로세스가 지정된 리소스 요청에만 액세스할 수 있도록 허용합니다. 이러한 리소스 제한은 컨테이너가 충분한 용량을 갖춘 노드에서 실행될 수 있도록 보장합니다.
VM은 자체 운영 체제(OS)를 포함하므로 리소스 집약적인 여러 기능을 동시에 수행할 수 있습니다. VM에서 사용할 수 있는 리소스가 늘어나면 전체 서버, OS, 데스크톱, 데이터베이스, 네트워크를 추상화, 분할, 복제, 에뮬레이션할 수 있습니다.
하이퍼바이저를 사용할 때도 VM에서 여러 운영 체제를 실행할 수 있지만 컨테이너는 단일 유형의 운영 체제만 실행할 수 있습니다. 예를 들어, Linux 서버를 구동 중인 컨테이너의 경우, Linux 운영 체제만 구동할 수 있습니다.
컨테이너가 하이퍼바이저를 대체할 수 있다고 생각되기도 하지만, 컨테이너와 가상화는 서로 다른 요구 사항을 충족하기 때문에 엄밀히 말해 다릅니다.
하이퍼바이저 보안 관련 고려 사항
VM은 시스템의 나머지 부분에서 격리된 환경을 제공하므로 VM 내에서 어떤 대상이 실행되든 호스트 하드웨어에서 실행되는 다른 대상을 방해하지 않습니다.
VM은 격리되어 있기 때문에 VM이 손상되더라도 전체 시스템에 영향을 미치지 않습니다.
그러나 하이퍼바이저 자체가 해킹당하면 하이퍼바이저가 관리하는 모든 VM에 문제가 발생하여 각 VM의 데이터가 취약해질 수 있습니다.
보안 프로토콜 및 요구 사항은 하이퍼바이저 유형에 따라 다를 수 있습니다.
Red Hat의 가상화를 선택해야 하는 이유
하이퍼바이저는 가상화 플랫폼을 위한 기반을 제공합니다. Red Hat®은 KVM 하이퍼바이저를 개선하고 KVM과 oVirt 커뮤니티가 설립된 이래 이 두 커뮤니티에 기여하면서, 오랫동안 가상화 개발을 지원해 왔습니다.
Red Hat OpenShift의 기능인 Red Hat OpenShift® Virtualization은 IT 팀이 가상 머신(VM)을 컨테이너화된 워크플로우로 가져오도록 지원합니다. 컨테이너 내에서 VM을 실행하는 팀은 단일 플랫폼에서 컨테이너와 함께 VM을 나란히 배포하고 관리할 수 있습니다. 따라서 조직은 기존 가상화 제품의 혜택을 누리면서 현대적인 애플리케이션 플랫폼의 편의성과 속도를 함께 활용할 수 있습니다.
기존 가상 머신의 경우 직관적인 무료 마이그레이션 툴을 사용하여 다른 플랫폼에서 OpenShift 애플리케이션 플랫폼으로 마이그레이션할 수 있습니다. 그 결과로 얻는 VM은 동일한 Red Hat OpenShift 노드에서 컨테이너와 함께 실행됩니다.
레드햇 공식 블로그
레드햇 공식 블로그에서 고객, 파트너, 커뮤니티 에코시스템 등 현재 화제가 되는 최신 정보를 살펴 보세요.