Полная виртуализация против паравиртуализации
/ dev / sda - это первый обнаруженный диск типа IDE / SATA / SCSI. В этом случае эмулируется (полностью виртуализируется) гипервизором.
/ dev / vda - это первый обнаруженный паравиртуализированный драйвер диска. Это быстрее, чем эмулируемые устройства sdX, если оба относятся к одному и тому же диску, потому что в его работе меньше накладных расходов по сравнению с эмулируемым диском.
Ссылки:
С http://www.ibm.com/developerworks/library/l-virtio/ :
Полная виртуализация против паравиртуализации
Давайте начнем с быстрого обсуждения двух различных типов схем виртуализации: полная виртуализация и паравиртуализация. В полной виртуализации гостевая операционная система работает поверх гипервизора, который стоит на голом железе. Гость не знает, что он виртуализируется и не требует никаких изменений для работы в этой конфигурации. И наоборот, при паравиртуализации гостевая операционная система не только осознает, что работает на гипервизоре, но и содержит код для повышения эффективности переходов между гостями и гипервизорами.
В схеме полной виртуализации гипервизор должен эмулировать аппаратное обеспечение устройства, которое эмулируется на самом низком уровне диалога (например, для сетевого драйвера). Хотя эмуляция чиста в этой абстракции, она также является самой неэффективной и очень сложной. В схеме паравиртуализации гость и гипервизор могут работать совместно, чтобы сделать эту эмуляцию эффективной. Недостатком подхода паравиртуализации является то, что операционная система осознает, что она виртуализирована и требует изменений для работы.
С http://www.carfax.org.uk/docs/qemu-virtio :
Что такое паравиртуальные устройства?
При запуске виртуальной машины виртуальная среда должна представлять устройства для гостевой ОС - основными являются диски и сеть (плюс видео, USB, таймеры и другие). По сути, это оборудование, которое видит гость виртуальной машины.
Теперь, если гость должен оставаться полностью неосведомленным о факте его виртуализации, это означает, что хост должен эмулировать какое-то реальное оборудование. Это довольно медленно (особенно для сетевых устройств) и является основной причиной снижения производительности виртуальных машин.
Однако, если вы хотите сообщить гостевой ОС, что она находится в виртуальной среде, можно избежать накладных расходов, связанных с эмуляцией большей части реального оборудования, и использовать гораздо более прямой путь для обработки устройств внутри виртуальной машины. Этот подход называется паравиртуализацией. В этом случае гостевой ОС необходим определенный драйвер, который обращается к паравиртуальному устройству. В Linux этот интерфейс был стандартизирован и называется интерфейсом virtio.