KVM VT-d passtrough op Fedora 19

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Xudonax
  • Registratie: November 2010
  • Laatst online: 23-09 09:25
Ik heb Fedora 19 draaiend met kernel 3.11.1-200 (ivm ZFS on Linux*). Verder is mijn systeem volledig up-to-date. In dit systeem zit een Xeon E3-1265LV2 als kloppend hard, op een Intel DH77DF moederbord. So far, so good. Het BIOS ondersteunt VT-x en VT-d, dus ik zou helemaal goed moeten zitten voor PCIe passtrough. Nu heb ik een mPCIe kaart met daarop 2 Realtek NICs (r8168/r8169 driver), en deze wil ik doorgeven aan een Windows VM zodat ik kan kijken of die er beter mee om kan gaan dan Linux.

Ik heb dus virt-manager opgestart, de eigenschappen van de VM erbij gezocht en daar twee PCI apparaten toegevoegd, namelijk PCI 05:00.0 en 06:00.0. Deze twee zitten beiden achter een PCIe bridge, maargoed, eerdere ervaring leert me dat ik die PCIe bridge met rust moet laten. Helaas wil dit niet werken, en ik krijg de foutmelding Error starting domain: Requested operation is not valid: PCI device 0000:05:00.0 is not assignable. Okay... Ik was dus vergeten om de interfaces op de host down te brengen en uit de bridge te gooien. Dat gedaan, nog steeds niets. Ook de drivers verwijderd met rmmod r8168 r8169, maar dat mocht ook niet helpen.

Dan maar de bridge ook doorgeven (PCI apparaat 03:00.0, 04:01.0 en 04:02.0), maar dat gaat mis met dezelfde foutmelding omdat PCI apparaat 05:00.0 nog steeds erin staat. Die eruit gehaald, en toen... Error starting domain: internal error Unable to reset PCI device 0000:04:01.0: internal error Active 0000:04:02.0 devices on bus with 0000:04:01.0, not doing bus reset... Hmm, okay, kan ik inkomen. Dan alleen PCI apparaat 03:00.0? Nope! Error starting domain: Unable to read from monitor: Connection reset by peer.

Eens een willekeurig ander PCI apparaat proberen dan, ik heb tenslotte nog een Firewire chip rondzwerven op het moederbord: Error starting domain: Unable to read from monitor: Connection reset by peer.

dmesg laat niets interessants zien, dus dan maar eens in /var/log/messages zoeken. En jawel: Jan 7 23:29:03 server libvirtd[1888]: internal error Device 0000:05:00.0 is behind a switch lacking ACS and cannot be assigned. Just my luck. Maar gelukkig is ACS checking uit te zetten _/-\o_ Alles wat nodig is, is relaxed_acs_check = 1 in het bestand /etc/libvirt/qemu.conf.

Blijft enkel nog over dat ik nu weer zit met Error starting domain: Unable to read from monitor: Connection reset by peer :-( Dit gebeurd alleen als ik gebruik maak van PCI passtrough :'( /var/log/messages van poging tot starten op pastebin.com. Iemand ervaring daarmee?

tl;dr Ik krijg van libvirt de melding Error starting domain: Unable to read from monitor: Connection reset by peer, halp? :+

*) Lang verhaal kort: Fedora en ZoL leveren allebei een DKMS pakket die met elkaar conflicteerd. Resultaat is dat ik met nieuwere kernels geen DKMS modules meer kan bouwen.

EDIT: Okay, ik ben een drupje verder in het vinden van de fout, maar nog niet in het oplossen... Dit staat er in de log van de VM (/var/log/libvirt/qemu/WinServ2012r2.log). Wat nu?

code:
1
2
3
4
5
2014-01-07 22:42:33.309+0000: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=none /usr/bin/qemu-kvm -name WinServ2012r2 -S -machine pc-i440fx-1.4,accel=kvm,usb=off -m 2048 -smp 2,sockets=2,cores=1,threads=1 -uuid 196eb5a9-2f07-fa4b-4f9a-24a07a591703 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/WinServ2012r2.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive file=/tank/vm_images/WinServ2012r2.img,if=none,id=drive-virtio-disk0,format=raw -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive file=/tank/Documents/Dreamspark/Windows Server 2012 R2 (x64) - DVD (English)/en_windows_server_2012_r2_x64_dvd_2707946.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=24 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:f3:94:5e,bus=pci.0,addr=0x3 -vnc 127.0.0.1:0 -vga std -device pci-assign,configfd=25,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x9 -device pci-assign,configfd=26,host=06:00.0,id=hostdev1,bus=pci.0,addr=0xa -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
qemu-system-x86_64: -device pci-assign,configfd=25,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x9: assigned_dev_register_regions: Error: Couldn't mmap 0xf0104000!
qemu-system-x86_64: -device pci-assign,configfd=25,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x9: Device 'kvm-pci-assign' could not be initialized
2014-01-07 22:42:33.640+0000: shutting down


EDIT2: Ook dit al geprobeerd (qemu draaien als root, zonder permissies te droppen) maar ook dat mag niet helpen :-(

[ Voor 30% gewijzigd door Xudonax op 08-01-2014 00:04 ]


Acties:
  • 0 Henk 'm!

  • Xudonax
  • Registratie: November 2010
  • Laatst online: 23-09 09:25
Poep. Het werkt wél in een recentere kernel zoals 3.12.6-200.fc19.x86_64... Tijd om te kijken of ik ZFS daarop ook aan de gang kan krijgen :(

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 01-10 21:30

Hero of Time

Moderator LNX

There is only one Legend

Je hebt toch wel kernel-headers en kernel-devel geïnstalleerd? Zou dkms moeten regelen voor je, maar je weet maar nooit.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Xudonax
  • Registratie: November 2010
  • Laatst online: 23-09 09:25
De huidige versie van ZFS on Linux is onderhand bijna 6 maanden oud, en met de nieuweste kernel zitten daar compilatiefouten in. Zelfs de meest recente GIT versie wil niet echt lekker werken helaas. Aangezien ik de PCI passthrough maar even nodig heb ben ik nu bezig om dan maar even een libvirt pool aan te maken op een USB apparaat zodat ik kan doen wat ik wil/moet doen, en dan gauw terug naar een situatie waar ik weer bij mijn data kan :)

Want ja, DKMS wil het best regelen, maar ook daar zitten weer genoeg haken en ogen aan omdat ZFS on Linux een eigen DKMS versie heeft. Ze hadden wat patches nodig die Fedora op dat moment niet kon/wilde doorvoeren :-(