LINUX.ORG.RU

Использование видеокарты в виртуальных машинах

 , , , ,


1

2

Доброго дня, господа. Интересует небольшой вопрос. Необходимо собрать тестовый стенд в котором будут участвовать 4 ПК (на них запускаются видеоролики, презенташки, ресурсоемкое ПО). Компы подключаются по видеовыходам к видеокоммутатору, который управляется отдельно,и после сигнал из коммутатора передается на 4 монитора. Думаю в теории вместо кучи техники использовать один хороший ПК, на котором в виртуалках будут крутиться видеоролики, ПО и пр. и 4 видеовыхода идти на видеокоммутатор. В качестве среды виртуализации рассматриваю VMWare, ESXI, Hyper-V И на конец сам вопрос: существует ли возможность к виртуальной машине привязывать определенный порт видеовыхода? На сколько хорошо ВМ сможет реализовать потенциал видеокарты при запуске 3D приложений (достаточно ресурсоемких)? Буду рад услышать какие-то другие интересные предложения по оборудованию. Большое спасибо!

я такое делал без всяких пробросов - берется мощный комп с 4 видео портами для 4 мониторов, на нем поднимается KVM с 4 машинами (или одна машина с 4 виртуальными мониторами), открываются 4 консоли спайс, и каждая консоль утаскивается на отдельный монитор. Спайс прекрасно справляется с видеопотоком, HD фильмы показывает без проблем. Если не нужен 3д, ничего другого и не надо

dyasny ★★★★★ ()
Ответ на: комментарий от dyasny

Проблема в том, что есть пара приложений написанных на Unity. И аппаратное ускорение от видеокарты необходимо. KVM я так полагаю не может этого дать? Или я прочитал не правильно?=)

Palazur ()
Ответ на: комментарий от Deleted

Тут тоже есть некоторые трудности. Приложения, написанные на Unity написаны для Windows. Потому в идеале нужно гибридное решение или решение на WIndows

Palazur ()
Ответ на: комментарий от Palazur

попытка не пытка, спайс дает производительность примерно старой видеокарты без поддержки directX, фильмы и ролики с ютуба пашут отлично, может и эта апликашка будет работать.

dyasny ★★★★★ ()

ресурсоемкое ПО

Насколько ресурсоемкое и какой у тебя бюджет? Тут все упирается в процессор так как после определенной планки производительности тебе никакого дешевого проца не хватит на твои виртуалки и дешевле будет собрать несколько отдельных машин.

Скажем для тяжелых игр какой-нибудь i7 может потянуть 2 виртуалки, для простых типа доты 3-4 без особых проблем. Но если у тебя там какой-нибудь CAD или прочая жесть которая насилует проц то все упрется в него.

В качестве среды виртуализации рассматриваю VMWare, ESXI, Hyper-V

Учитывай, что если у тебя не линуксовая виртуализация то тебе придется: 1) Покупать карточки AMD. 2) Или платить за Nvidia Quadro а они очень дорогие. Драйвера для не-Quadro нвидий в виртуалках названных выше просто не заработают так как они вырубаются если видят виртуализацию. Обойти это можно только если использовать Linux / KVM (или Xen) / QEMU.

И на конец сам вопрос: существует ли возможность к виртуальной машине привязывать определенный порт видеовыхода?

Если ты реально пробрасываешь карточку в виртуалку, то она достается ей целиком и рулить ей ты сможешь только с одного гостя.

Если не пробрасывать а просто использовать виртуальную видеокарту, то в VMWare в принципе есть более-менее рабочая реализация DirectX10 / OpenGL 3 которая даст тебе 15-50% (смотря че за софт) производительности и может даже это прокатит. Тогда мониторы останутся на хосте и ты сможешь из разрулить как хочешь.

o- ()
Ответ на: комментарий от o-

по поводу проца - все упирается еще и в ядра. Виртуалку через qemu можно запускать через конструкцию вида

taskset -c 2-5 qemu-system-x86_64 
Т.е. Первые ядра не трогаем, а остатки - пожалуйста. Если вообще ничего на лине не крутится, можно раскидать тяжелые виртуалки на отдельные ядра, а остальные пускай используют общие. Совокупно с BFQ планировщиком я так решил проблему со вторым феномом в корне. У меня не лагает звук и не лагает проц в виртуалке.

Rockon ()
Ответ на: комментарий от Rockon

Виртуалку через qemu можно запускать через конструкцию вида

А ещё можно заюзать libvirt и не делать это ручками. В зависимости от потребностей можно vcpu, io и эмуляция повесить на разные ядра.

Но вообще речь о том, что если приложения очень тяжелые даже самый топовый интеловский четырехядерник тупо не потянет больше 2-3 виртуалок, а всякие там E или Xeon стоить будут дороже, чем несколько машин на обычном железе.

o- ()
  • «один хороший ПК» с 4 PCIe слотами, идеально было бы x2 CPU Xeon конфирурация
  • Интегрированное в процессор видео для хоста + 4 PCIe видеокарты начального/среднего уровня для гостей
  • Linux + kvm + qemu + vfio + ovfm + win8.1
  • ?????
  • PROFIT
slon ()
Ответ на: комментарий от o-

libvirt - создание замечательное, но вот только в арче он с сетью не дружит, что мне и помешало с ним подружиться в первый раз.К тому же конструкция в qemu простая, и это явно проще, чем с нуля в либвирт вникать, да вручную править xml`ки (я поленился осиливать, то, как туда прописывать проброшенную видяшку с кучей параметров, мне было проще скриптом, благо маны у qemu в разы лучше организованы, имхо). Недопиленный гуй - этот либвирт. В случае проблем ты лезешь и в маны по virsh'у, и в маны по гипервизору.. Так что удобно только когда нужно - все гипервизоры под одной рукой, но с другой - вряд ли автору понадобится на 3 разных гипервизорах запускать что либо.

Rockon ()
Ответ на: комментарий от Rockon

К тому же конструкция в qemu простая, и это явно проще, чем с нуля в либвирт вникать

Зато поверх libvirt есть более одной оболочки и они сразу генерят правильные конфиги для виртуалок. С просто QEMU любой ленящийся читать маны человек скорее всего где-нибудь накосячит и это ему посадит производительность.

o- ()
Ответ на: комментарий от o-

тоже верно, поэтому по-началу я сгенерил конфиг с libvirt, дабы понять, как правильно. Но и по верхам скакать.. как то не моё

Rockon ()

Проброс видюхи в ESXi

Мучился-мучился, но в итоге победил гипервизор ESXi и, что важнее, драйвера под убунту, которые категорически отказывали ставиться и вываливали всё новые и новые ошибки в процессе.

Написал большое пошаговое руководство, которые пригодится тем, кто тоже решит углубиться в эту тему и заюзать убунту-подобную ОС и организовать в неё проброс видеокарты: https://vk.com/@lord.alfred-nvidia-passthrough-to-ubuntu-in-vmware-esxi

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

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.