Ситуация
На хосте XenServer 6.2 установлен видеоадаптер NVIDIA Quadro 6000 и планируется его использовать в XenDesktop 5.6. Однако в настройках XenServer видеокарта не видна и ее не удается расшарить между виртуальными машинами.
Причина
Управляющая VM dom0 использует этот адаптер как основной и не позволяет его отдавать в пользование виртуальным машинам.
Диагностика
В консоли хоста XenServer выполняем такую команду:
[root@monet ~]# head -n 1 /dev/vga_arbiter count:9,PCI:0000:01:03.0,decodes=io+mem,owns=io+mem,locks=none(0:0)
Дальше берем адрес устройства на шине ( в данном случае - 0000:01:03.0) и подставляем его в следующую команду:
[root@monet ~]# lspci -s 0000:01:03.0 01:03.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI ES1000 (rev 02)
В ответ мы получаем строку с наименованием карты, используемой dom0 в качестве основной.
Решение
Есть два варианта решения. Первый - использовать в качестве основного видеоадаптера карту, встроенную в материнскую плату. Это настраивается в BIOS.
Второй вариант - в качестве решения предлагается запретить dom0 вообще использовать видеоадаптер. Для этого в файл /etc/udev/rules.d/05-udev-early.rules добавляем строоку:
KERNEL=="vga_arbiter", OPTIONS="ignore_device"
http://www.xenserver.org/partners/developing-products-for-xenserver/18-sdk-development/127-xs-dev-gpu-dom0.html
http://discussions.citrix.com/topic/338545-hotfix-xs62e005-gpu-passthrough-on-single-gpu-host/
Discussion