본문 바로가기
용어 사전

하이퍼바이저(Hypervisor)란?

by 테크원 2023. 6. 22.
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)

하이퍼바이저(Hypervisor)

하이퍼바이저(Hypervisor)란?

하이퍼바이저호스트 컴퓨터에서 여러 개의 운영 체제를 동시에 실행하기 위한 논리적인 플랫폼입니다. 가상 머신 모니터 또는 가상 머신 매니저라고도 불리며, 컴퓨터의 하드웨어 자원을 가상화하여 각 운영 체제에 할당하고 관리합니다.

 

쉽게 말해 하이퍼바이저는 우리가 사용하는 일반적인 컴퓨터 안에 작은 가상 컴퓨터를 만들어주는데 이 가상 컴퓨터는 각각 다른 종류의 운영 체제를 가질 수 있으며, 각각이 독립적으로 작동하면서 서로 영향을 주지 않습니다. 즉, 하이퍼바이저는 한 대의 컴퓨터에서 여러 개의 가상 컴퓨터를 만들어주는 프로그램이라고 할 수 있습니다.

 

이 하이퍼바이저의 역할은 큰 컴퓨터의 자원을 이 작은 가상 컴퓨터들에게 나눠주고 관리하는 것입니다. 각 가상 컴퓨터는 필요한 만큼의 메모리, CPU 성능, 저장 공간 등의 자원을 할당받아 독립적으로 실행되며 이렇게 가상화된 자원은 각 가상 컴퓨터에 의해 독립적으로 사용되므로 한 가상 컴퓨터의 동작은 다른 가상 컴퓨터에 영향을 주지 않습니다.

 

하이퍼바이저는 각 가상 컴퓨터에 대한 관리 작업을 수행하는데, 가상 컴퓨터의 생성, 시작, 중지, 제거와 같은 작업을 관리하며 가상 컴퓨터 간의 자원 분배, 네트워크 구성, 저장 공간 관리, 보안 설정 등을 조정합니다. 또한 하이퍼바이저는 가상 컴퓨터들을 호스트 컴퓨터에서 동시에 실행하고, 각각을 격리시켜 독립적으로 동작하도록 보장합니다.

 

하이퍼바이저의 종류

하이퍼바이저는 일반적으로 "타입 1"과 "타입 2"로 구분됩니다. 이 구분은 하이퍼바이저가 동작하는 방식에 기초합니다.

- 타입 1 하이퍼바이저(네이티브 또는 베어 메탈 하이퍼바이저)

타입 1 하이퍼바이저는 호스트 컴퓨터의 운영 체제 위에 직접 설치되며, 가상 머신을 실행하기 위한 운영 체제로서의 역할을 수행합니다. 이러한 하이퍼바이저는 최소한의 운영 체제 기능만 갖추고 있으며, 하드웨어와 직접 상호 작용합니다. 즉, 타입 1 하이퍼바이저는 하드웨어와 바로 상호 작용하여 가상화를 담당합니다. 주요 예시로는 Xen, VMware ESX Server, Microsoft Hyper-V 등이 있습니다.

- 타입 2 하이퍼바이저(호스트형 하이퍼바이저)

타입 2 하이퍼바이저는 일반 운영 체제에서 실행되는 애플리케이션으로서, 호스트 운영 체제 위에서 작동합니다. 이러한 하이퍼바이저는 운영 체제의 파일 시스템, 네트워크 스택 등의 기능을 공유하며, 가상 머신은 애플리케이션으로써 실행됩니다. 타입 2 하이퍼바이저의 대표적인 예시로는 VMware Workstation, VirtualBox, Parallels Desktop 등이 있습니다.

 

타입 1 하이퍼바이저는 직접 하드웨어에 설치되어 동작하므로, 성능 면에서 이점을 가집니다. 또한 하이퍼바이저와 게스트 운영 체제 사이의 상호작용이 더 직접적이고 효율적인 반면 타입 2 하이퍼바이저는 호스트 운영 체제에서 실행되기 때문에 호스트 운영 체제의 제약을 받을 수 있으나, 호스트 운영 체제와의 통합이 더욱 쉽고 유연합니다.

 

 

하이퍼바이저의 주요 이점

자원의 효율성과 유연성: 하이퍼바이저는 하드웨어의 자원을 가상화하여 여러 운영 체제에 동적으로 할당하고 관리할 수 있습니다. 이는 자원의 효율적인 활용을 가능하게 하며, 서버나 데이터 센터의 자원 사용량을 최적화하여 비용을 절감할 수 있습니다. 또한, 워크로드의 변화에 따라 리소스를 쉽게 조정하거나 이동할 수 있어 유연한 운영이 가능합니다.

 

안정성과 보안성: 하이퍼바이저는 각 운영 체제를 독립된 가상 머신으로 분리시킴으로써 안정성과 보안성을 향상시킵니다. 가상 머신 간의 상호 영향을 차단하여 한 가상 머신에서 발생한 문제가 다른 가상 머신에 영향을 주지 않도록 보호합니다. 이는 시스템의 안정성을 유지하고 장애 복구를 용이하게 합니다. 또한, 하이퍼바이저는 가상 머신에 대한 접근 권한을 제어하여 보안 위협으로부터 보호할 수 있습니다.

 

하드웨어 독립성: 하이퍼바이저는 운영 체제와 애플리케이션을 하드웨어로부터 추상화하여 특정 하드웨어 설정에 구속되지 않고 소프트웨어를 구성, 배포, 관리할 수 있습니다. 이는 다양한 하드웨어 플랫폼에서 소프트웨어를 실행하거나 마이그레이션하는 데 유용합니다. 즉, 동일한 하이퍼바이저를 사용하여 다양한 하드웨어에서 작동하는 가상 머신을 생성할 수 있습니다.

 

