전공/컴퓨터구조

[컴퓨터구조] #12 가상머신/가상화/클라우드

Campus Coder 2023. 6. 11. 16:04
728x90
반응형

가상머신

HW 지원 필요

System Mode/User Mode - OS의 커널 관련 이해 필요

Guest OS는 User Mode에서만 동작 - 가상화된 자원만 사용

 

 

가상화

컴퓨터의 자원(CUP, 메모리, 저장장치, 네트워크 등)의 추상화

서버의 리소스가 가상화를 통해서 하나의 서버에 여러 대의 OS를 동작시킬 수 있는 기술

 

가상화의 레벨

API(Application Programming Interface)

- 응용프로그램 레벨의 함수/메소드

 

ABI(Application Binary Interface)

- 플랫폼과 소프트웨어 사이의 인터페이스 정의

- API보다 낮은 레벨

- API는 유지되면서 ABI는 변경되는 경우: 코드는 유지하면서 재 컴파일

 

ISA(Interuction Set Architecture)

- 하드웨어와 소프트웨서 사이의 인터페이스 정의

 

API >> ABI >> ISA

 

가상화의 장단점

장점

  • 서버의 사용 효율 증가

단점

  • 네이티브보다 느림
  • 상대적으로 무거움(컨테이너 기반 가상화) - 오버헤드 15~20%
  • 불필요한 기능의 중복 - 호스트 OS, 게스트 OS 간의 기능 중복
  • 배치의 어려움 - 대형서비스에서 구축 방법이 복잡

 

 

하이퍼바이저

호스트 시스템에서 다수의 게스트 OS를 돌리기 위한 플랫폼

 

호스트 OS

- 컴퓨터에 설치된 OS

게스트 OS

- 가상머신 위에 설치된 OS

 

하이퍼 바이저 유형

TYPE 1

- 하이퍼바이저가 하드웨어 위에서 바로 실행

TYPE 2

- 호스트 OS 위에 하이퍼바이저를 실행시키는 방식

 

하이퍼바이저 기반 가상화의 특징

장점

  • Utilization 향상(80%) - 서버에서 주로 활용
  • 시스템가상화로 인해 다양한 게스트 OS 실행 가능

 

단점

  • 물리시스템과 게스트 OS 간의 가상화 기능으로 인한 성능 저하
  • 약 10-15% 정도의 오버헤드(베어메탈에 비해)
  • 호스트 OS와 게스트 OS 간의 기능 중복(스케줄링 등)

 

 

전가상화와 반가상화

전가상화

  • 하드웨어를 완전히 가상화
  • OS의 제약 없이 사용 가능
  • 게스트 OS는 자신이 가상머신 위에서 동작하고 있다는 것 인식 불가
  • 시스템에서 물리적인 가상화 지원기능 필요
  • 게스트 OS에서 물리자원 직접 접근 불가
    - 반드시 하이퍼바이저를 통해서 접근해야 함 -> 성능 저하

반가상화

  • 게스트 OS가 자신이 가상머신 위에서 동작하고 있다는 것을 인식
  • OS 제약이 있음
  • 게스트 OS에서 물리자원 직접 접근 가능 -> 성능 개선

 

 

컨테이너 기반 가상화

기존 가상화와 다른 개념

- 하드웨어 가상화가 아닌 실행환경의 분리

- 각 컨테이너 간 영향을 분리

도커의 특징

  • 오버헤드가 3% 이내로 적음
  • 가벼움
  • 많은 사람들이 자기가 구축한 이미지를 공유(도커허브)
  • 에코시스템 - 도커기반/활용 기술의 활성화

 

 

클라우드와 가상화

클라우드를 구축하기 위한 가능 기술

가상화(하이퍼바이저) vs 컨테이너기반 가상화

 

클라우스서비스의 장점(주의 필요)

  • 비용 절약
  • 시간 절약
  • 부가가치

 

클라우드서비스의 종류

  • 클라우드는 Public, Private로 나뉨(일반/기업)
  • 클라우드 자체구축(On-premise) vs 클라우드 서비스 이용
  • 서버 호스팅과의 차이점 - 비용문제/보안문제/성능문제

 

SPI모델

가장 일반적인 클라우드 구분법

- IaaS(Infrastructure as a Service)

- PaaS(Platfrom as a Service)

- SaaS(Software as a Service)

728x90
반응형