Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

1.5.3. Сквозное подключение устройства/горячее подключение


Если вместо описанного здесь горячего подключения вы хотите всегда проходить через устройство, добавьте XML-содержимое устройства в статическое гостевое XML-представление, например, вирш редактировать. В этом случае вам не нужно использовать прикрепить/отсоединить. Существуют разные виды прохождения. Доступные вам типы зависят от настроек вашего оборудования и программного обеспечения.

• Горячее подключение/сквозное подключение USB

• Горячее подключение/транзитное подключение VF


изображение

2 http://libvirt.org/uri.html

3 https://libvirt.org/migration.html#offline

4 https://libvirt.org/migration.html

5 http://wiki.qemu.org/Features/PostCopyLiveMigration

6 https://wiki.ubuntu.com/QemuKVMMigration


Но оба типа обрабатываются очень похожим образом, и хотя существуют разные способы сделать это (например, также через монитор qemu), рекомендуется вносить такие изменения через libvirt. Таким образом, libvirt может попытаться справиться со всеми видами особых случаев, а также в некоторой степени маскировать различия версий.


Обычно при использовании горячего подключения через libvirt вы создаете фрагмент XML, который описывает устройство так же, как если бы вы делали это в статическом гостевом описании.7 USB-устройство обычно идентифицируется по идентификатору поставщика/продукта:


Виртуальные функции обычно назначаются через их PCI-ID (домен, шина, слот, функция).



изображение

Получение виртуальной функции в первую очередь очень зависит от устройства и поэтому не может быть полностью описано здесь. А вообще это предполагает настройку йомму, регистрацию через VFIO8 а иногда запрашивают несколько VF. Вот пример ppc64el для получения 4 VF на устройстве:


$ sudo modprobe vfio-pci

# идентифицировать устройство

$ lspci -n -s 0005:01:01.3 0005:01:01.3 0200: 10df:e228 (версия 10)

# зарегистрируйтесь и запросите VF

$ эхо 10df e228 | sudo тройник /sys/bus/pci/drivers/vfio-pci/new_id

$ эхо 4 | sudo tee /sys/bus/pci/devices/0005\:01\:00.0/sriov_numvfs


Затем вы подключаете или отключаете устройство через libvirt, связывая гостя с помощью фрагмента XML.


Virsh Attach-Device

# Используйте устройство в гостевой системе

virsh-отсоединить-устройство


изображение

Существует несколько связанных с этим известных проблем, связанных с защитой одежды, защищающей «слишком сильно». Возможно, вам придется настроить исключения в профилях приложений до тех пор, пока не появятся ошибки 1552241.9 (для USB) и https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1679704 (для назначения VF). Чтобы проверить, не затронуто ли это вас, посмотрите dmesg, пока вы используете функцию сквозного подключения USB/VF/горячего подключения, и проверьте, видите ли вы, что apparmor отклоняет10.


изображение

7 https://libvirt.org/formatdomain.html

8 https://www.kernel.org/doc/Documentation/vfio.txt

9 https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1552241

10 http://wiki.apparmor.net/index.php/AppArmor_Failures#Messages_in_the_Log_files


Лучшие облачные вычисления для ОС в OnWorks: