- 가상 머신의 자원은 물리 자원을 추상화한 것 이다. cpu 의 경우 추상화를 하여 vcpu 를 만들어, 물리 cpu 의 성능을 나눠서 사용하는 것 이다. 이는 cpu 를 시분할 방식으로 나누는 방식이다. CPU 를 나누는 기술은 기존에 없는 기술이다. 따라서 이 CPU 를 나누어 할당해주는 기술을 VCPU 라고 한다
- 메모리의 경우는 성능을 나누는 것 이 아닌, 메모리를 분할하여 제공하는 것 이다. 즉, 작업 공간이 겹치면 안된다. 이 RAM 을 나누는 기술은 기존에 있으므로 RAM 이라고 표시한다
- OS 의 KERNEL 안에 인텔의 VT-X , AMD 의 AMD-V 기술이 있어야지 가상 머신을 만들 수 있다
가상 머신은 GUEST OS 를 지니며, Kernel 역시 가지고 있다. 허나, 이 Kernel 은 HOST OS 에서 보기에는 하나의 파일이다. 따라서, 가상 머신에서 동작을 하려면, 자신의 Kernel 에 접근하고, 이 Kernel 에서 자신의 가상 자원에 접근하는데, 이는 HOST의 물리 자원을 추상화 한 것으로, HOST의 물리자원에 접근하기 위해서는 HOST 에게 접근하여 처리해야 하기에 성능이 떨어진다
- 이러한 Hyper Visor 방식을 HOST BASED HV 라고 한다
이는 TYPE 2 라고 한다
- Type 2 는 가상 머신에서 물리 자원에 접근할 때, APP 형태로 배치된 Hyper Visor 를 거쳐서 Host 의 OS 에 접근하므로 Type 1 보다 성능이 좋지 않다
- Type 2 는 1 보다 사용하기 쉽다는 장점이 있다. 따라서 Type 2 는 개인용으로 사용하고, Data Center 와 같은 곳에서는 Type 1 을 사용한다
OS 의 Kernel 에 Hyper Visor 를 설치하는 방식이다
물리 자원 위에 Hyper Visor 를 배치하고, 그 위에 가상 머신을 배치하여 물리 자원에 빠르게 접근할 수 있으므로 성능이 좋다
KVM ( LINUX ) , ESXI ( VMware ) , Hyper-V ( MS ) , Xen Server 등이 있다. KVM 은 확장성이 좋으며, ESXI 는 안정성이 좋다
Linux 운영체제에 kernel이 있듯, ESXi에도 vmkernel이 존재한다. ESXi OS의 마이크로 코어로, VM에 물리 리소스를 추상화하여 할당해주고 디바이스의 I/O를 제어해주는 역할을 수행 한다
이 TYPE 을 TYPE 1 이라고 한다