컴퓨터프로그래밍
하이퍼바이저(Hypervisor)
signal시노
2024. 7. 22. 21:42
하이퍼바이저(Hypervisor)는 가상화 기술을 지원하는 소프트웨어나 하드웨어 시스템으로, 여러 운영체제가 동시에 하나의 물리적 하드웨어에서 실행될 수 있도록 합니다. 하이퍼바이저는 가상 머신(VM, Virtual Machine)을 관리하고 제어하는 역할을 합니다. 하이퍼바이저와 VM은 서로 다른 개념이지만 긴밀하게 연관되어 있습니다.
하이퍼바이저(Hypervisor)
하이퍼바이저는 가상화를 구현하기 위한 핵심 기술로, 두 가지 주요 유형으로 분류됩니다:
- 타입 1 하이퍼바이저 (Type 1 Hypervisor):
- **베어 메탈 하이퍼바이저(Bare-metal Hypervisor)**라고도 불립니다.
- 물리적 하드웨어에서 직접 실행됩니다. 즉, 하이퍼바이저 자체가 운영체제 역할을 하며, 하드웨어 리소스를 가상 머신에 직접 할당합니다.
- 예: VMware ESXi, Microsoft Hyper-V, Xen.
- 타입 2 하이퍼바이저 (Type 2 Hypervisor):
- **호스트형 하이퍼바이저(Hosted Hypervisor)**라고도 불립니다.
- 기존의 운영체제 위에서 실행되는 애플리케이션으로, 호스트 운영체제가 하드웨어 리소스를 관리하며 하이퍼바이저는 가상 머신을 실행합니다.
- 예: VMware Workstation, Oracle VirtualBox.
가상 머신(Virtual Machine)
가상 머신은 하이퍼바이저에 의해 생성되고 관리되는 독립적인 실행 환경으로, 각 가상 머신은 자체적인 운영체제와 애플리케이션을 실행할 수 있습니다. 가상 머신은 물리적 하드웨어 자원을 가상화하여, 물리적 하드웨어에서 독립적인 시스템처럼 동작합니다. 각 가상 머신은 다음과 같은 구성 요소를 포함합니다:
- 가상 CPU(Virtual CPU):
- 실제 물리적 CPU의 일부를 가상화하여 가상 머신에 할당합니다.
- 가상 메모리(Virtual Memory):
- 실제 물리적 메모리를 가상화하여 가상 머신에 할당합니다.
- 가상 디스크(Virtual Disk):
- 실제 디스크 공간을 가상화하여 가상 머신에 할당합니다. 가상 디스크 파일은 물리적 디스크에 저장됩니다.
- 가상 네트워크 인터페이스(Virtual Network Interface):
- 가상 머신이 네트워크에 연결될 수 있도록 가상 네트워크 어댑터를 제공합니다.
하이퍼바이저와 가상 머신의 관계
- 하이퍼바이저는 가상 머신을 생성, 실행, 관리하는 소프트웨어입니다.
- 가상 머신은 하이퍼바이저에 의해 생성된 독립적인 가상 환경으로, 물리적 하드웨어의 리소스를 공유하지만 독립적인 시스템처럼 동작합니다.
하이퍼바이저의 역할과 기능
- 리소스 할당:
- CPU, 메모리, 디스크 및 네트워크 자원을 각 가상 머신에 적절하게 할당합니다.
- 가상 머신 격리:
- 각 가상 머신이 독립적으로 실행되도록 하여, 한 가상 머신의 문제나 보안 취약점이 다른 가상 머신에 영향을 미치지 않도록 합니다.
- 가상 머신 스케줄링:
- 가상 머신의 실행을 스케줄링하여, 물리적 리소스를 효율적으로 사용하고 성능을 최적화합니다.
- 리소스 가상화:
- 물리적 하드웨어 자원을 가상화하여, 가상 머신이 하드웨어를 직접 사용하는 것처럼 보이게 합니다.
결론
- 하이퍼바이저는 가상 머신을 관리하고 실행하는 소프트웨어나 하드웨어 시스템입니다.
- 가상 머신은 하이퍼바이저에 의해 생성된 독립적인 가상 환경으로, 자체 운영체제와 애플리케이션을 실행합니다.
- 하이퍼바이저는 물리적 하드웨어 자원을 가상화하여 여러 가상 머신이 하나의 물리적 시스템에서 동시에 실행될 수 있도록 합니다.
하이퍼바이저와 가상 머신은 가상화 기술의 핵심 구성 요소로, 이들을 통해 효율적인 자원 관리, 시스템 격리, 테스트 환경 구축 등 다양한 이점을 얻을 수 있습니다.