Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[week2 tmi] 하이퍼바이저 #26

Open
zzu-yaaa opened this issue Oct 3, 2023 · 0 comments
Open

[week2 tmi] 하이퍼바이저 #26

zzu-yaaa opened this issue Oct 3, 2023 · 0 comments
Labels
documentation Improvements or additions to documentation

Comments

@zzu-yaaa
Copy link
Member

zzu-yaaa commented Oct 3, 2023

하이퍼바이저

개념

  • 가상화 계층을 구현해주는 소프트웨어

  • 물리 하드웨어와 가상 머신의 영역을 분리하고 자신이 그 사이에서 중간 관리자, 즉 인터페이스 역할을 함

    ex) 하드웨어 리소스를 가상머신에 할당, 각 가상머신의 리소스 사용 스케쥴링, 가상머신과 하드웨어 간의 I/O 명령 처리 등

  • 가상 머신 매니저(Virtual Machine Manager 또는 Monitor, VMM)로 불림

유형

유형 1 하이퍼바이저 (Bare-Metal Hypervisor)

  • native / bare-metal 하이퍼바이저
  • HW 위에서 직접 설치되어 게스트 OS를 관리

tmi2-1

  • 장점
    • 하드웨어 위에 2번째 수준으로 실행되어 오버헤드가 적음
    • Ram 용량 초과 및 동적 할당 가능 → 하드웨어 전체 물리적 메모리 용량보다 큰 값으로 설정 가능
  • 단점
    • 각 VM에 대한 자체적인 관리 기능이 없어, VM 관리를 위한 컴퓨터나 콘솔이 별개로 필요
  • 예시
    • VMware의 ESXi, Citrix의 Xen, Microsoft의 Hyper-V
    • 기업용 데이터 센터에서 일반적으로 사용

++ 전가상화 / 반가상화

  • 전가상화

    tmi2-2

    • 하드웨어 전체를 가상화
    • OS의 제약없이 사용 가능
    • Guest는 자신이 가상화 위에 동작하고 있다는 것을 인식할 수 없음
    • Guest OS에서 물리자원을 직접 접근불가
  • 반가상화

    tmi2-3

    • 게스트OS가 자신이 가상머신 위에 동작하고 있다는걸 인식
    • OS의 제약이 있다
    • Guest OS에서 물리자원을 직접 접근가능
    • 하이퍼콜을 통해 각각의 명령어 지정

유형 2 하이퍼바이저 (Hosted Hypervisor)
  • Host OS를 가지는 하이퍼바이저
  • 하드웨어에 호스트 OS가 이미 설치되어 있고, 이 OS 위에서 하이퍼바이저가 소프트웨어로서 동작

tmi2-4

  • 장점
    • 기존 시스템 위에서 쉽게 사용 가능 (콘솔 필요 x)
  • 단점
    • 게스트 OS가 하드웨어 위에 3번째 수준으로 실행 → 오버헤드 발생
    • 호스트 OS에 문제가 생기면 전체에 영향
  • 예시
    • VMware Workstation, Oracle Virtual Box

      (개인 컴퓨터에서 VM을 사용하는 경우)


하이퍼바이저와 컨테이너

  • 클라우드 기반 기술에서 모두 중요한 역할을 수행하며, 각자 사용 사례와 요구사항에 따라 알맞은 방법 선택

  • 하이퍼바이저 가상화:

    장점:

    1. 물리적 서버에서 여러 운영 체제를 실행 가능
    2. 각 가상 머신은 완전히 격리되어 있어 보안 good
    3. 다양한 운영 체제 및 응용 프로그램을 호스팅하기에 적합
    4. 가상 머신은 자원을 독립적으로 할당하므로 예측 가능한 성능을 제공

    단점:

    1. 높은 오버헤드
    2. 지연 (부팅 시간 등)
    3. 가상화 관리 및 배포가 상대적으로 복잡할 수 있습니다.
  • 컨테이너 가상화:

    장점:

    1. 컨테이너는 호스트 운영 체제의 커널을 공유하므로 가볍고 빠름
    2. 높은 이식성 = 동일한 컨테이너 이미지를 여러 환경에서 실행
    3. 스케일링 용이

    단점:

    1. 컨테이너는 호스트 OS 커널을 공유하므로 가상 머신보다 격리 수준 bad
    2. 보안 관리 중요

    tmi2-5

결론

- 최근 컨테이너 기술이 하이퍼바이저를 대체할 수 있는 가능성으로 인기
- but 보안문제도 있고 두 가지를 혼용하여 사용하는 것도 방법!
@zzu-yaaa zzu-yaaa added the documentation Improvements or additions to documentation label Oct 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant