가상화기술
1. 하드웨어 레벨 가상화(hardware-level Virtualization)
- 가상화를 제공하는 가상화 계층이 물리적인 하드웨어 or HostOS 위에 위치
- 가상화 계층에 의해 생성된 가상 머신에 GuestOS를 생성
이 기술은 구성 위치에 따라 Bare-Metal/Hypervisor(전가상화), Para-Virtualization(반가상화), Host기반 가상화로 나뉘며
가장 큰 특징은 가상화 계층 내의 주요 구성 요소인 VMM(Virtual Machine Monitor)이다.
VMM(Virtual Machine Monitor)
1) 물리적인 하드웨어를 가상머신의 하드웨어에 Mapping
2) GuestOS의 자원 활용을 관리
1.1 전가상화(Bare-Metal/Hypervisor)
전가상화 및 반가상화는 가상 머신의 하드웨어를 에뮬레이팅 하는 대신에 Hypervisor라는 제어 프로그램을 통해
호스트의 하드웨어 자원을 가상 머신의 여러 운영체제가 나누어 사용하도록 하는 기법
전가상화는 가상화 소프트웨어가 수정하지 않은 게스트 운영체제를 100% 완전 가상화 환경 위에서 제공하는 기술로
범용적인 x86 가상화 하드웨어 (CPU, 메모리, 디스크, I/O 장치 등)를 VMM위에 구성 하여
Guest OS 측면에서 별도의 수정 및 간섭이 필요 없다.
이러한 기법을 이용한 제품에는 HP Integrity VM, IBM zSerises z/VM, VMware ESX Server, Xen(with HW assist) 등이 있다.
1.2. 반가상화
반가상화의 기본적인 구성 방법은 전가상화 방법과 동일
Guest OS 측 면에서 VMM과의 원활한 통신을 위해 Guest OS의 커널 일부분을 수정하여 적용한다.
이 방법은 일부 가상화 하드웨어 자원에 대해 필요에 따라 직접적으로 물리적 하드웨어 접근을 일부 허용한다.
반가상화는 전가상화에 비해 기존 시스템에 가까운 성능을 나타내 기 위해 지원하지만,
Guest OS의 커널 일부분을 수정해야 한다는 부분이 단점으로 지적된다.
반가상화 기법을 이용한 제품으로는 오픈 소스인 Xen, Citrix사의 XenServer 등이 있다.
1.3. 호스트 기반 가상화
VMM이 Host OS 위에 설치되어 가상머신 을 생성하는 구조
Guest OS는 Host OS가 인식한 하드웨어를 가상 하드웨어로 재구성하여 사용하는 방법이다.
이 방법은 Host OS가 설치된 환경 위에 구동 되어 성능은 물론 자원관리 능력 측면에서 제약사항이 많은 편이나
일반인들이 사용하기에는 쉬운 장점이 있 다.
이 기술이 적용된 제품으로는 Microsoft의 Virtual Server 및 Virtual PC, VMware Server, VMware Workstation, VMware Player 등이 있다.
2.2. 운영체제 레벨 가상화
운영체제 레벨 가상화는 하나의 CPU에 하나의 운영 체제만 수행되고,
가상화 계층(Virtualization Layer)이 호스트 운영체제 윗부분에 존재하여 가상화 환경을 제 공하는 방법을 말한다.
단일 호스트 운영체제 위에 다 중 애플리케이션 전용 컨테이너를 생성하여 애플리케 이션 단위의 가상화 환경을 제공한다.
각각의 애플리케 이션 컨테이너 안에는 가상 운영체제와 네트워크, 프로세서 등을 생성한다.
이 방법은 크게 두 가지 방식으로 분리하는 데 하나는 Containers방식이고 또 다른 하나는 Hardware Emulator방식이다.
Container방식은 가상화 계층이 호스트 운영체제 내 에 임베디드 형태로 구성되고,
각각의 애플리케이션별 로 추가적인 컨테이너를 생성하는 방식이다.
각각의 컨 테이너안에 생성된 가상 운영체제와 호스트 운영체제 에 있는 공통 커널을 공유하고 사용한다.
대표적인 제품이 오픈 소스인 OpenVZ, Parrells사(구 SWSoft)의 Virtuozzo, FreeBSD Jail,
HP의 Secure Resource Partitions, Sun의 Solaris Containers Zones, User-Mode Linux, Docker 등이 있다.
Hardware Emulator은 애플리케이션 중심의 가상 운영체제를 생성하는 과정에서
소프트웨어적으로 하드 웨어를 가상 에뮬레이팅하는 방식이다.
대표적인 제품 으로는 마이크로소프트사의 Virtual PC for Mac, QEMU, Bochs 등이 있다.
운영체제 레벨의 가상화 기법은 기본적으로 단일 호스트 운영체제 위에 구성되는 애플리케이션 중심의 가상 운영체제를 생성한다.
각각 의 가상 운영체제는 호스트 운영체제와 커널 구성 측면 의 공유로 운영체제를 사용함으로써,
다음에 열거된 하드웨어 레벨의 전가상화 제품에 비해 성능적으로 많은 제약사항을 가지고 있다.
또한 지원 가능 애플리케이션 이나 다양한 가상 운영체제 구성 역시 한계성을 가지고 있다.
Reference
웹 서버 구성을 통한 가상머신과 컨테이너 방식 비교 분석 / 배유미1 · 정성재2 · 소우영
'정리 > 시스템' 카테고리의 다른 글
apm+phpmyadmin error (0) | 2016.12.28 |
---|---|
Docker (0) | 2016.12.27 |
기술 (0) | 2016.12.24 |
Pacemaker (0) | 2016.12.13 |
The Btrfs File System (0) | 2016.12.12 |
댓글