반응형

 

가상화

 

 

가상화 시스템(Virtual System)이란?

 가상화(Virtualization)는 컴퓨터에서 컴퓨터, 리소스의 추상화를 일컫는 광범위한 용어이다 ‘물리적인 컴퓨터 리소스의 특징을 다른 시스템, 응용 프로그램, 최종 사용자들이 리소스와 상호 작용하는 방식으로부터 감추는 기술’로 정의할 수 있다 이것은 다중 논리 리소스로서의 기능을 하는 것처럼 보이는 서버, 운영 체제, 응용 프로그램, 또는 저장 장치와 같은 하나의 단일 물리 리소스를 만들어 내거나 단일 논리 리소스처럼 보이는 저장 장치나 서버와 같은 여러 개의 물리적 리소스를 만들어 낼 수 있다 이러한 개념을 가상화라 하며, 가상화의 개념이 적용된 체계를 가상화 시스템이라고 부른다 일반적으로 서버, 스토리지, 네트워크와 같은 전통적인 단위 하드웨어 자원에 많이 적용되어왔다 현재는 하드웨어 차원의 IT 리소스에만 한정되지 않고 애플리케이션, 미들웨어, 분산시스템 및 가상화 자원들 자체를 포함하여 비실체적인 자원들에 대해서도 적용 되고 있다 물리적 자원을 Sharing, Aggregation, Emulation, Insulation 하여 가상자원으로써 사용할 수 있다.

 

1) 공유(Sharing) : 

 가장 대표적인 가상화의 기능으로서 다수의 많은 가상자원들이 하나의 동일한 물리적자원과 연결되어있거나 가리키는것을 말한다. 물리적 자원의 일부분을 가상화 된 자원마다 할당하거나 혹은 물리적 자원에 대하여 타임쉐어링 기법으로 공유하는 방식이 주로 사용된다. 이러한 형태의 가상화는 가상화자원을 사용하는 여러사용자들(애플리케이션또는서비스)이 물리적자원을 공유하게 해주며, 이때 각 사용자는 마치 자기가 해당 자원을 혼자서만 사용하는것과 같은 착각을 하게된다. 대표적 사례로는 서버내의 논리적파티셔닝(LPARs), 가상머신(VM), 가상디스크, 가상LAN(VLANs)을들수있다.

 

2) 단일화(Aggregation) :

 공유의 반대되는 가상화 개념으로서, 가상자원은 여러개의 물리적자원들에 걸쳐서 만들어질 수 있으며, 이를통해 외견상 전체용량을 증가시키고 전체적인 관점에서 활용과 관리를 단순화 시켜줄 수 있다. 예를들어, 스토리지 가상화는여러개의 물리적디스크 시스템에 남아있는 각각의 유휴디스크들을 하나의 가상화 된 디스크로 만들어주는데, 이때 가상화된 디스크는 가상디스크를 만드는데 사용되어진 어떤 물리적 디스크보다도 더 커질수있다.

 

3) 에뮬레이션(Emulation) : 

 물리적자원 자체에는 원래부터 존재하지 않았지만 가상자원에는 어떤기능들이나 특성들을 마치 처음부터 존재했던것처럼 가질수 있다. 예를들어 IP 네트워크상에서 가상SCSI 버스를 구현하는 iSCSI 또는 물리적디스크 스토리지상에 구현된 가상테이프 스토리지 등이 여기에 속한다. 또 다른 형태의 에뮬레이션에는 여러개의 제각기 다른 물리적자원들을 표준 구성요소형태인것처럼 가상자원으로 표시하는것이 있다. 여러종류의 이더넷 인터페이스를 마치 하나의특정한 표준이더넷 인터페이스 모델로 나타내는것이 그 예이다.

 

4) 절연 (Insulation) : 

 가상화된 자원들과 물리적자원들간의 상호맵핑은 가상화자원들 또는 가상화자원들을 사용하는 사용자들에게 아무런 영향을 미치지 않으면서 물리적자원들이 교체될 수 있도록 해준다. 이것은 투명한변경(Transparent Change)이라고 불리우며, 투명한변경은 가상화에 있어서 하나의 부가적인 혜택이기도 하지만, 때때로 그 자체가 하나의 기술로서 중요한의미를 갖기도 한다. CPUgard 옵션처럼 어떤 가상 프로세서가 결함이 발생하였거나 혹은 곧 발생하려는 물리적 프로세서에서 다른 정상적인 물리적 프로세서로 자동적으로 옮겨간다거나, 디스크의 결함을 사용자들로부터 숨기기위해다중디스크(Redundant Disk)를사용하는 RAID 스토리지 컨트롤러가 대표적인 사례들이다. 달리말해 장애방지(Failure Proof)의 효과라고 볼 수 있다. 

 

가상화 종류 

- 서버 가상화

- 네트워크 가상화

- 스토리지 가상화

 

