PCI-Karten von KVM-Host an Gast durchreichen

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von Nelson » 13.09.2009 21:14:24

Hallo,

ich habe KVM auf Debian "Lenny" erfolgreich am Laufen. Dabei habe ich aus Backports virtinst (0.400.3-2~bpo50+1) und virt-manager (0.7.0-2~bpo50+1) installiert. Gleichzeitig läuft bei mir der Kernel 2.6.30-bpo.1-amd64.
Ich möchte jetzt gerne eine PCI-Karte (AVM Audiovisuelles MKTG & Computer System GmbH Fritz!PCI v2.0 ISDN) mit dem PCI-Bus 03:06.0 an einen Gast durchreichen.
Der neue Virt-manager bietet das auch bereits an. Nur werden in dem Menü "Physical Host Device" für den Gerätetypen PCCI-Device "No Devices available" angezeigt. In dem Artikel http://www.linux-kvm.com/content/kvm-79 ... e-hot-plug ist die Rede davon, daß eine Kernel-Methode irqchip und ein Modul irqhook benötigt wird. Wo finde ich diese Module?
Oder hat jemand unter euch die PCI-Karten durchreichen können? Und wenn ja, wie geht das? Bzw. muß im Kernel ein Modul für diese KVM-Funktionalität geladen werden?

Viele Grüße

Nelson
Openness prevails!
LINUX
Where open minds meet!

hasenhubert
Beiträge: 28
Registriert: 05.09.2008 15:29:17

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von hasenhubert » 08.10.2009 20:02:33

Hi,

PCI-Karten mit dem VMM würde ich auch gern können. Bei mir war es auch wie bei dir, das ich keine PCI-Devices auswählen konnte.
Habe dann dieses gemacht:

Neuen Kernel kompiliert, mit diesen Optionen:

# set "Bus options (PCI etc.)" -> "Support for DMA Remapping Devices" to "*"
# set "Bus options (PCI etc.)" -> "Enable DMA Remapping Devices" to "*"
# set "Bus options (PCI etc.)" -> "PCI Stub driver" to "*"

Ab jetzt kann ich PCI-Devices auswählen.

Nur jetzt tut sich ein neues Problem auf, die Gäste können nicht mehr gestartet werden.

Debian Squeeze
Kernelversion: 2.6.31 von SID mit o.g. Änderungen
KVM: 85+dfsg-4
Qemu Version: 0.10.6-1
Virt-Manager: 0.7.0-4

Fehler den VMM anzeigt:

Code: Alles auswählen

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/engine.py", line 493, in run_domain
    vm.startup()
  File "/usr/share/virt-manager/virtManager/domain.py", line 558, in startup
    self.vm.create()
  File "/usr/lib/python2.5/site-packages/libvirt.py", line 293, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: Failure while reading monitor startup output: Connection reset by peer

Und da waren sie wider, meine "3 Probleme"

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von Nelson » 09.10.2009 08:54:12

Hi Hasenhubert,

lassen sich deine Gäste starten, wenn du die PCI-Devices wieder abwählst? Oder musst du dann wieder mit dem alten Kernel booten, damit die Gästen wieder laufen?
Openness prevails!
LINUX
Where open minds meet!

hasenhubert
Beiträge: 28
Registriert: 05.09.2008 15:29:17

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von hasenhubert » 09.10.2009 09:04:23

Ja, ohne PCI-Devices kann ich die Gäste booten und brauche nicht den Kernel ohne die modifizierung booten.

Habe das mit dem Kernel hier her:

http://www.linux-kvm.org/page/How_to_as ... T-d_in_KVM

mfg

Hasenhubert

hasenhubert
Beiträge: 28
Registriert: 05.09.2008 15:29:17

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von hasenhubert » 09.10.2009 09:26:23

Habe das ganze jetzt auf einem anderen Rechner ausprobiert, da funktioniert es einwandrei. (Gleicher Kernel wie oben)
WLAN-Pcikarte einem Gast ohne Probleme durchgereicht und er startete auch noch.

Dann "lspci" und die Karte wird gefunden.

Habe aber keine Ahnung warum es bei dem Einen und bei dem Anderen nicht geht.

mfg

Hasenhubert

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von Nelson » 09.10.2009 09:58:14

Sollte ich mir auch einmal ansehen, in der Hoffnung daß es bei mir ebenfalls der Eine ist. Die Gäste sind bei mir nämlich wichtig und ich wollte den Host eigentlich vom HylaFax entlasten. Dazu müßte ich die AVM-ISDN-Karte aber durchreichen können.

Viele Grüße

Nelson
Openness prevails!
LINUX
Where open minds meet!

tafkad
Beiträge: 282
Registriert: 22.09.2004 13:54:26

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von tafkad » 09.10.2009 10:41:21

Ist jetzt etwas länger her das ich mich damit auseinander gesetzt habe, aber war es nicht so, das man unter KVM dafür neben speziellen Prozessor erweiterungen auch bestimmte Chipsatzvorraussetzungen braucht? Oder haben die das mitlerweile in den Griff bekommen? Der Grund weshalb eines unserer Serversysteme noch als XEN System läuft, da es dort Out of Box ging. Wenn es nun unter KVM auch so geht, kann ich endlich das letzte System umstellen, würde mich echt freuen.

Benutzeravatar
McAldo
Moderator
Beiträge: 2069
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von McAldo » 09.10.2009 10:44:59

