Назад | Перейти на главную страницу

в чем разница между / dev / vda и / dev / sda

Я готовлюсь к сертификации и у меня локально установлен CentOS7 (VirtualBox) и еще один экземпляр в облачной службе.

В локальной системе у меня есть /dev/sda а в облаке у меня есть /dev/vda.

Теперь мне интересно, что именно означает эта разница? Есть ли стандарт (документация?) Для именования этих устройств и что означают разные имена?

Редактировать:

Я думаю, что этот документ очень полезен для понимания именования: https://www.kernel.org/doc/Documentation/admin-guide/devices.txt

8 block SCSI disk devices (0-15)
      0 = /dev/sda      First SCSI disk whole disk
     16 = /dev/sdb      Second SCSI disk whole disk
     32 = /dev/sdc      Third SCSI disk whole disk
        ...
    240 = /dev/sdp      Sixteenth SCSI disk whole disk

Но я не смог найти информацию о / dev / vda.

Полная виртуализация против паравиртуализации

/ 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".