Форум русскоязычного сообщества Ubuntu


Автор Тема: Виртуальная машина для работы с разными видеокартами  (Прочитано 1060 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AnnaRakit

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Здравствуйте, друзья!

Прошу сильно не пинать, никогда не работала с Linux, есть несколько вопросов.

Долго работала в Windows с помощью VirtualBox (тестировала приложения на разных версиях Windows). Недавно появилась нужда в пробросе реальной видеокарты для каждой из виртуальных систем.

Долго гуглила информацию, сложилось мнение, что на Windows это невозможно. В отличии от Linux...

Направьте пожалуйста в нужную торону, где искать, на что обратить внимание?

Мои задачи:

1) Хост система с 12 ядрами/24 потоками, 64 ГБ оперативной памяти и 4 подключённых видеокарты.
2) Должна быть возможность установки виртуальных ОС с задаваемым количеством ядер, кол-вом оперативной памяти и самое главное - пробросом для каждой ОС определённой (из тех четырёх) видеокарт.
3) Желательно, чтобы имелась возможность одновременного запуска 4 виртуальных систем одновременно (у каждой своя видеокарта).
4) Желательно, наименее сложный в эксплуатации софт (но я готова изучать/учиться, если это потребуется).

Заранее огромное спасибо!

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1178
    • Просмотр профиля
3) Желательно, чтобы имелась возможность одновременного запуска 4 виртуальных систем одновременно (у каждой своя видеокарта).
А хост без видео будет? Вряд ли получится.
4) Желательно, наименее сложный в эксплуатации софт
У меня есть ссылка на самый сложный.
Если у кого-то есть попроще, буду рад также ознакомиться.
Debian 11, Debian 11 Server

Morisson

  • Гость
Virtualbox не лучшее для этого решение.
Больше подойдет qemu+kvm+virt-manager

https://habr.com/ru/post/211909/

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF

А в виртуалбоксе оно работает через одно место

Оффлайн AnnaRakit

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
А хост без видео будет? Вряд ли получится.
Извиняюсь, глупо написала. Да, конечно, для хост-системы предусмотрено отдельное видео :)

Virtualbox не лучшее для этого решение.
Больше подойдет qemu+kvm+virt-manager
Именно поэтому и попросила совета, куда дальше "копать". Не хотелось по неопытности упереться в тупик...

У меня есть ссылка на самый сложный.
https://habr.com/ru/post/211909/

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF

Merci beaucoup! Буду изучать)

P.S.
Я должна в своём деле ориентироваться на определённое железо для правильной/лучшей совместимости, быстродействия ? (процессор Intel/AMD, видеокарта GeForce/AMD)

Есть удручающий опыт, когда собрала систему для софта, который писался для нашей организации. А оказалось, что AMD Ryzen работает с лагами, а дискретная видеокарта от AMD (топовая) вообще не поддерживается 8-0


Пользователь добавил сообщение 27 Февраля 2020, 18:42:42:
И ещё вопрос.

Во всех мануалах указывается ситуация, при которой в системе две видеокарты. Одна остаётся за хост-системой, другая пробрасывается.

Используя подобную технологию, я смогу 1 видеокарту привязать к хост-системе, а 2,3,4 к трём гостевым системам?

А в виртуалбоксе оно работает через одно место
Что значит через одно место?) Можно подробнее?)
« Последнее редактирование: 27 Февраля 2020, 18:42:42 от AnnaRakit »

cgpk00

  • Гость
Я должна в своём деле ориентироваться на определённое железо для правильной/лучшей совместимости, быстродействия ?
ваша материнская плата должна поддерживать IOMMU. Обычно такой поддержки нет

Morisson

  • Гость
