oVirt 기초 시리즈 #8 Full Virtualization, Para Virtualization and VirtIO

oVirt Basic Series #8 : Full Virtualization, Para Virtualization and VirtIO

영문이 보다 의미를 명확하게 전달하는 측면이 있으나 한글로는 전가상화(Full Virtualization), 반가상화(Para Virtualization)라고도 불리우는 가상화 방법입니다. Full-Virt에서는 Guest 운영체제가 자신이 가상화 플랫폼 위에서 실행중인지 아니면 Bare metal 하드웨어에서 실행되는지 구분하지 못하는, 말 그대로 완전한 가상화 상태를 의미하며, Para-Virt의 경우에는 Guest 운영체제가 자신이 가상화 플랫폼 위에서 실행되고 있다는 것을 인지하고 있는 상태가 됩니다. 따라서 Para-Virt 플랫폼에서는 Guest 운영체제가 인지할 수 있도록 하는 수정 이 필요하다는 어려움이 있으나 Guest 운영체제와 하이퍼바이저와의 협력을 통해 성능을 월등히 개선시킬 수 있는 장점이 있습니다. 사실 가상화가 대중화되고 대부분의 운영체제가 지원하는 근래에 들어서는 Guest 운영체제의 수정이 큰 문제가 되지는 않습니다.

oVirt의 경우 KVM의 가상화 기술과 QEMU 하드웨어 에뮬레이션을 사용한 Full-Virt 플랫폼으로 다양한 Guest 운영체제를 수정없이 사용할 수 있습니다. 그러나 높은 성능이 요구되는 Block 장치, Network 장치등은 성능개선을 위해 KVM의 VirtIO라 불리는 Framework를 지원하고 있으며, VirtIO용 Para-virtualized driver를 지원하는 Guest 운영체제의 경우 장치 드라이버 수준에서 반가상화 기술을 사용하게 됩니다.

Red Hat Enterprise Linux, CentOS는 4.8 버전부터, 5.3 버전부터, 6.0 버전은 모두, Fedora의 경우 12 버전이후 모든 버전에서 virtio 드라이버를 지원하고 있기 때문에 oVirt에서 실행할 경우 바로 Para-Virt의 개선된 성능을 이용할 수 있습니다. 추가적으로 Red Hat Enterprise Virtualization(oVirt의 기업용 버전)의 경우 마이크로소프트로부터 호환 인증을 받은 Windows용 virtio 드라이버도 지원하고 있습니다. 물론 oVirt에서도 윈도우용 virtio 드라이버 사용 가능합니다.

VirtIO에 대한 보다 깊은 내용은 별도의 Deep Dive 시리즈와 세미나 기회에 자세히 설명해드릴 예정입니다.

http://www.ibm.com/developerworks/library/l-virtio/

Leave a comment