Virtualização completa versus para-virtualização
/ dev / sda é o primeiro disco detectado do tipo IDE / SATA / SCSI. Nesse caso, emulado (totalmente virtualizado) pelo hipervisor.
/ dev / vda é o primeiro driver de disco paravirtualizado detectado. É mais rápido que os dispositivos sdX emulados se ambos forem referidos ao mesmo disco, porque há menos sobrecarga em sua operação em comparação com uma unidade emulada.
Referências:
Em http://www.ibm.com/developerworks/library/l-virtio/ :
Virtualização completa vs. paravirtualização
Vamos começar com uma rápida discussão sobre dois tipos distintos de esquemas de virtualização: virtualização completa e paravirtualização. Na virtualização completa, o sistema operacional convidado é executado em cima de um hipervisor que fica na base do metal. O convidado não sabe que está sendo virtualizado e não requer alterações para funcionar nessa configuração. Por outro lado, na paravirtualização, o sistema operacional convidado não só está ciente de que está sendo executado em um hypervisor, mas inclui código para tornar as transições de convidado para hypervisor mais eficientes.
No esquema de virtualização completo, o hipervisor deve emular o hardware do dispositivo, que está emulando no nível mais baixo da conversa (por exemplo, para um driver de rede). Embora a emulação seja limpa nessa abstração, também é a mais ineficiente e altamente complicada. No esquema de paravirtualização, o convidado e o hipervisor podem trabalhar cooperativamente para tornar essa emulação eficiente. A desvantagem da abordagem de paravirtualização é que o sistema operacional está ciente de que está sendo virtualizado e requer modificações para funcionar.
Em http://www.carfax.org.uk/docs/qemu-virtio :
O que são dispositivos paravirtuais?
Ao executar uma máquina virtual, o ambiente virtual deve apresentar dispositivos ao SO convidado - discos e rede sendo os dois principais (além de vídeo, USB, cronômetros e outros). Efetivamente, esse é o hardware que o convidado da VM vê.
Agora, se o convidado deve permanecer totalmente ignorante do fato de ser virtualizado, isso significa que o host deve emular algum tipo de hardware real. Isso é bastante lento (principalmente para dispositivos de rede) e é a principal causa de desempenho reduzido em máquinas virtuais.
No entanto, se você deseja que o sistema operacional convidado saiba que ele está em um ambiente virtual, é possível evitar a sobrecarga de emular grande parte do hardware real e usar um caminho muito mais direto para manipular dispositivos dentro da VM. Essa abordagem é chamada paravirtualização. Nesse caso, o sistema operacional convidado precisa de um driver específico instalado que fale com o dispositivo paravirtual. No Linux, essa interface foi padronizada e é chamada de interface "virtio".