EverGiver
Virtualization (가상화) 본문
728x90
Virtualization
- 가상화란?
- 컴퓨터에서 CPU, Memory, I/O 등의 물리적인 리소스를 추상화(Abstraction)하는, 즉 물리적인 자원을 논리적인 자원으로 보이게 하는 기술 - Hypervisor (하이퍼바이저)
- 호스트 컴퓨터에서 다수의 운영 체제(operating system)를 동시에 실행하기 위해 하드웨어 자원을 논리적 플랫폼(platform)으로 가상화해 주는 소프트웨어
- 논리적인 자원으로 가상화된 환경 위에 여러 OS를 동시에 운영할 수 있다.
- Hypervisor 분류 (설치방식에 따른 분류)
- Type 1 (Native or Bare Metal)
▷ 호스트의 하드웨어 상에서 바로 동작하며, 게스트 OS를 관리
▷ CPU가 가상화를 지원해야 한다. (Intel VT, AMD-V 기능 등)
▷ XenServer 또는 Vmware ESX, Hyper-V(MS사) / KVM(Linux에 같이 포함됨)
- Type 2 (Hosted)
▷ 호스트의 OS 상에서 Hypervisor 동작
▷ Hypervisor는 OS를 통해 H/W를 호출
▷ VirtualBox, VMware Desktop
▷ QEMU
- Hypervisor 분류 (어떤 방식으로 가상화를 했는가?)
- Full Virtualization (전가상화)
▷ Native virtualization이라고도 불린다.
▷ Guest OS들과 H/W 사이를 중재하는 가상 머신(Hypervisor or VMM)을 사용
▷ Hypervisor가 GuestOS와 bare H/W 사이를 중재하기 때문에 특정 명령어들은 hypervisor 내에서 트랩핑 및 핸들 되어야 한다. (H/W는 OS 소유가 아닌 hypervisor를 통해 공유된다.)
▷ 하드웨어 전체를 완전히 가상화
▷ Guest OS를 원 OS의 변경 없이 사용 가능
- Para Virtualization (반가상화)
▷ 하드웨어를 완전히 가상화하지 않음
▷ Guset OS가 Mgmt 단인 control domain을 거치지 않고, Hypervisor와 바로 interaction 한다.
(더 빠르게 resource를 사용할 수 있게 되고, Guest OS의 성능 향상을 기대할 수 있다.)
▷ 모든 resource를 hypervisor와 바로 interaction하지 않고, CPU나 RAM과 같은 사용이 빈번한 resource만 사용
(hypervisor는 control domain과 H/W 간에 리소스를 전달하는 최소한의 역할만 담당한다.)
▷ Guset OS에서 직접 하드웨어 제어가 안되고 하이퍼바이저를 통해 제어
▷ Guest OS는 원래 OS로부터 일정 수정된 것들이 사용됨
OS virtualization for Container
- vm
- HOST OS 위에서 Hypervisor를 통해 자원을 가상화 하여 VM을 동작
- HOST OS 위에 GUEST OS가 동작하는 구조 - Container
- HOST OS에서 프로세스를 위한 공간을 별도로 분리
- 기본적인 Binary, Library 만을 guest os 대신 사용
728x90
Comments