컴퓨팅 자원 대통합 '가상화 기술'
가상화 기술, 어디까지 와 있나
일반적으로 우리가 사용하는 데스크탑 및 노트북은 인텔과 AMD CPU를 탑재하고 있다. 데스크탑용 CPU외에도 고성능 CPU에 해당되는 인텔 제온 프로세서와 AMD 옵테론 프로세서를 장착한 서버를 총칭하여 x86 기반의 아키텍처 시스템이라 한다.
x86 기반의 아키텍처에서 동작하는 대표적인 운영체제로는 MS의 윈도우 계열과 리눅스 계열이다.
가상화 기술
시스템의 유휴자원을 좀 더 효율적으로 활용할 수 있는 방안을 제시한다. 가상화 기술은 하나의 물리적인 하드웨어 박스를 가상적인 몇 개의 시스템으로 논리적 파시셔닝을 제공한다. 이를 통해 기존 시스템의 유휴자원을 가상 시스템 전용 자원으로 재활용하며 물리적인 하나의 하드웨어 장비와 시스템 자원 활용률을 향상시킨다.
또한, 하나의 물리적인 하드웨어 장비를 가상화 기술 적용으로 몇 개의 논리적인 가상머신(VM : Vritual Machine)으로 탈바꿈시켜 각각에 대한 자원활용 및 가상머신의 운영에 대한 독립성을 보장한다.
가상화 제품의 기원과 종류
최초의 가상화 기술 탄생과 적용은 메인프레임에서 시작됬다. 메인프레임에서 애플리케이션 구동 및 운영체제 관리를 위해 제공되는 시스템 자원 중 유휴자원을 부수적으로 부가 업무를 수행할 수 있도록 하나의 하드웨어 장비 안에 가상머신이란 객체를 생성한다.
가상머신에 이들 시스템의 유휴자원을 할당하여 가상적인 머신을 생성하고 테스트 운영하는데 적용하는 기술로 처음 개발되었다. 이러한 기술을 시스템 가상화(System Virtualization)기술이라고 한다.
시스템 가상화 기술의 구분
1. 하드웨어 레벨의 가상화 제품
2. 운영체제 레벨의 가상화 제품
3. 하이레벨 언어를 이용한 가상화 제품
1. 하드웨어 레벨의 가상화
- 가상화를 제공하는 가상화 계층(Virtualization Layer)이 물리적인 하드웨어 또는 호스트 운영체제 위에 위치.
가상화 계층에 의해 생성된 가상머신에 게스트 운영체제를 생성함.
- 특징 : 가상화 계층 내의 주요 구성 요소 가운데 하나인 VMM(Vritual Machine Monitor)이다.
VMM
물리적인 하드웨어를 가상머신의 하드웨어에 매핑시키고 게스트 운영체제의 자원 활용을 관리하는 업무를 수행
- Bare-Metal/Hypervisor(전가상화) 제품
가상화 소프트웨어가 수정하지 않은 게스트 운영체제를 100% 완전 가상화 환경 위에서 제공함에 따라 전가상화 제품이라고도 한다.
이 환경은 범용적인 x86 가상화 하드웨어(CPU, 메모리, 디스크, I/O디바이스 등)를 VMM 위에 구성
- Para-virtualization(반가상화) 제품
위와 동일한 방식으로 역할을 수행하지만, 일반적인 게스트 운영체제 측면에서 VMM과의 원활한 통신을 위해 가상화 구성 전 게스트 운영체제의 API를 일부 수정하여 적용한 제품이다.
- Hosted(호스트 기반) 제품
VMM이 호스트 운영체제 위에 설치되어 가상머신을 생성하는 아키텍처로 게스트 운영체제 측면에서 별도의 수정 및 간섭없이 호스트 운영체제가 인식한 하드웨어를 가상 하드웨어로 재구성한다.
가상화 제품 구현 및 활용적인 측면에서는 Bare-Metal/Hypervisor 제품과 호스트 기반의 가상화 제품이 범용성적인 측면에서 보다 성숙된 환경을 제공한다.
2. 운영체제 레벨의 가상화 제품군
가상화를 제공하는 가상화 계층(Virutalization Layer)이 호스트 운영체제 윗부분에 추가하여 가상화 환경을 제공하는 가상화 제품이다. 단일 호스트 운영체제 위에 다중 애플리케이션 전용 컨테이너를 생성하여 애플리케이션 단위의 가상화 환경을 제공한다.
운영체제 레벨의 가상화 제품은 호스트 운영체제 위의 가상 운영체제 생성방식에 따라 Containers와 Hardware Emulators로 나뉜다.
- Containers
가상화 계층이 호스트 운영체제 내에 임베디드 형태로 구성되고 각각의 애플리케이션별로 추가적인 컨테이너를 생성하는 방식. 각각의 컨테이너 안에 생성된 가상 운영체제와 호스트 운여체제에 있는 공통 커널을 공유, 사용.
- Hardware Emulators
애플리케이션 중심의 가상 운영체제를 생성하는 과정에서 소프트웨어 적으로 하드웨어를 가상 에뮬레이팅 하는 방식!
운영체제 레벨의 가상화 제품은 기본적으로 단일 호스트 운영체제 위에 구성되는 애플리케이션 중심의 가상 운영체제를 생성한다.
3. 하이레벨 언어를 이용한 제품군
특정 컴퓨터 프로그램 언어를 이용한 가상머신 환경 구성 제품.
대표적인 객체 지향 언어인 자바와 Smalltalk등과 같은 프로그램 언어를 이용하여 하드웨어에 독립적이고 이식성이 뛰어난 버추얼 머신을 생성한다.
하이레벨 언어를 이용하여 구성한 제품은 실질적인 가상 운영체제 구성을 통한 시스템 자원의 유틸라이즈 목적이라기보다는 특정 애플리케이션에 대해 호스트 운영체제 및 하드웨어와 독립적인 환경을 구성하기 위한 목적으로 폭넓게 사용되고 있다.
가장 범용적인 가상화 제품 적용의 장점
기존 시스템 자원에 대해 유틸라이징 되지 못한 x86서버를 하나의 물리적인 하드웨어 위에 다량의 가상화 서버로 전환, 통합하고 하드웨어 시스템 자원의 활용도를 높이는데 있다.
댓글 없음:
댓글 쓰기