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

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
반응형

'전공 > 컴퓨터구조' 카테고리의 다른 글

[컴퓨터구조] #14 병렬프로세서  (0) 2023.06.11
[컴퓨터구조] #13 가상메모리  (0) 2023.06.11
[컴퓨터구조] #11 메모리 계층 구조  (2) 2023.06.11
[컴퓨터구조] #10 데이터패스(파이프라인)  (0) 2023.06.11
[컴퓨터구조] #9 해저드  (0) 2023.06.11
'전공/컴퓨터구조' 카테고리의 다른 글
  • [컴퓨터구조] #14 병렬프로세서
  • [컴퓨터구조] #13 가상메모리
  • [컴퓨터구조] #11 메모리 계층 구조
  • [컴퓨터구조] #10 데이터패스(파이프라인)
dev_ares
dev_ares
대학에서 컴퓨터공학을 전공하고 있는 학생입니다.
    반응형
    250x250
  • dev_ares
    노트
    dev_ares
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • IT 트랜드 (2)
      • 백엔드 (18)
        • Java + Spring (8)
        • Kotlin + Spring (5)
        • 백엔드 (5)
      • 프론트엔드 (1)
        • React (1)
      • 대외활동 (17)
        • 42서울 (17)
      • 백준 (6)
        • Java (2)
        • C++ (3)
      • 전공 (121)
        • 객체지향프로그래밍 (17)
        • 자료구조 (23)
        • 리눅스시스템관리 (16)
        • 컴퓨터구조 (25)
        • 네트워크 (25)
        • 데이터베이스 (15)
        • 기타 전공 (0)
      • 프로그래밍 언어 (18)
        • Java (5)
        • Swift (4)
        • C++ (1)
        • Kotlin (8)
      • 기타 (4)
      • 공군 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자료구조
    메모리 계층 구조
    컴퓨터 구조 및 설계
    42서울
    컴공 포트폴리오
    컴퓨터구조
    티스토리챌린지
    추가 문제
    자바
    명령어
    상속
    반복자
    코틀린
    사설 문제
    오블완
    백준
    리눅스
    C++
    단일 사이클
    데이터패스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
dev_ares
[컴퓨터구조] #12 가상머신/가상화/클라우드
상단으로

티스토리툴바