Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Технический справочник. Драйверы оборудования и устройства

1. Виртуализированное оборудование

zVirt представляет три разных типа системных устройств виртуализированным гостевым машинам. Все эти аппаратные устройства отображаются для виртуализированной гостевой машины как физически подключенные аппаратные устройства, но драйверы устройств работают по-разному.

Эмулируемые устройства

Эмулируемые устройства, иногда называемые виртуальными, существуют целиком и полностью в программном виде. Драйверы эмулируемых устройств представляют собой слой трансляции между операционной системой, работающей на хосте (которая управляет исходным устройством), и операционными системами, работающими на гостевых машинах. Инструкции уровня устройства, поступающие на эмулируемое устройство и с него, перехватываются и транслируются гипервизором. Любое устройство того же типа, что и эмулируемое и распознаваемое ядром Linux, можно использовать в качестве базового исходного устройства для эмулируемых драйверов.

Паравиртуализированные устройства

Для паравиртуализированных устройств требуется установка драйверов устройств в гостевой операционной системе, предоставляющих ей интерфейс для связи с гипервизором на хосте. Этот интерфейс используется, например, для задач с традиционно интенсивным вводом-выводом, выполняемых вне среды виртуализации. Такой способ снижения присущих виртуализации накладных расходов призван приблизить производительность гостевой операционной системы к производительности, ожидаемой при работе непосредственно на физическом оборудовании.

Совместно используемые физические устройства

Некоторые аппаратные платформы позволяют виртуализированным гостевым машинам напрямую обращаться к различным аппаратным устройствам и компонентам. Этот процесс в виртуализации называется сквозным доступом или назначением устройств. Сквозной доступ позволяет устройствам отображаться и вести себя так, как если бы они были физически подключены к гостевой операционной системе.

2. Устойчивые адреса устройств в zVirt

Назначенные виртуальному оборудованию PCI-адреса сохраняются в базе данных ovirt-engine.

QEMU назначает PCI-адреса при создании виртуальной машины, а libvirt передает их в VDSM. VDSM передает их обратно Менеджеру управления, где они и хранятся в базе данных ovirt-engine.

Когда виртуальная машина запускается, Менеджер управления извлекает из базы данных адрес устройства и отправляет его в VDSM. VDSM передает их в libvirt, который запускает виртуальную машину, используя PCI-адреса устройств, назначенные при первом запуске виртуальной машины.

Когда устройство удаляется из виртуальной машины, все ссылки на него, включая устойчивый PCI-адрес, также удаляются. Если для замены удаленного устройства добавляется другое устройство, QEMU назначает ему PCI-адрес, который вряд ли будет совпадать с адресом удаленного устройства.

3. Центральный процессор (ЦП)

Каждый хост в кластере имеет несколько виртуальных ЦП (vCPU), которые, в свою очередь, предоставляются гостевым машинам, работающим на хостах. Все виртуальные ЦП, предоставляемые хостами в кластере, относятся к типу, выбранному при первоначальном создании кластера с помощью Менеджера управления. Смешивание типов виртуальных ЦП в кластере невозможно.

Характеристики каждого доступного типа виртуального ЦП основаны на одноименных физических ЦП. Для гостевой операционной системы виртуальный ЦП неотличим от физического.

4. Системные устройства

Системные устройства имеют ключевое значение для работы гостевой машины и не могут быть удалены. Каждое системное устройство, подключенное к гостевое машине, также занимает доступный PCI-слот. Системные устройства по умолчанию:

  • Мост хоста

  • Мост ISA и мост USB (мосты USB и ISA - это одно и то же устройство)

  • Графическая карта, использующая драйвер VGA или qxl

  • Устройство балунинга памяти

5. Сетевые устройства