ваша материнская плата должна поддерживать IOMMU. Обычно такой поддержки нет
Обычно она есть даже в самых стремных ноутбуках. И включена по-умолчанию. Ну кроме нетбуков.
Что значит через одно место?) Можно подробнее?)
Ее то добавляют, то убирают. Недавно было, а теперь в вики ихней не могу найти проброс PCI-устройств.
VMWare тоже хорош, но платный, хотяяяяя...  ;)

cgpk00

  • Гость
Обычно она есть даже в самых стремных ноутбуках. И включена по-умолчанию. Ну кроме нетбуков.
Это по-моему чисто интеловская фишка, у меня на АМД мамках нигде не встречалась. дело в том, что лет десять назад, когда я сидел на дуалбуте и хотел спрыгнуть на одну систему, прорабатывал вопрос с пробросом второй карты в гостевую систему, но отсутствие IOMMU поставило крест на этой затее. Как я понял у ТС тоже АМД, хотя в новых процессорах может и добавили. Более того в линукс хосте в ядре также должна быть поддержка IOMMU!
« Последнее редактирование: 27 Февраля 2020, 20:59:58 от cgpk00 »

Morisson

  • Гость
Цитировать
IOMMU используется для прямой работы виртуализованных операционных систем с оборудованием основной системы. Наличие IOMMU для таких комбинаций позволяет повысить безопасность, производительность и упростить реализацию виртуальной машины. Примеры IOMMU для виртуализации на платформах x86/x86_64: Intel VT-d и AMD-Vi.
Параметры ядра
intel_iommu=
amd_iommu=

Подробнее можно про параметры почитать тут

cgpk00

  • Гость
Параметры ядра
intel_iommu=
amd_iommu=
Это параметры ядра, а поддержка IOMMU должна быть в железе! Пусть ТС посмотрит, есть ли у него пункт IOMMU в БИОСе

Morisson

  • Гость
Это параметры ядра
да.
Пусть ТС посмотрит, есть ли у него пункт IOMMU в БИОСе
да)

cgpk00

  • Гость
Как правило, обычные PC-совместимые компьютеры не имели IOMMU (кроме AGP GART). Вместо этого все главнейшее периферийное оборудование где-то с конца 90х годов разрабатывалось с поддержкой chain DMA

Недостатками использования IOMMU по сравнению с прямой физической адресацией памяти в DMA запросах являются:

Некоторое ухудшение производительности из-за необходимости транслирования адресов и расходов на управление, например, проход по иерархии таблицы страниц.
Дополнительное потребление памяти для хранения таблиц отображения. Может быть уменьшен при использовании основных таблиц трансляции адресов процессора.

Оффлайн AnnaRakit

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Друзья, подбор железа в списке моих проблем стоит на последнем месте)) 

Я готова собрать систему с нуля с необходимым железом. Если на нём корректно будут выполняться нужные мне задачи.

Грубо говоря:

Будет создано 36 виртуальных машин: 12 на Семёрке, 12 на Windows 8.1 и 12 на Windows 10. При этом будет чередование проброшенных видеокарт.

Я буду запускать одновременно системы по три штуки, например, в таком порядке: W7+ВК1, W8+ВК2, W8+ВК3 или W7+ВК1, W8+ВК2, W10+ВК3 и т.д.

Если это реально поставить на поток и чтобы всё работало быстро (в т.ч. переключение) - значит игра стоит свеч)) Конечно, понимаю, что первоначальная настройка будет трудоёмкой, с танцами и т.д. Но нужно, чтобы после всё работало как часы.

cgpk00

  • Гость
Я буду запускать одновременно системы по три штуки
при наличии IOMMU одну запустите наверно, а вот насчёт трёх одновременно сильно сомневаюсь, хотя могу ошибаться. IOMMU ещё надо активировать в ядре хостовой машины, а это как я понимаю модуль ядра, который работает с одной единицей оборудования, то есть с одной гостевой машиной. Скорей всего понадобится какая-то специализированная материнская плата с тремя чипсетами

 

Страница сгенерирована за 0.032 секунд. Запросов: 25.