선 조치 후 분석

[가상화] 하이퍼바이저 vs 컨테이너? 차이점 및 개념 본문

Solution/Docker

[가상화] 하이퍼바이저 vs 컨테이너? 차이점 및 개념

JB1104 2023. 11. 20. 14:54
728x90
반응형
SMALL

하이퍼 바이저 (Hypervisor) 가상화

 
물리적 자원인 하드웨어를 효율적으로 활용하기 위해서 하드웨어 공간 위에 가상의 머신을 만드는 기술
 
베이스가 되는 기존의 환경을 Host OS, 가상의 머신으로 분할된 각각의 환경을 Guest OS라고 부른다.
 
가상 머신을 생성하기 위해서하이퍼바이저 또는 가상 머신 모니터라고 불리는 소프트웨어를 이용한다.
각각의 Guest하이버파이저에 의해 생성되고 관리되며 시스템 자원을 할당받는다.
Guest는 Host나 다른 Guest와 상호 간섭하지 않고 분리된 환경에서 구동한다.
 
하이퍼바이저를 활용하면 하드웨어가 여러 개 인 것처럼 하나의 서버를 여러 명이 나눠 쓸 수 있고, 컴퓨터 한 대에서
서로 다른 OS를 동시에 사용할 수도 있다.
 
하지만, 가상머신으로 무언가 하려면 반드시 하이퍼바이저를 거쳐야 하기 때문속도 저하가 불가피하다.
또한 가상머신은 해당 환경을 구동하는데 필요한 파일을 모두 포함하고 있기 때문에, 가상 머신을 배포할 때 만들어지는
이미지의 크기가 매우 커진다는 한계점이 있다.
 

 


컨테이너

 
호스트의 OS 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경을 만드는 기술
하이퍼바이저와 달리 컨테이너는 가상의 OS를 만드는 것은 아니다. 컨테이너는 베이스 환경(호스트)의 OS를 
공유하면서 필요한 프로세스만 격리하는 방식이다.
 
즉, 커널을 공유하기 때문에 호스트 OS의 기능을 모두 사용할 수 있다.
그렇기 때문에 컨테이너 위에서는 호스트 OS와 다른  OS를 구동할 수 없다.
 
대신에 격리시킬 애플리케이션과 거기에 필요한 파일이나 특정 라이브러리 등 종속 항목만 패키지로 묶이기 때문에 배포를 위해 생성되는 이미지의 용량이 작아진다는 장점이 있다. 운영체제가 아닌 프로세스이며 하이퍼바이저를 거칠 필요가 없어 실행속도가 빠르다.


  하이퍼 바이저 컨테이너
시작 시간 몇 분 몇 초
이미지 크기 수 GB ~ 수백 GB

OS를 포함하여 애플리케이션과 필요한
런타임 소프트웨어
~ 수백 MB

애플리케이션과 런타임 소프트웨어
Guest OS Windows/Linux등 다양한 선택 가능 호스트 OS와 동일한 OS
이식성 대부분 가상 이미지에 대한 변환이 필요 컨테이너 이밎 그대로 사용 가능
데이터관리 VM 내부 또는 연결되 스토리지에 저장 컨테이너 내부에 있는 데이터는 종료시 소멸되며, 필요에 따라 스토리지를 이용하여 저장
Guest OS와의 관계 Guest OS는 하드웨어(가상)로 인식 Host OS를 커널 수준으로 분리하여 OS를 가상화 형태로 사용하여 필요에 따라 호스트와 리소스 공유 가능

 

728x90
반응형
LIST

'Solution > Docker' 카테고리의 다른 글

[Docker] 도커 (Docker) 란??  (1) 2023.11.20