Soweit ich weiß, braucht KVM volle Hardwarefunktionalität, soll heißen, Chipsatz und CPU muss entsprechende Funktionen mitliefern. Bei Intel ist das soweit ich weiß VT-d beim Chipsatz, und VT bei CPU.

McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von Nelson » 09.10.2009 12:32:42

Also das ist bei mir gegeben:
McAldo hat geschrieben:Soweit ich weiß, braucht KVM volle Hardwarefunktionalität, soll heißen, Chipsatz und CPU muss entsprechende Funktionen mitliefern. Bei Intel ist das soweit ich weiß VT-d beim Chipsatz, und VT bei CPU.

McAldo
Ich setze AMD Athlon(tm) 64 X2 Dual Core Processor 6000+ ein und da muß

Code: Alles auswählen

grep " svm " /proc/cpuinfo
Infos ausspucken, wie

Code: Alles auswählen

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
Umgekehrt bei Intel ist es der Befehl

Code: Alles auswählen

grep " vmx " /proc/cpuinfo
Dazu kann ich aber nichts sagen, weil ich mich vor langer Zeit von Intel verabschiedet hatte. Also dort keine Vergleichswerte habe.

Nelson
Openness prevails!
LINUX
Where open minds meet!

tafkad
Beiträge: 282
Registriert: 22.09.2004 13:54:26

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von tafkad » 09.10.2009 13:24:39

Nelson hat geschrieben: Ich setze AMD Athlon(tm) 64 X2 Dual Core Processor 6000+ ein und da muß
Dies ändert aber nichts an der Aussage mit dem Chipsatz, oder wurde dies mitlerweile geändert, weil ich davon nichts in den Releasenotes gefunden habe.

Benutzeravatar
towo
Beiträge: 4546
Registriert: 27.02.2007 19:49:44
Lizenz eigener Beiträge: GNU Free Documentation License

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von towo » 09.10.2009 13:29:34

Richtig, pci passthrough benötigt vt-d, respektive IOMMU, welches nur von den neueren Opterons unterstützt wird.

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von Nelson » 09.10.2009 15:24:44

towo hat geschrieben:Richtig, pci passthrough benötigt vt-d, respektive IOMMU, welches nur von den neueren Opterons unterstützt wird.
Dann ich bin auch wieder schlauer, dann geht das leider nicht mit meinen AMDs.
Openness prevails!
LINUX
Where open minds meet!

hasenhubert
Beiträge: 28
Registriert: 05.09.2008 15:29:17

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von hasenhubert » 10.10.2009 10:46:12

Dann habe ich mal ne Frage:

Ich benutze diese CPU > AMD Athlon(tm) 64 X2 Dual Core Processor 5600+
Mainboard > Asrock K10N78 - Chipsatz NVIDIA GeForce 8200

Von Opteron keine Spur. Aber das Durchreichen geht.

Warum?

Benutzeravatar
Teddybear
Beiträge: 3163
Registriert: 07.05.2005 13:52:55
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Altomünster
Kontaktdaten:

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von Teddybear » 10.10.2009 11:11:46

vt-d ist nicht zwingend notwendig!!
Wichtiger ist es das man PCI Geräte durchreicht, dessen IRQ nicht geshared ist.
Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen!
Oscar Wilde

Mod-Voice / My Voice

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von Nelson » 10.10.2009 11:12:14

Guten Morgen Hasenhubert,

da haben wir denselben Gedanken gehabt, nur Du warst schneller.
hasenhubert hat geschrieben:Dann habe ich mal ne Frage:

Ich benutze diese CPU > AMD Athlon(tm) 64 X2 Dual Core Processor 5600+
Mainboard > Asrock K10N78 - Chipsatz NVIDIA GeForce 8200

Von Opteron keine Spur. Aber das Durchreichen geht.

Warum?
Meine Frage wäre gewesen, ob Du diese neuen Opterons einsetzt. Aber da haben wir ja fast dieselben Prozessoren.
Da möchte ich mich Deiner Frage anschließen, warum das dann doch geht.
Openness prevails!
LINUX
Where open minds meet!

Benutzeravatar
Nelson
Beiträge: 233
Registriert: 25.05.2008 10:40:28
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stuttgart

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von Nelson » 10.10.2009 11:15:54

Das ist ja schon mal etwas:
Teddybear hat geschrieben:vt-d ist nicht zwingend notwendig!!
Wichtiger ist es das man PCI Geräte durchreicht, dessen IRQ nicht geshared ist.
Heißt das jetzt konkret, mein Host darf die ISDN-Karte nicht sehen? Und wie erzwinge ich das, also dass die Hostmaschine die entsprechende IRQ nicht sieht?

Schade, dass dazu noch so wenig Dokumentiertes finde.

Jedenfalls besten Dank für den Hinweis!
Openness prevails!
LINUX
Where open minds meet!

Benutzeravatar
Teddybear
Beiträge: 3163
Registriert: 07.05.2005 13:52:55
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Altomünster
Kontaktdaten:

Re: PCI-Karten von KVM-Host an Gast durchreichen

Beitrag von Teddybear » 10.10.2009 11:37:13

Nein das heisst nicht, das dein Host die nicht sehen darf... sonst geht wohl auch das durchreichen nicht.
Sondern vielmehr, das das System den IRQ deiner ISDN Karte nicht noch zusätzlich anderweitig verwendet (shared).
Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen!
Oscar Wilde

Mod-Voice / My Voice

Antworten