* 본문에서는 서버 가상화만을 다룬다.

 

서버 가상화 

1) Managed Runtime

2) 물리적파티셔닝(Physical Partitioning)

3) 가상머신(Virtual Machine)

4) 논리적파티셔닝(Logical Partitioning)

5) I/O 가상화

 

최근의 서버 가상화는 위의 기술이 각각 사용되는 것이 아니라 하나의 통합기술로서 적용되어진다. ( 물리적 파티셔닝은 제외. ex - IBM社 LPAR )

서버 가상화의 솔루션으로서 '하이퍼바이저'라는 키워드가 존재한다. 서버 가상화의 핵심은 하이퍼바이저라는 하나의 커맨더에 의해 모든 것들이 Managed되는 것이다. 리소스 관리는 물론, 논리적 파티셔닝을 하고 그 위에 VM을 올린다.

 

하이퍼바이저 종류

 

1) Native, Bard-metal Type( Host OS 없음)

Ex) ESXi, XenServer, Hyper-v

 

하드웨어에 직접 설치되어 여러 개의 OS를 돌린다 호스트OS가 없어 리소스를 따로 할당하지 않아도 되며 호스트형 가상화에 비해 오버헤드가 적고, 리소스 관리가 유연하다 자체적으로 관리기능을 가지고 있지 않아 별도의 관리 콘솔 혹은 관리컴퓨터가 필요하다

 

Type 1 하이퍼바이저는 다시한번 종류를 다음과 같이 나눌 수 있다

 

1 - 1) 전가상화

히드웨어를 모두 가상화(Full Virtualization)하여 호스팅되는 OS의 수정 없이 다양한 OS를 지원해줄수 있다 각 Guest(OS)의 동작 하나하나가  하이퍼바이저에 의해 관리 되도록 전체를 가상화하기 때문에 퍼포먼스 저하가 생김

 

1 - 2) 반가상화

하드웨어를 반가상화(Para Virtualization)하여 호스팅되는 Guest(OS)가 직접적으로 하드웨어 제어를 하이퍼 콜( Hyper Call )을 통해서 수행한다. 게스트 OS가 하이퍼바이저가 직접 하지 않고 하이퍼 콜을 통해서 하드웨어 동작이 수행되기 때문에 하이퍼바이저의 부하가 낮아진다 퍼포먼스가 좋은 편

 

 

2) Host Type( Host OS 존재 )

Ex) VMWare Workstation, Virtual Box

 

호스트 운영체제에서 실행되며 이것의 관리하에 운영체제가 관리된다 게스트 OS의 종류에 제약이 적고, 손쉽게 도입이 가능하다 그러나 네이티브 방식에 비해 오버헤드가 크다

 
가상화 장단점

장점 

단점 

높아진 자원 활용률

낮아진 관리 비용

사용의 유연성

향상된 보안

높아진 가용성

증가된 확장성 

 물리적 장애 발생시 가상화 서버 전체에 영향

직관적이지 않은 환경(가상)의 유지보수 어려움

병목현상 고려 필요

라이선스 관리 복잡

 

 

가상화 벤더/브랜드 종류 및 장단점

 

VMWare – VMWare workstation, vCenter

강력한 기능, 편리성, 성능, 높은 안정성

일부 기능 라이선스 필요

하이퍼바이저 - ESXi( ESX 업그레이드 ) = vSphere

 

Citrix – XenServer

효율적 자원 관리, 젠서버(Server)에서 구동, recovery 편리

32비트 환경 제공 X, 윈도우 화면 전환 느림

하이퍼바이저 - XenServer

 

Oracle – Virtual Box

무료(오픈소스), 작은 용량, 높은 호환성

기능 제한, 단순 작업 시 사용 용이

하이퍼바이저 - VM

 

IBM – PowerVM

프로세서 간 자유로운 자원이동 가능, 동작중인 AIX 및 Linux VM을 서버간 이동 가능

레퍼런스가 부족

하이퍼바이저 - z/VM

 

MS – Hyper-V

윈도우에 내장된 가상머신, 접근 용이, 빠른 속도

높은 요구사항, Hyper-V 설치 시 인텔 가상화 기술을 독점(Hyper-V 전용으로 고정)

하이퍼바이저 - Hyper-V

 

대부분 리눅스 커널 기반의 KVM ( Kernel-based Virtual Machine )이라는 하이퍼바이저 오픈소스 기반의 커스터마이징 하이퍼바이저이다. Citrix XenServer같은 경우는 Xen의 XenProject( Xen )을 사용

 

참조

IBM社 가상화 기술 백서 中

반응형

'이론 정리' 카테고리의 다른 글

한글 인코딩  (0) 2019.06.04
가상화 ( IO )  (0) 2018.02.11
TCP/IP  (0) 2018.02.10
DNS  (0) 2018.02.08
Socket / Port  (0) 2018.02.05

+ Recent posts