전체 가상화 및 반 가상화
/ dev / sda 는 IDE / SATA / SCSI 유형의 첫 번째 감지 디스크입니다. 이 경우 하이퍼 바이저에 의해 에뮬레이트 (전체 가상화)됩니다.
/ dev / vda 는 처음 감지 된 반 가상화 디스크 드라이버입니다. 에뮬레이트 된 드라이브에 비해 작업 오버 헤드가 적기 때문에 둘 다 동일한 디스크를 참조하는 경우 에뮬레이트 된 sdX 장치보다 빠릅니다.
참고 문헌 :
에서 http://www.ibm.com/developerworks/library/l-virtio/ :
전체 가상화 및 반 가상화
완전 가상화와 반 가상화라는 두 가지 유형의 가상화 체계에 대해 간단히 설명하겠습니다. 완전 가상화에서 게스트 운영 체제는 베어 메탈에있는 하이퍼 바이저 위에서 실행됩니다. 게스트는 가상화되고 있음을 인식하지 못하므로이 구성에서 작동하기 위해 변경이 필요하지 않습니다. 반대로 반 가상화에서 게스트 운영 체제는 하이퍼 바이저에서 실행되고 있음을 인식 할뿐만 아니라 게스트에서 하이퍼 바이저로의 전환을보다 효율적으로 수행 할 수있는 코드를 포함합니다.
전체 가상화 체계에서 하이퍼 바이저는 대화의 가장 낮은 수준 (예 : 네트워크 드라이버)에서 에뮬레이션하는 장치 하드웨어를 에뮬레이션해야합니다. 이 추상화에서는 에뮬레이션이 깨끗하지만 가장 비효율적이고 복잡합니다. 반 가상화 체계에서 게스트와 하이퍼 바이저는이 에뮬레이션을 효율적으로 만들기 위해 협력 적으로 작업 할 수 있습니다. 반 가상화 접근 방식의 단점은 운영 체제가 가상화되고 있음을 인식하고 작동하기 위해서는 수정이 필요하다는 것입니다.
에서 http://www.carfax.org.uk/docs/qemu-virtio :
반 가상화 장치 란 무엇입니까?
가상 시스템을 실행할 때 가상 환경은 게스트 OS에 장치를 제공해야합니다. 디스크와 네트워크는 기본 2 개 (비디오, USB, 타이머 등)입니다. 실제로 이것은 VM 게스트가 보는 하드웨어입니다.
이제 게스트가 가상화되었다는 사실을 완전히 무시해야한다면 호스트가 실제 하드웨어를 에뮬레이트해야한다는 의미입니다. 이는 특히 네트워크 장치의 경우 속도가 느리고 가상 시스템의 성능 저하의 주요 원인입니다.
그러나 게스트 OS에 가상 환경에 있음을 알리려면 실제 하드웨어의 많은 부분을 에뮬레이션하는 오버 헤드를 피하고 훨씬 더 직접적인 경로를 사용하여 VM 내부의 장치를 처리 할 수 있습니다. 이 접근법을 반 가상화라고합니다. 이 경우 게스트 OS에는 반 가상화 장치와 통신하는 특정 드라이버가 설치되어 있어야합니다. Linux에서이 인터페이스는 표준화되었으며 "virtio"인터페이스라고합니다.