[가상화] 가상화란 무엇인가?

양진혁·2022년 3월 29일
0

가상화(Virtualization)

단일 컴퓨터의 하드웨어 요소를 일반적으로 가상머신(VM)이라고 하는 다수의 가상 컴퓨터로 분할 할 수 있게 해주는 기술이다.

위 그림과 같이 예를 들어 가상화 전 서버량의 10%을 사용하는 서버가 3개 존재한다면 가상화 후 하나의 서버에 통합시키는 것이 가능하다.

  • 운영체제(OS): 시스템 하드웨워 자원과 소프트웨어 자원을 운영 관리하는 프로그램
    • Windows, Linux, MacOS ..
  • 특권 명령: 시스템 요소(하드웨어)들과 소통할 수 있는 명령(OS만 가능)
    • OS는 특권 명령 때문에 하나의 하드웨어 시스템 당 하나밖에 돌아갈 수 없음
    • 일반 프로그램은 특권 명령이 필요 없기 때문에 많은 프로그램을 동시에 수행 가능하다.

가상화가 나타나기 전까지는 하나의 하드웨어 시스템은 하나의 OS만 실행이 가능했다. 즉 일반적인 컴퓨터처럼 직접 OS가 하드웨어에 설치된 상태(Bare-Metal)로만 운영이 가능했다.

가상화의 역사

  • 1세대: 완전 가상화(Fully Emulated)
    • 모든 시스템 요소가 에뮬레이터 안에서 돌아간다.
    • 즉 CPU, 하드디스크, 메인보드 등 모든 요소를 에뮬레이터로 구현해 OS와 연동했다.
    • 엄청나게 느리다.

  • 2세대: Paravirtualization
  • GuestOS는 하이퍼바이저와 통신한다.
  • 하이퍼바이저: OS와 하드웨어 사이에 존재하는 일종의 가상화 매니저
  • 속도가 1세대에 비해서 향상했다.
  • 몇몇 요소의 경우 여전히 에뮬레이터가 필요했다.

  • 3세대: Hardware Virtual Machine(HVM)
    • 하드웨어에서 직접 가상화를 지원한다.
    • 직접 GuestOs가 하드웨어와 통신한다 = 빠른 속도( Near-Bear-Metal)

가상화 클라우드

  • AWS 클라우드 환경에서 리소스를 작은 단위로 빠르게 구성할 수 있는 원동력은 가상화 이다.

  • 즉 AWS에서 사용자마다 컴퓨터를 할당해 주는 것이 아닌 이미 구축된 가상화 가능한 서버의 한 부분을 할당 해 주는 것이다.

    Reference

    https://www.youtube.com/c/AAAWS/videos

0개의 댓글