zVirt может предоставлять гостевым машинам сетевые карты трех типов. Тип сетевой карты, предоставляемой гостевой машине, выбирается при создании гостевой машины, но его можно изменить в Менеджере управления.

  • Сетевая карта e1000 предоставляет гостевым машинам виртуализированное устройство Intel PRO/1000 (e1000).

  • Сетевая карта virtio предоставляет гостевым машинам паравиртуализированное устройство.

  • Сетевая карта rtl8139 предоставляет гостевым машинам виртуализированное устройство Realtek Semiconductor Corp RTL8139.

Одна гостевая машина может иметь несколько сетевых карт. Каждая добавляемая сетевая карта занимает свободный PCI-слот гостевой машины.

6. Графические устройства

Для подключения к эмулируемым графическим устройствам можно использовать графические протоколы SPICE или VNC.

На Портале администрирования можно выбрать Тип видео (Video Type):

  • QXL: Эмулирует паравиртуализированную видеокарту, которая лучше всего работает с гостевыми драйверами QXL.

  • VGA: Эмулирует фиктивную карту VGA с VESA-расширениями Bochs

  • BOCHS: Эмулирует фиктивную карту VGA без устаревшей эмуляции для гостевых машин с UEFI. Этот эмулятор видеокарты дисплея используется по умолчанию для серверов UEFI.

Выбор типа видео влияет на доступность соответствующих графических протоколов. В zVirt 4.X сопоставление видео - протокол следующее:

  • QXL - SPICE и VNC

  • VGA - VNC

  • BOCHS - VNC

7. Устройства хранения

Устройства хранения и пулы хранения могут использовать драйверы блочных устройств для подключения устройств хранения к виртуализированным гостевым машинам. Обратите внимание, что драйверы устройств хранения - это не устройства хранения. Драйверы используются для подключения базового устройства хранения, файла или тома пула хранения к виртуализированной гостевой машине. Базовым устройством хранения может быть любой поддерживаемый тип устройства хранения, файла или тома пула хранения.

  • Драйвер IDE предоставляет эмулируемое блочное устройство гостевым машинам. Эмулируемый драйвер IDE позволяет подключить до 4 виртуализированных жестких дисков IDE или виртуализированных CD-ROM приводов IDE (в любой комбинации) к каждой виртуализированной гостевой машине. Эмулируемый драйвер IDE также используется для предоставления виртуализированных дисков DVD-ROM.

  • Драйвер VirtIO предоставляет паравиртуализированное блочное устройство гостевым машинам. Паравиртуализированный блочный драйвер - это драйвер для всех устройств хранения, поддерживаемых гипервизором и подключенных к виртуализированной гостевой машине (за исключением дисководов гибких дисков, которые необходимо эмулировать).

8. Звуковые устройства

Доступны два эмулируемых звуковых устройства:

  • Так, ac97 эмулирует звуковую карту, совместимую с Intel 82801AA AC97 Audio.

  • А es1370 эмулирует звуковую карту ENSONIQ AudioPCI ES1370.

9. Последовательный драйвер

Паравиртуализированный последовательный драйвер (virtio-serial) - это драйвер байтового и символьного потоков. Паравиртуализированный последовательный драйвер обеспечивает простой интерфейс между пользовательским пространством хоста и пользовательским пространством гостевой машины в случаях, когда сетевое подключение недоступно или непригодно для использования.

10. Драйвер балунинга

Драйвер балунинга позволяет гостевым машинам сообщать гипервизору, сколько памяти им требуется. Драйвер балунинга позволяет хосту эффективно выделять и освобождать память на гостевой машине, а также делает возможным выделение свободной памяти другим гостевым машинам и процессам.

Гостевые машины, использующие драйвер балунинга, могут помечать разделы ОЗУ гостевой машины как неиспользуемые (уменьшение выделяемой области). Гипервизор может освобождать память и использовать ее для других процессов хоста или других гостевых машин на этом хосте. Когда гостевой машине снова потребуется освобожденная память, гипервизор может снова выделить ОЗУ гостевой машине (увеличение выделяемой области).