가상화

xeomina·2022년 5월 17일
0

Linux

목록 보기
16/16

0426

1. 가상화

가상화란?

인스턴스를 만들기 위해 VM과 유사한 하이퍼바이저 필수!

가상화 기술을 바탕으로 클라우드 - 그 핵심 = 하이퍼바이저

  • 가상화는 단일한 물리 하드웨어 시스템에서 여러 시뮤레이션 환경이나 전용 리소스를 생성할 수 있는 기술.
  • 하이퍼바이저라 불리는 소프트웨어가 하드웨어에 직접 연결되며 1개의 시스템을 가상머신(VM)이라는 별도의 고유하고 안전한 환경으로 분할 가능.
  • 이러한 VM은 하이퍼바이저의 기능을 사용하여 머신의 리소스를 하드웨어에서 분리한 후 적절하게 배포.
  • 가상화는 기존 제품을 최대한 활용할 수 있도록 지원.
    • 호스트: 하이퍼바이저가 설치된 물리 하드웨어
    • 게스트 : 그 리소스를 사용하는 여러 VM
    • 게스트는 CPU, 메모리, 스토리지 등의 컴퓨팅 리소스를 처리하는 리소스의 풀로, 쉽게 재배치 가능
    • 운영자: 필요할 떄 필요한 리소스가 게스트에 제공될 수 있도록 CPU, 메모리, 스토리지, 기타 리소스의 가상 인스턴스를 제어 가능

img

2. 가상화 종류

주로 전가상화 사용

전가상화(Full-Virtualization)

  • 게스트 OS명령이 Binary Translation 과정을 거쳐 하이퍼바이저의 중재를 통해서 하드웨어로 전달
  • Binary Translation 과정에서 지연 발생

img

  • 하드웨어 > 하이퍼바이저 > Guest OS > APP
    • APP : http ...
    • Guest OS : CentOS7
    • 하이퍼바이저 : 하드웨어의 자원을 어떻게 분배 ?
  • 전가상화는 분배 과정에서 사용자 개입 X
    • 하이퍼바이저가 하드웨어 자원을 설정한 만큼
    • 자원을 공급하는 과정이 간단
  • 장점 : 편의성, 사용자 몇번 클릭만으로 가상화 가능
  • 단점 : 지연
  • Binary Translation = 이기종의 OS 언어들 해석
    • 예) 윈도우 Add / 리눅스 ADD / 맥 add ...
    • 하이퍼바이저가 '더해라'라고 각종 OS의 명령을 번역함.

반가상화(Para-Virtualization)

반은 가상/ 나머지 반은 물리

  • 전가상화와 달리 Binary Translation 과정 없이 하이퍼콜(Hyper Call)이라는 인터페이스를 통해 게스트 OS 명령이 하이퍼바이저를 거쳐서 하드웨어로 전달.
  • Binary Translation 과정에서 발생하는 오버헤드가 없어서 전가상화보다 빠름.
  • XEN Server, Citrix...

img

  • 각종 OS의 명령을 번역하는 번역기가 OS별로 존재.
  • 번역기를 만드는데 커널 수정이 필요함
  • 장점 : VM 고성능 가능
  • 단점 : 번거로움

하드웨어 지원 가상화(Hardware-assisted Virtualization;HVM)

CPU 자체의 가상화 기술 - Intel사의 VT-x, AMD사의 AMD-V

  • 전가상화에서 성능 하락을 일으켰던 Binary Translation을 하이퍼바이저가 아닌 CPU에서 대신 처리하게 됨으로써 큰 폭의 성능이 향상됨.
  • 전가상화에서 발생하는 binaray translation을 하이퍼바이저가 아닌 CPU에서 바로 처리함으로써 전가상화의 OS운영상의 장점과 반가상화의 속도라는 장점을 모두 가져옴.
  • 커널의 역할을 하이퍼바이저가 대신

img

3. 하이퍼바이저 타입

타입 1(native 또는 bare-metal)

실무용

  • 운영체제가 프로그램을 제어하듯이 하이퍼바이저가 해당 하드웨어에서 직접 실행되며 게스트 운영 체제는 하드웨어 위에서 2번째 수준으로 실행됨.
    • Citrix의 Citrix Hypervisor (구 XenServer)
    • VMware의 vSphere Hypervisor (구 ESXi Server)
    • Microsoft의 Hyper-V
    • Linux의 KVM(Kernel Based Virtual Machine)
    • AWS는 Xen or KVM 하이퍼바이저 사용...

image-20220426114839444

타입 2(hosted)

실습용

  • 하이퍼바이저는 일반 프로그램과 같이 호스트 운영 체제에서 실행되며 VM 내부에서 동작되는 게스트 운영 체제는 하드웨어에서 3번째 수준으로 실행됨.
    • VMware Workstation Pro
    • VMware Workstation Player
    • VMware Fusion
    • 리눅스 OEMU
    • 마이크로소프트 버추얼 PC와 버추얼 서버
    • Oracle(SUN)의 버추얼박스

image-20220426120926479

비교

  • 타입 1 성능 > 타입 2 성능

image-20220426121456161

0개의 댓글