Xen 가상화 기술 종류 특징
Xen은 하나의 시스템에서 여러개의 운영체제를 동시에 실행할 수 있는 하이퍼바이저(Hypervisor)입니다.
이번글에서는 Xen에서 지원되는 가상화 기술 종류에 대해서 설명드리도록 하겠습니다.
1. 전가상화, HVM(Hardware-assisted virtualization)
전가상화 기술은 호스트 CPU의 가상화 기술을 이용하여 Guest 운영체제들을 가상화하는 기술입니다. HVM을 이용하기 위해서는 Intel VT 또는 AMD-V라고 불리우는 하드웨어 가상화 기술을 이용해야 합니다. 참고로 Xen 프로젝트의 소프트웨어는 Qemu를 이용하여 BIOS, IDE 디스크 컨트롤러, VGA 그래픽 어댑터, USB 컨트롤러, 네트워크 어댑터 등의 PC 하드웨어 자원을 에뮬레이팅 합니다.
하드웨어에서 제공되는 가상화 기술들은 이러한 에뮬레이팅 성능을 높이는데 사용되는데, 전가상화 기술로 실행되는 Guest 운영체제들은 커널 지원이 필요없기 때문에 윈도우 등의 다른 운영체제들도 Guest운영체제로 실행 될 수 있다는 장점이 있습니다.
과거의 오래된 호스트 시스템의 경우 전가상화 Guest는 반가상화 Guest보다 에뮬레이팅의 문제로 성능이 느렸지만, 현재는 이를 보안하기 위해서 PVHVM 등의 가상화 기술들을 사용할 수도 있습니다.
2. 반가상화, PV(Paravirtualization)
반가상화 기술은 경량의 가상화 기술로, 호스트 CPU의 하드웨어에서 가상화 기술을 지원하지 않더라도 사용할 수 있는 방법입니다.
과거에는 반가상화 Guest들과 도메인들을 제어하기 위해서는 커널에서 해당 기능이 지원되어야 했기에 반가상화 기술을 위해서는 커널을 특별히 빌드했어야 했습니다. 하지만 지금은 관련된 기술들이 리눅스 커널에 포함되어 있기에 추가 커널 빌드 없이 바로 사용 할 수 있습니다.
또한 반가상화 기술은 전가상화 기술에 비해, 시스템 리소스를 에뮬레이팅하는 오버헤드가 없기 때문에 성능이 뛰어나다는 장점이 있습니다.
이 점은 디스크와 네트워크 동작에서 큰 차이가 발생하게 되며, Bus와 Block 디바이스 드라이버에서는 거의 네이티브와 동동한 성능을 나타나게 됩니다.
반가상화를 이용할 수 있는 디바이스의 장점으로는 Block (디스크), SCSI, USB, VGA 그리고 PCI등입니다.
3. PVHVM
HVM 기반위에서 PV 게스트 운영체제가 실행되는 혼합기술입니다. 전가상화된 Guest 의 성능을 높이는 것으로, 이를 위해서 반가상화된 디바이스 드라이버를 사용하게 됩니다. (이를 PVHVM 또는 PV-on-HVM 드라이버라고 부릅니다.)
아래의 테이블은 PV, HVM 그리고 PVHVM 의 가상화 방법과 함께 종합적으로 비교하는 내용을 나타냅니다.
PV-on-HVM 드라이버는 PV드라이버들이 HVM 환경에서 최적화 된 것으로, 디스크와 네트워크 I/O등의 에뮬레이션을 바로 통과하도록 합니다.
그리고 Intel EPT 또는 AMD NPT 등의 기술들도 사용할 수 있도록 하기에 HVM 가상화 기술 이상 또는 PV에 준하는 성능을 나타낼 수 있습니다.
( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)