본문 바로가기
Virtualization

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

by 몰라닉네임 2024. 2. 4.

 

도커(컨테이너)에 대해 공부하기 전에 

- 컨테이너 필요한 이유

- 그럼 도커와 비교되는 것은? 

이러한 것들을 알아보기 위한 공부 

 

 

가상화란 

(1) 컴퓨팅 리소스를 '추상화' 시켜서 

(2) 하나의 물리 소스를 여러개의 논리 리소스처럼 기능 시키거나

(3) 여러개의 물리 리소스를 하나의 논리 리소스 처럼 기능하게 하는 것이다.

 

 가상화의 대상은 CPU, OS 스토리지, 네트워크 등으로, 오늘날에는 대부분의 컴퓨팅 자원들이 가상화되어 사용되고 있습니다. 대표적으로 구글 클라우드, 네이버 클라우드 등 클라우드 서비스입니다.

 

Hypervisor (하이퍼바이저) 란?

 

 호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리적인 플랫폼 

예를 들어, 호스트 컴퓨터의 자원이 CPU -100, RAM - 100, Storage - 100 이라면 4개의 Geuest OS에 각각 25씩 리소스를 할당해주고 최적화하여 동작할 수 있도록 도와주는 것이 하이퍼바이저이다. 

 

HYPERVISOR 위에 생성된 Guest OS들을 각각 VM (Virtual Machine) 이라 부르고, 각각은 독립적으로 운영된다. 

 

가상화 장점

 

1. 비용절감 

하나의 컴퓨터에 여러개의 OS 를 띄울 수 있으므로 하드웨어의 유지보수 비용이 줄어듬

 

2. 신속성

Hypervisor 위에 생성된 VM들은 기존의 전체 환경을 프로비저닝하는 것보다 더 빠르게 동작

 

3. 다운타임 최소화 

HOST 가 Down 되더라도 VM만 다른 HOST 로 이전시키면 되기 때문에 장애 내구성을 갖게 됨

 

하이퍼바이저 1 유형 베어메탈 

하드웨어 위에 하이퍼바이저를 설치하고 그 위에 바로 Guest OS 를 올리는 형태 

즉 Host의 하드웨어를 조금씩 짤라서 Guest 에게 할당하는 방식

 

장점 Guest 운영체제 하나에서 장애가 발생하더라도 Guest 에는 영향을 끼치지 않음

대표적으로, Oracle VM, MS Hyper-V가 있음

 

하이퍼바이저 2 유형

Hosted Hypervisor라고 불리는 형태로, Host OS 위에 하이퍼바이저를 설치하고 그 위에 Guest OS를 올리는 형태

 

따라서 Guest OS는 Host OS 위에서 동작하기 때문에 전적으로 의존하게 됨, 즉 Host OS 장애나, 업데이트 시 Guest 전체에 영향을 미침

대표적으로 VMWare Workstation, VirtualBOX 등이 있음

 

도커 (컨테이너)

 

VM, 하이퍼바이저와 같이 비교대상으로 항상 나오는 것이 Docker (컨테이너)이다. 

 

도커의 장점은 크게 두가지

- Docker Engine 위에서 동작하기 때문에 이식성이 높음

- 하드웨어의 가상화가 필요 없기 때문에 가볍고 용량이 작음

 따라서 최근 트렌드는 컨테이너로 옮겨져가고 있음 

 

-컨테이너 : 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술
-컨테이너 런타임 : 컨테이너를 다루는 도구
-도커 : 컨테이너를 다루는 도구 중 가장 유명한 것
-쿠버네티스 : 컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 도구
-오케스트레이션 : 여러 서버에 걸친 컨테이너 및 사용하는 환경 설정을 관리하는 행위 

 

정리

 

가상화란 하드웨어의 추상화

하이퍼바이저는 하나의 하드웨어에 여러개의 Guest OS를 VM형태로 실행시키는 플랫폼

베어메탈은 Host 하드웨어 위에 하이퍼바이저와 Guest OS를 올리는 형태 

호스트 하이퍼바이저는 Host OS 위에 하이퍼바이저와 Guest OS를 올리는 형태 

 

 

같이 보면 좋은 글 

[도커(컨테이너 이전)과 이후]
https://www.itworld.co.kr/news/215339

 

참고

 

- https://www.samsungsds.com/kr/insights/220222_kubernetes1.html

- https://m.blog.naver.com/PostView.naver?blogId=jd0909&logNo=222141032465&navType=by

- https://selog.tistory.com/entry/%EA%B0%80%EC%83%81%ED%99%94-Virtualization%EA%B0%80%EC%83%81%ED%99%94-%EA%B0%9C%EB%85%90-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0

 

'Virtualization' 카테고리의 다른 글

Virtual Machine(VM) VS Docker  (1) 2024.02.04
가상 머신 VM (Virtual Machine)  (0) 2024.02.04