다양한 사용 사례: 하이퍼바이저는 클라우드 컴퓨팅, 서버 가상화, 데스크톱 가상화, 레거시 시스템 연속성 등 다양한 분야에서 활용될 수 있습니다. 이는 하이퍼바이저가 여러 운영 체제와 애플리케이션을 동시에 실행하고 효율적으로 관리할 수 있는 능력을 갖추고 있기 때문입니다. 이러한 다양한 사용 사례를 통해 기업은 비용 절감, 자원 최적화, 운영 효율성 향상 등의 이점을 얻을 수 있습니다.

 

하이퍼바이저의 단점

성능 저하: 하이퍼바이저는 가상 머신 간의 자원 공유와 관리를 위해 오버헤드를 발생시킵니다. 이로 인해 실제 하드웨어에서 직접 실행하는 것보다 성능이 약간 저하될 수 있습니다. 특히, 입출력 작업에 민감한 응용 프로그램의 경우 성능 저하가 더욱 두드러질 수 있습니다.

 

하드웨어 종속성: 하이퍼바이저는 하드웨어를 추상화하기 때문에 특정 하이퍼바이저가 지원하는 하드웨어 플랫폼에 종속적일 수 있습니다. 다른 하드웨어 플랫폼으로 이전하려면 호환성 문제가 발생할 수 있으며 추가적인 작업과 호환성 검사가 필요할 수 있습니다.

 

단일 장애 지점: 하이퍼바이저는 모든 가상 머신의 관리와 제어를 담당하는 중앙 집중화된 시스템입니다. 따라서 하이퍼바이저에 문제가 발생하면 모든 가상 머신이 영향을 받을 수 있습니다. 이는 단일 장애 지점(Single Point of Failure)으로 작용할 수 있으며, 이에 대한 대비책이 필요합니다.

 

호환성 문제: 모든 운영 체제와 애플리케이션이 하이퍼바이저에서 원활하게 작동하는 것은 아닐 수 있습니다. 특히, 오래된 운영 체제나 특정 애플리케이션은 하이퍼바이저와 호환되지 않거나 추가 구성이 필요할 수 있습니다.

 

복잡성과 관리 부담: 하이퍼바이저를 구성하고 관리하는 것은 복잡할 수 있습니다. 가상 머신의 생성, 구성, 모니터링, 보안 패치 등 다양한 작업을 수행해야 하며, 이에 대한 전문 지식과 추가 인력이 필요할 수 있습니다.

 

라이선스 비용: 상용 하이퍼바이저 소프트웨어의 사용은 라이선스 비용이 발생할 수 있습니다. 특히 대규모 환경에서 여러 라이선스를 필요로 하는 경우 비용 부담이 크게 증가할 수 있습니다.

 

 

하이퍼바이저와 컨테이너의 차이점

1. 가상화 수준

하이퍼바이저는 하드웨어 수준에서 가상화를 수행하며, 각 가상 머신에 운영 체제와 애플리케이션을 설치합니다. 반면에 컨테이너는 운영 체제 수준에서 가상화를 수행하며, 운영 체제의 커널을 공유하고 각 컨테이너는 애플리케이션과 필요한 라이브러리만을 포함합니다.

2. 성능

하이퍼바이저는 하드웨어와 운영 체제를 모두 가상화하기 때문에, 컨테이너보다 더 많은 리소스를 소비하고 실행 속도가 느릴 수 있습니다. 반면에 컨테이너는 운영 체제의 일부만을 가상화하기 때문에 하이퍼바이저보다 적은 리소스를 소비하고 빠른 실행 속도를 보입니다.

3. 보안

하이퍼바이저는 각 가상 머신을 완전히 분리하여 한 가상 머신에서 발생한 문제가 다른 가상 머신에 영향을 주지 않습니다. 이로써 보안성이 높아집니다. 그러나 컨테이너는 운영 체제의 커널을 공유하기 때문에 한 컨테이너에서 발생한 문제가 다른 컨테이너에 영향을 줄 수 있습니다. 따라서 하이퍼바이저는 컨테이너보다 더 안전하다고 볼 수 있습니다.

4. 사용 사례

하이퍼바이저는 서로 다른 운영 체제를 실행하거나 레거시 시스템을 유지하고자 할 때, 또는 장애 복구나 백업을 수행하는 등의 경우에 유용합니다. 반면에 컨테이너는 동일한 운영 체제를 사용하면서 애플리케이션의 이식성과 확장성을 높이거나, 마이크로서비스 아키텍처를 구현하는 등의 경우에 유용합니다.

 

둘의 차이를 표로 정리하면 다음과 같습니다.

 

  하이퍼바이저 컨테이너
가상화 수준 하드웨어 수준 운영 체제 수준
성능 리소스 소비가 많고 실행 속도가 느림 리소스 소비가 적고 실행 속도가 빠름
보안 각 가상 머신이 완전히 분리되어 안전함 운영 체제의 커널을 공유하여 취약할 수 있음
사용 사례 서로 다른 운영 체제를 실행하거나 레거시 시스템을 유지하거나 장애 복구나 백업을 수행하는 경우에 유용함 동일한 운영 체제를 사용하면서 애플리케이션의 이식성과 확장성을 높이거나 마이크로서비스 아키텍처를 구현하는 경우에 유용함

 

반응형