본문 바로가기
Infra/가상화 인프라

Virtualization 개념 정리

by shinebee* 2020. 6. 26.

< 가상화 >

- 한대의 시스템을 다수의 가상의 시스템으로 분할하여 사용한다.

- 가상 시스템은 서로 독립적이다.

- 리소스의 효율적인 사용이 가능하다.

- 서버를 쉽고 빠르게 배포 할 수 있다.

- 중장집중화된 가상화 인프라 구성이 가능하다.

- 하이퍼바이저 -> 가상화의 관리 및 지원

                                  software partitioning.

                                  ex) virtualbox, vmware

- 호스트 -> 물리적인 시스템 (server)

- 게스트 -> 하이퍼바이저 상에서 실행되는 가상머신

 

 

* 전 가상화 (Full Virtualization)

  - 자신이 가상머신인지 모른다.

  - 물리적인 하드웨어에 접근할 때 하이퍼바이저에 의해 제어된다.

  - trap과 emulate 작업을 거치기 때문에 성능이 떨어진다.
  - Emulator -> 소프트웨어에 의해서 실시간으로 변환을 시켜줌. binary translation을 소프트웨어로만 한다. 느림.

  - sensitive instruction이 발생하면 하이퍼바이저에 문제가 발생한다. -> 하드웨어 지원으로 해당 문제 해결 가능

  - 대부분의 운영체제를 쉽게 설치할 수 있다.

 

 

* 반 가상화 (Para-Virtualization)

  - 일부분만 가상화한다. kvm -> virtIO

  - 자기가 가상화라는 것을 인지하고있다.

  - 커널이 수정될 수 있어야 한다.

  - 장치에 물리적으로 연결될 수 있는 통로를 연결해준다.

  - 운영체제의 커널 소스를 수정한 가상화이다.

  - 하이퍼바이저가 가상머신이게 특수한 인터페이스를 제공한다.

       => vendor마다 반가상화의 인터페이스는 다르다.

       => KVM에서는 hypervisor-aware 드라이버라고 한다.(반가상화된 장치)

  - 전가상화보다 오버헤드가 적다.

  - 오픈소스 운영체제로 한정된다. -> 운영체제의 커널 소스를 수정해야 하기 때문

 

 

< Hypervisor >

- H/W를 소프트웨어적으로 파티셔닝하여 가상머신에게 제공한다.

- 주요 기능은 시스템 자원 관리, 모니터링, 독립성 유지, 주변 장치 제공이 있다.

- 가상화에서는 독립성 유지가 매우 중요하다.

    => 가상화에서는 한대의 시스템에서 여러대의 가상 시스템을 관리하기 때문

    => 서로 다른 가상머신에서 실행한 프로세스는 실제 하나의 물리 메모리에서 실행된다.

 

 

* Native Hypervisor

  - Type1 hypervisor

  - bare-metal -> 물리적인 컴퓨터. 호스트와 통합.

  - 물리적인 머신에 하이퍼바이저 소프트웨어를 설치한다.

  - 별도의 운영체제가 필요없다. 빈 시스템.

  - 하이퍼바이저를 관리할 시스템이 존재해야한다.

 

 

* Hosted Hypervisor

   - Type2 hypervisor

   - 운영체제가 설치된 머신에서 하이퍼바이저 소프트웨어를 설치

   - 하이퍼바이저를 관리할 시스템이 존재하지 않아도 된다.

 

 

 

* Application 가상화

  - 비교적 다른 가상화에 비해 오래됨.

  - svc 혹은 presentation, application streaming 이라고도 한다.

  - 어플리케이션을 제공하는 서버를 따로 둔다. 거기에 연결해서 프로그램을 실행

  - 지금은 굳이 사용하지 않는다. 지금은 SaaS의 형태로 발전했다.

 

 

* Desktop 가상화

  - 기본적으로 서버 가상화가 포함되어있음.

  - graphic 적으로 표현되어야한다.

  - USM연결 했을 때 원격 VM에도 연결되게 한다.

  - ★망 분리. 네트워크를 물리적이던 논리적이던 분리시켜야함.

  - 불특정다수에게 서비스를 제공하기 때문에 공격에 취약하다. (DDoS) → 그래서 망분리 해야됨.

 

 

* Storage 가상화

  - (kvm)thin provisioning → 필요한 최소 공간만을 할당. 공간 효율적임. thick보다 성능이 떨어짐.

  - (kvm)thick(row) provisioning → 가상의 디스크를 사용 하던 안하던 데이터를 미리 할당

 

 

* Network 가상화

  - 네트워크 장비 기능들을 가상화

'Infra > 가상화 인프라' 카테고리의 다른 글

Ovirt 개념 정리  (0) 2020.07.02

댓글