[d | an-b-bro-fr-gf-hr-l-m-maid-med-mi-mu-ne-o-old_o-p-ph-r-s-sci-sp-t-tran-tv-w-x | bg-vg | au-mo-tr | a-aa-abe-azu-c-dn-fi-hau-jp-ls-ma-me-rm-sos-tan-to-vn | misc-tenma-vndev | dev-stat]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог-RSS] [Главная]

Файл: IMG_20180309_220336.jpg -(1225 KB, 4160x2340, IMG_20180309_220336.jpg)
1225 No.201842  

Мой реквизит:

  • Asus ROG STRIX X299-E
  • Intel i7-7820X
  • Nvidia GTX1060
  • 2x16Gb Corsair (в преспективе -- 8x16Gb для прочих виртуалок)
  • Raid5 3/2 из минимальных трёх хардов ~2Tb с lvm поверх /dev/md0, для упрощённого роста места.

Минимальные требования к реквизиту:

  • От процессора -- подержка VT-d у Intel или Vi у AMD, для проброса IOMMU-групп
  • От матери -- адекватные IOMMU-группы, например чтобы с видеокартой не надо было пробрасывать все USB-контроллеры, но это в теории можн обойти никогда-не-станущими-мейнлайном патчами на ACS override

Начинаем.

Ставим базовую систему.

Включаем в автозагрузку модули vfio vfio_iommu_type1 vfio_pci и vfio_virqfd
Добавляем в init-строку ядра intel_iommu=on или amd_iommu=on
В случае первого GPU так же имеет смысл добавить video=efifb:off
Блеклистим модули, которые могут использовать пробрасывамые девайсы, обычно это какие-нибудь nouveau и snd-hda
Параметризуем модуль vfio-pci опцией ids=10de:1c03,10de:10f1 с vendorId:productId PCI-девайсов из всех IOMMU-групп, девайсы которых хотим пробрасывать.
Список девйсов по IOMMU-группам вместе с их vendorId:productId можно получить чем-то типа
find /sys/kernel/iommu_groups/*/devices -mindepth 1 | sort -t / -k 6 | awk -F / '{cmd = "lspci -nns " $7; cmd | getline out; close(cmd); print "Group",$5 ":", out;}'

Ставим qemu, libvirt, ovmf, firewalld и dhcp (который сервер)

Говорим libvirt где лежат nvram'ы ovmf и даём ультимативный доступ к системе (опционально, но упростит взаимодействие с kvm и создание темплейтов nvram'ов):

/etc/libvirt/qemu.conf:
...
user=root
group=root
nvram = [
"/usr/share/ovmf/x64/OVMF_CODE.fd:/usr/share/ovmf/x64/OVMF_VARS.fd"
]
...

systemctl enable libvirtd libvirt-guests firewalld dhcpd4

Описываем домен, пользуясь документацией:
https://libvirt.org/formatdomain.html
моим результатом было: https://gist.github.com/iamtakingiteasy/7d4bc7a580deef0eab357e9d19d68d03

Определяем:
virsh define win10-cirnos.xml

Стартуем:
virsh start win10-cirnos

ставим гостя, настраивем.

Можно игорять.

Справочная документация:

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF
https://wiki.debian.org/VGAPassthrough
https://www.kernel.org/doc/Documentation/vfio.txt

>> No.201846  
Файл: Untitled.png -(13 KB, 403x402, Untitled.png)
13
>> No.201847  
Файл: image.gif -(24 KB, 404x523, image.gif)
24
>> No.201849  
Файл: timespy_slim.jpg -(29 KB, 410x170, timespy_slim.jpg)
29

https://www.3dmark.com/3dm/25533956

>> No.201855  

Зачем это здесь?

>> No.201856  

SSD нет?

>> No.201866  

Что за потроха на пике, с завода чтоли стащил?




[d | an-b-bro-fr-gf-hr-l-m-maid-med-mi-mu-ne-o-old_o-p-ph-r-s-sci-sp-t-tran-tv-w-x | bg-vg | au-mo-tr | a-aa-abe-azu-c-dn-fi-hau-jp-ls-ma-me-rm-sos-tan-to-vn | misc-tenma-vndev | dev-stat]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог-RSS] [Главная]