본문 바로가기
기술 단어장/Network

[가상화] 가상화와 가상화의 종류

by MFDO 2023. 6. 17.


가상화

: 물리적 컴퓨팅 자원들을 논리적 자원으로 변환시켜 추상화 화는 것

 

- 여러 운영체제를 하나의 물리 머신에서 동시에 실행 가능하다.

- 가상화를 하는 대상에 따라 다양하게 분류 될 수 있다.

+ 레드햇의 설명 : https://www.redhat.com/ko/topics/virtualization/what-is-virtualization

 

 


 

가상화의 종류

 


 

가상화의 종류 : 호스트 OS 가상화

: 호스트 OS의 위에 VMM을 설치해 Gest OS를 동작시키는 것

 

- 구성 형태

> 호스트 OS : H/W에 직접 동작하는 OS

> VMM : 가상 머신 생성/관리 및 거버넌스 지원

 

- 장점 : 완전한 운영체제와 어플리케이션을 실행가능해 높은 호환성

- 단점 : H/W 자원 접근을 호스트 OS를 통하기 때문에 성능 손실

 

- 관련 S/W : WMware Workstation, MS Virtual PC, VirtualBox

 

 

* VMM : Virtual Machine Monitor

 

 


 

가상화의 종류 : 하이퍼바이저 가상화

: 호스트 OS 없이 VMM을 직접 H/W에 동작시키는 방식

 

- 구성 형태

- 장점 : 호스트형에 비해 적은 오버헤드, 리소스 관리의 유연함

- 단점 : 자체 관리 기능이 없어 별도의 관리 콘솔/컴퓨터가 필요

 

- 분류 : 전 가상화, 반가상화

> H/W와 교류하는 방식에서의 차이

 

- 관련 S/W : Citrix XenServer, MS hyper-V, KVM

 

 


 

가상화의 종류 : 전가상화(Full-Virtualization)

: 하드웨어를 완전히 가상화하는 방식

 

- 구성 형태

- 특징

 1) 게스트 OS를 호스트 시스템과 완전 분리

 2) 게스트 OS의 하드웨어 자원 이용을 위해, 하이퍼바이저 중재 필수

 3) VM은 가상화된 H/W를 진짜 물리 H/W로 인지한다

 4) 본래 system call에 의해 App Kernal Hardware 순서로 서비스를 요청,  
     해당 과정을 하이퍼바이저 단에서 처리

 

- 하이퍼바이저 역할 : H/W 접근, 명령 번역, 자원 할당

 

- 장점 : 호스트 OS에 종속X, 완전 독립된 가상화 환경 제공

- 단점 : H/W 가상화로 인해 오버헤드가 발생하여 성능이 일부 손실

 

 

* Hardware Virtual Machine이라고도 불림

* Hypervisor의 레이어는 DOM0에 속한다.

* DOM0 : 하이퍼바이저에서 직접 실행되는 가상머신 도메인

 

가상화의 종류 : 반가상화(Para-Virtualization)

: 게스트 OS를 일부 수정하여 필요 H/W 자원을 직접요구

 

- 구성 형태

 

- 특징

 1) H/W를 완전 가상화하지 않음

 2) 게스트 OS의 커널을 수정함

   > 수정을 통해 H/W 직접 접근이 가능해짐 => 명령 번역 필요 X

 

- 하이퍼바이저 역할 : 자원 분배

 

- 장점 : 모든 명령을 DOM0를 통해 요청하는 전가상화에 비해 빠름

- 단점

  > Hyper Call 요청을 할 수 있도록 각 OS의 커널을 수정해야함

  > 오픈소스 OS가 아니면 반가상화를 이용하기가 쉽지 않음

 

 

* Hyper Call : 하이퍼 바이저에 대한 직접 요청하는 인터페이스

* 윈도은 본래 반가상화가 불가했지만, Xen의 제공툴로 가능해졌다.

 

가상화의 종류 : 컨테이너 가상화

: SW을 가상화여 프로세스간 격리 구조

 

- 구성 형태

 

- 특징

 1) OS가 아닌 SW의 가상화

 2) 실행을 위한 환경을 묶어 어디서든 오류없이 동작 가능

 3) 하이퍼바이저와 게스트OS가 필요X => 가벼움

 4) 컨테이너에 OS 미포함, 부팅 X => 가볍고 시작이 빠름

 5) 전체적 크기가 작음 => 복제, 배포에 용이

 

- 단점

1) 컨테이너 간의 완전한 격리 부족

컨테이너는 동일한 호스트 운영체제 커널을 공유하기 때문에,

보안 상의 이슈나 한 컨테이너의 문제가 다른 컨테이너에 영향을 줄 수 있음

 

2) 컨테이너화에 제한된 애플리케이션

일부 애플리케이션은 컨테이너화하기에 적합하지 않을 수 있으며,

호스트 운영체제와의 호환성 문제가 발생가능

 

3) 한 호스트에서의 자원 공유

여러 컨테이너가 한 호스트에서 실행될 경우,

호스트의 자원 (CPU, 메모리, 디스크 등)을 공유하게 되어자원 이용의 제약이 발생 가능

 

 

 


 

가상화의 발전 과정

 


 

가상머신 방식과 컨테이너 기반 가상화 방식의 차이

 


요약지

요약지 다운로드

 

 

 


참고자료

 

https://tech.ktcloud.com/77

http://terms.tta.or.kr/dictionary/dictionaryView.do?word_seq=180909-1


https://www.redhat.com/ko/topics/virtualization/what-is-virtualizatio 

https://chanchan-father.tistory.com/1012

https://food4ithought.com/2019/10/26/%EA%B0%80%EC%83%81%EB%A8%B8%EC%8B%A0virtual-machine-vs-%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88container/

 

 

 

 

 

댓글