яка різниця між / dev / vda та / dev / sda


16

Я готуюсь до сертифікації та маю локально встановлений 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.


Відповіді:


15

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

/ 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, таймери та інші). Ефективно це обладнання, яке бачить гість VM.

Тепер, якщо гостя не слід знати про те, що він віртуалізований, це означає, що хост повинен імітувати якесь справжнє обладнання. Це досить повільно (особливо для мережевих пристроїв) і є основною причиною зниження продуктивності у віртуальних машинах.

Однак, якщо ви готові повідомити гостьовій ОС знати, що вона знаходиться у віртуальному середовищі, можна уникнути накладних витрат на емуляцію більшої частини реального обладнання та використовувати набагато більш прямий шлях для обробки пристроїв всередині VM. Такий підхід називається паравіртуалізацією. У цьому випадку гостьовій ОС потрібен певний встановлений драйвер, який спілкується з паравіртуальним пристроєм. У Linux цей інтерфейс був стандартизований і називається інтерфейсом "virtio".


3
Зокрема, /dev/vd*пристрої використовують virtioпаравіртуальний драйвер диска.
Майкл Хемптон

@MichaelHampton Я покращив свою відповідь цією інформацією! Спасибі!
Тіаго Вершник Аугусто

4
Також драйвер virtio-scsi швидше, ніж драйвер virtio-blk, який адресує диски за допомогою sd *. Отже, vd * не завжди швидше. Все це означає, що блоковий пристрій, який обробляється безпосередньо паравіртуалізованим драйвером, а не блоковий пристрій, який обробляється апаратною емуляцією або опосередковано паравіртуалізованим контролером.
Спулер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.