GCP 공부#5. 서버 가상화 기술의 기초

정은경·2020년 1월 23일
0

Google Cloud Platform

목록 보기
5/7

서버 가상화는 한 대의 물리 서버를 여러 가상 서버로 나눠서 이용하는 구조
각각의 가상 서버에서 개별적으로 OS나 애플리케이션을 실행할 수 있고 독립된 서버 환경으로 사용할 수 있음
클라우드에서는 몇 가지 다른 종류의 서버 가상화 기술이 사용됨

1> 호스트형 가상화

  • 하드웨어 위에 기반이 되는 호스트 OS를 설치한 다음에 호스트 OS에 가상화 소프트웨어를 설치
  • 이 가상화 소프트웨어를 통해 서버 하드웨어를 에뮬레이션하여 가상 서버를 구축하는 것이 호스트형 가상화임!
  • 가상화 소프트웨어를 설치하는 것만으로 손쉽게 가상 서버 환경을 만들 수 있기 때문에 개발 환경 구축 등에 자주 사용됨
  • 소프트웨어로 서버 하드웨어를 에뮬레이션하기 때문에 가상화 오버헤드가 커질 수밖에 없음
  • 여기서 말하는 오버헤드란 서버 하드웨어를 에뮬레이션하기 위해서 필요한 여분의 CPU 자원과 디스크 용량, 메모리 사용량 등을 말함
  • 호스트형 가상화 소프트웨어에는 오라클의 'Oracle VM VirtualBox'와 VMware의 'VMware Workstation Player'등이 있음

하드웨어 <-> "호스트OS <-> 가상화 소프트웨어" <-> 가상환경(게스트OS+미들웨어+애플리케이션)

2> 하이퍼바이저형 가상화

  • 하이퍼바이저 가상화에서는 하드웨어가 가지는 가상화 지원 기능과 연계하여 서버 가상화를 실천하는 소프트웨어인 하이퍼바이저(Hypervisor)를 이용함
  • 대표적인 하이퍼바이저의 종류:
  • 마이크로소프트의 Hyper-V
  • Citrix의 XenServer
  • Linux 커널에 하이퍼바이저 기능을 통합한 Linux KVM 등이 있음
  • 호스트형과는 다르게 하이퍼바이저가 하드웨어를 직접 제어하기 때문에 리소스를 효율적으로 사용할 수 있음
  • GCE가 제공하는 가상머신은 내부적으로 Linux KVM을 사용함

하드웨어 <-> "하이퍼바이저" <-> 가상환경(게스트OS+미들웨어+애플리케이션)

3> 컨테이너형 가상화

  • 호스트형 가상화와 하이퍼바이저형 가상화는 모두 가상화된 서버 환경을 만들고, 그 안에서 게스트 OS가 동작함, 그렇기 때문에 가상 서버마다 완전히 독립된 게스트 OS를 실행할 수 있음
  • 컨테이너형 가상화에서는 하드웨어에서 동작하는 호스트 OS 위에 논리적인 구획(컨테이너)을 만들고, 각각에 독립된 OS환경을 제공함
  • 실제로 동작하는 것은 어디까지나 단일 OS이지만 애플리케이션 동작에 필요한 라이브러리 등을 컨테이너 안에 가두는 것으로, 마치 개별 서버처럼 사용할 수 있음
  • 컨테이너형 가상화는 오버헤드가 적기 때문에 가볍고 빠르게 동작하는 것이 특징임

하드웨어 <-> OS <-> 컨테이너 관리 소프트웨어 <-> 컨테이너(미들웨어+애플리케이션)

profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글