Virtualization

강병우·2023년 9월 12일
0
post-thumbnail

내가 잘 못 들은건지.. 필기가 잘 안되는 수업이였다. 감안하고 나중에 혼자서 재필기해야겠다.

가상화

가상으로 만들어진 생성물.
하나의 컴퓨터가 여러 개의 컴퓨터가 일하는 것처럼 작동된다.
여러 개의 환경에서 한정된 하드웨어 리소스를 공유한다.

가상머신 아키텍처

3개의 레이어로 분리된다.

가상머신 예시

대표적으로 .Net의 CLR과 JVM이 있다.

장점

  1. 독립적으로 운영된다.
  2. 소프트웨어 개발의 간소화(편리함)
  3. 시뮬레이션 가능

한계

  1. 느린 실행
  2. 새로운 레이어가 쌓이며 추가적인 오버헤드 발생

가상화 계층

응용프로그램, 라이브러리(쿠다), 가상 OS(도커), 하드웨어 가상화(VMware) 등이 있다.

HAL은 ISA의 명령체계를 OS Level이 참조할 수 있도록 해준다. 이를 통해 OS Level은 API와 Application, Library를 사용하도록 한다.

하드웨어 가상화

os 기반하의 실제 컴퓨터가 작동되는 것처럼 하드웨어 자원을 참조할 수 있도록 한다.

구성요소

  • 호스트
  • VMM(Virtual Machine Manager)
  • Guest

VM(Virtual Machine)

CPU Management

CPU 가상화

Memory 가상화


논리주소에서 물리주소로 번역해주는 페이지 테이블이 존재한다.

하이퍼바이저는 물리 - 호스트 메모리 주소 맵핑테이블을, 실제 os는 가상 - 물리 메모리 주소 맵핑테이블을 갖고 있다.

IO 가상화

디바이스 드라이버의 가상화이다. 가상화를 하는데에 2가지 방법이 있다.

  1. VMM에서 가상화

  2. 호스트에서 I/O 가상화

VMM Overhead

  1. CPU Bound workload
  2. IO-intensive workload
  3. IO-intensive workload, but IO-bound

가상화의 이점

  1. 서버 머신에서 가상화로 운영할 때, cpu 점유율이 7.3프로임(자원 절약 효과)

  2. 호스트 내에서 각 가상머신은 독립된 환경에 있음.

  3. 하나의 디바이스에서 여러 개의 OS를 굴릴 수 있음.

  4. 탄력적 비즈니스에서 빠르고 쉽게 프로비저닝 가능

  5. 실시간 VM Migrate

  6. 가상머신은 소프트웨어(스냅샷, 테스트, 정지, 이동, 클론 등 가능)

  7. OS+Application의 조합으로 서비스 가능

  8. 인캡슐화(부트 디스크는 파일 형태로 저장된다)

  9. 하드웨어 독립(다양한 하드웨어 환경에서 구동 가능)

0개의 댓글