To Be myself

[클라우드 컴퓨팅] 3장. 클라우드 컴퓨팅 기술 - 서버 가상화 본문

클라우드

[클라우드 컴퓨팅] 3장. 클라우드 컴퓨팅 기술 - 서버 가상화

투비마 2023. 11. 12. 22:30

가상화 기술의 이해

가상화 기술 역할

파티셔닝

하나의 물리적인 머신을 여러 리소스(OS)로 분할. 분배

캡슐화

하드웨어 제어에 요구되는 복잡한 기능을 감춰 폴더와 파일로 가상머신을 구조화하여 이동 및 복사가 가능

격리

장애 및 보안 문제 발생 시 캡슐화된 가상 머신을 분리

하드웨어 독립화

하나의 물리 머신 안에 가상머신을 독립적으로 가동

 

서버 가상화

호스트 가상화 방식

하드웨어에 설치된 호스트 OS 위에 가상화된 소프트웨어가 설치되고 그 위에 게스트 OS가 구동되는 방식

예. VMWare Workstation, Microsoft Virtual Server, Oracle Virtual Box

장점: 게스트 OS가 하드웨어 리소스 접근하는 걸 제어하기 때문에 호스트 OS 제약이 없음

단점: OS를 2개 이상 가동해야 하기 때문에 CPU, 메모리, 디스크 사용이 오버헤드

 

하이퍼바이저 가상화 방식

OS에 의존하지 않고 하드웨어에 직접 설치되는 구조

오버헤드 비용이 적고 하드웨어를 직접 관리하여 리소스 관리가 유연함

예. VMWare ESXi, Microsoft Hyper-V, Citrix XenServer

전가상화와 반가상화

- 전가상화: 하드웨어를 완전히 가상화 하여 관리용 가상머신 DOM0로 게스트 OS의 커널 요청을 번역하여 하드웨어에 전달함. 병목현상으로 성능 저하가 발생

- 반가상화: 게스트 OS가 하이퍼콜을 요청하도록 커널이 수정됨. 리눅스 같은 오픈소스 OS이외에는 어려움

 

컨테이너 방식

컨테이너: 애플리케이션 실행에 필요한 라이브러리 및 리소스를 함께 패키징하여 만든 호스트 OS상 논리 구적

게스트 OS 없이 상대적으로 고속 작동되며, 미들웨어나 라이브러리 버전으로 발생하는 문제를 컨테이너 격리로 해결

예. Docker, Kubernetes