Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

끄적끄적

서버 가상화의 분류 본문

클라우드

서버 가상화의 분류

yenacathy97 2020. 7. 3. 16:29

서버 가상화에 대해 개념이 헷갈려서 제대로 정리하고 싶어서 작성하게 되었다. 기본적으로 수업 때의 강의 자료를 참고하면서 만들었고 나 혼자 정리한 내용이기에 틀린 부분이 있을 수 있다. 

 

가상화(Virtualization)란

여러 개의 장비를 묶어서 사용자에게 공유자원으로 제공하며 자원의 활용성을 높이고자 한것이 시초이다. 

 

서버 가상화의 분류

서버 가상화의 전체적인 분류

출처 https://www.unixarena.com/2017/12/para-virtualization-full-virtualization-hardware-assisted-virtualization.html/#comments / 노서영 교수님 2019-F-Cloud Computing 강의자료

 

먼저 가상화는 전가상화, 반가상화, 컨테이너로 나뉘고 전가상화는 하드웨어 지원 전가상화, 소프트웨어 전가상화로 나뉜다. 하드웨어 전가상화는 다시 베어메탈, 호스트 타입으로 나뉜다. 베어메탈 타입을 TYPE 1이라 부르고 호스트 타입을 TYPE 2라 부른다. 

 

전가상화(Full Vertualization)

- 하드웨어 지원 전가상화(VT)

- 소프트웨어 지원 전가상화(BT)

 

소프트웨어 지원 전가상화(BT)(= 바이너리 번역)

소프트웨어 지원 전가상화는 게스트OS가 하드웨어를 요청하면 하이퍼바이저가 바이너리 번역을 수행하여 하드웨어를 에뮬레트한다. 그런데 바이너리 번역을 하게 되면 캐시를 사용하여 성능은 향상되지만 메모리 Cost가 크게 증가하여 오버헤드를 초래한다는 문제점이 있다. 게스트OS는 하이퍼바이저의 존재를 알지 못한다. 

전가상화 - 이진 번역

 

 

하드웨어 지원 전가상화(VT)

하드웨어 지원 전가상화는 바이너리 변환을 제거하고, 하드웨어를 직접 인터럽트한다. 게스트 OS의 명령어는 가상 컨텍스트가 가상화되어 가상 컨텍스트가 프로세서에 직접 특권 명령어를 실행하게 된다. 

전가상화 - 하드웨어 기반 전가상화

 

TYPE1(Native, Bare-Metal 하이퍼 바이저)

호스트 하드웨어에서 직접 실행되어 하드웨어를 제어하고 게스트 가상머신을 관리한다. 하나의 게스트 운영체제에 문제가 생겨도 다른 게스트 운영체제에 영향을 끼치지 않는다. 베어메탈을 관리할 OS를 설치하지 않기에 호스트형 가상화에 비해 오버헤드가 적고 물리적인 머신의 리소스 관리가 유연하다는 특징이 있다.

종류: XWN,  KVM,  XenServer,  스파크용 오라클 VM서버,  오라클 VM서버, VM웨어 ESX 서버

TYPE1 하이퍼바이저

TYPE2(호스트형 하이퍼바이저)

시스템의 다른 응용 프로그램과 마찬가지로 호스트 운영체제가 설치되고 그 위에 하이퍼바이저가 실행된다. 가상의 하드웨어를 에뮬레이팅하기 때문에 오버헤드가 크다는 단점이 있다.

종류: VM웨어 워크스테이션,VM웨어 플레이어, virtualBOS,맥용 Parallels Desktop, QEMU

TYPE2 하이퍼바이저

 

반가상화(Para-virtualization)

성능, 효율성을 향상하기 위해 게스트 OS와 하이퍼바이저 간의 통신으로 전환한다. 반가상화는 가상화되지 않은 명령어를 하이퍼콜로 대체할 수 있도록 OS 커널을 수정한다. 하이퍼 콜이란 인터페이스로, 직접 하이퍼바이저에게 요청을 날릴 수 있도록 해준다. 가상머신의 운영체제 소스를 수정하여 문제가 있는 코드를 제거하고 하이퍼바이저를 호출할 수 있는 하이퍼 콜을 삽입하여 적절하게 처리한다.

종류: XEN, IBM LPAR, Oracle VM for SPARC (LDOM), X86 용 Oracle VM (OVM)

반가상화

컨테이너 가상화

호스트 OS위에 컨테이너 관리 소프트웨어를 설치하여 컨테이너를 나누어 사용한다. 컨테이너는 어플리케이션 동작을 위한 라이브러리와 어플리케이션 등으로 구성되어 각각 개별 서버처럼 사용이 가능하다. 기존의 가상화 기술보다 가볍고 이식성이 뛰어나며 더 많은 응용프로그램을 처리할 수 있다. 

종류: OpenVZ, LXC, Lunix vServer,FreeBSD Jail, Solaris Zones, Docker

하이퍼바이저와 컨테이너의 비교

 

 

 

 

최근 하이퍼바이저에서는 전가상화 반가상화의 경계가 많이 사라졌다고 하니 분류에 너무 집착할 필요는 없을 것 같다. 다음 글에서는 컨테이너에 대해 더 자세히 쓰도록 하겠다. 

 

출처:
http://cloudrain21.com/hypervisor-types 
https://tech.cloud.nongshim.co.kr/
https://m.blog.naver.com/PostView.nhn?blogId=complusblog&logNo=220990379931&proxyReferer=https:%2F%2Fwww.google.com%2F https://dora-guide.com/%ED%95%98%EC%9D%B4%ED%8D%BC%EB%B0%94%EC%9D%B4%EC%A0%80/
https://byungjun0689.github.io/2.%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EA%B0%9C%EB%B0%9C%EC%9D%84-%EC%9C%84%ED%95%9C-%EA%B0%80%EC%83%81%ED%99%94%EC%99%80-Docker-2/
http://library.gabia.com/contents/infrahosting/7426
https://wlstnans.tistory.com/17
https://www.unixarena.com/2017/12/para-virtualization-full-virtualization-hardware-assisted-virtualization.html/#comments

'클라우드' 카테고리의 다른 글

쿠버네티스의 볼륨 -2  (0) 2020.08.12
쿠버네티스의볼륨 - 1  (0) 2020.08.10
도커 스웜 시작하기  (0) 2020.07.31
컨테이너 생성하기  (0) 2020.07.17
컨테이너  (0) 2020.07.09
Comments