VMDirectPath / PCIPassthrough - ein Erfahrungsbericht
Verfasst: 05.12.2011, 22:03
Das Thema Durchreichen-einer-PCI-Karte-an-eine-VM taucht zwar immer mal wieder auf und ist sicherlich ein spanndendes Thema scheint aber hir dennoch nicht von allzu grosser Bedeutung zu sein.
Dennoch - ich habe mir eingebildet mit VMDirechtPath in jeder VM die verfügbare Hardware optimal zu nutzen.
Nach längerem Probieren hier der (ernüchternde) Erfahrungsbericht.
Die Testkandidaten:
- Mainboard GA-H55MUSB3 mit vt-d-fähiger CPU; BIOS F12d/g
- AVM B1 ISN-Karte
- Dialogic BRI-2M
- Adaptec 19160N SCSI-Karte
VMDirectPath ist nur möglich, wenn sowohl Chipsatz wie auch die CPU vt-d unterstützen und obendrein dieses Feature im BIOS auch aktivierbar ist und korrekt unterstützt wird.
Die ersten Tests mit Proxmox 1.8 und ESX4 scheiterten - Fehlermeldungen des Linux-Kernels besagten, dass vt-d nicht aktiviert ist.
Mit dem originalen BIOS des Mainboards liess sich keine Option zur Freischaltung von vt-d finden, vt-x schon.
Mit einem inoffiziellen BIOS (F12d) von GIgabyte liess sich mit STRG-F1 ein zusätzliches Menü "Advanced Chipset features" aktivieren - und darin gibt es einen Punkt "vt-d Enable". Dennoch blieb es bei Fehlermeldungen des Kernels( Stichwort DMAR oder IOMMU)
Das Verhalten änderte sich erst mit einem weiteren BIOS F12g.
Nach dem Aktivieren von vt-d startet der Rechner jetzt neu und schaltet selbststätig mehrfach aus und wieder ein.
Ich habe dann noch eins drauf gesetzt und den Rechner für einige Minuten komplett stromlos gemacht.
Danach wurde ESX5i testweise instaliliert und siehe da - erstmals ist unter "konfiguration - erweiterte Einstellungen" VMDirectPath auswählbar.
Man kann genau sehen, dass beide PCI-Steckplätze technisch zusammengeschaltet sind.
Dies hat zur Konsequenz, dass man die entsprechenden PCI-Geräte nur gemeinsam an eine VM durchreichen kann, nicht getrennt voneinander an verschiedene VMs.
Test 1 - Adaptec SCSI-Karte unter Win2003
Ergebnis: Die Karte ist unter Win2003 in der VM sichtbar und funktioniert. Win2003 fertigt auf einem angeschlossenen LTO2-Tape ein Backup an, das Band ist später lesbar.
Über den Datendurchsatz zum LTO-Tape kann ich nicht viel sagen; subjektiv setzt das Tape jedoch häufig ab und spult hin und her.
Test 2 - AVM B1 unter Win2003
Die Adaptec-Karte wurde in ESX5i deaktiviert, stattdessen die B1 in der VM verfügbar gemacht.
Fazit: die AVM B1 ist unter Win2003 im Gerätemanager als fehlerfrei sichtbar.
Ein Versuch mit einem Testprogramm AVM Connect32 eine Verbindung über ISDN aufzubauen scheitert dann aber - "kein freier Kanal gefunden"
Test 3 - Dialogic Diva Server BRI-2M unter Kubuntu
Nach Installation von Kubuntu lässt sich mit 'lsmod' nachweisen, dass verschiedene Kernelmodule für die Karte geladen wurden und ein Interrupt vergeben wurde.
Anschliessend wurde die Software DIVA Server for Linux 9.6 LIN installiert.
Nach erfolgreichem Abschluss fällt aber eine Fehlermeldung auf, die erwarten lässt, dass die Karteninitialisierung dennoch fehlgeschlagen ist.
Entsprechend wird auch unter der Konfigurationsseite gemeldet, dass keine Karte gefunden wurde.
Insgesamt ein eher ernüchterndes Ergebnis. Es funktioniert zwar grundsätzlich, aber dennoch scheint VMDirectPath in der Praxis kaum nutzbar zu sein. Immerhin fand der Test durchweg mit Hardware statt, die nicht für ESX5i zertifiziert ist.
Ich hatte gehofft, den Fax-Server zukünftig virtualisiert unter Linux laufen zu lassen
Vielleicht hat ja jemand noch weitere Ideen wie man doch noch alles zum Laufen bringt.
Dennoch - ich habe mir eingebildet mit VMDirechtPath in jeder VM die verfügbare Hardware optimal zu nutzen.
Nach längerem Probieren hier der (ernüchternde) Erfahrungsbericht.
Die Testkandidaten:
- Mainboard GA-H55MUSB3 mit vt-d-fähiger CPU; BIOS F12d/g
- AVM B1 ISN-Karte
- Dialogic BRI-2M
- Adaptec 19160N SCSI-Karte
VMDirectPath ist nur möglich, wenn sowohl Chipsatz wie auch die CPU vt-d unterstützen und obendrein dieses Feature im BIOS auch aktivierbar ist und korrekt unterstützt wird.
Die ersten Tests mit Proxmox 1.8 und ESX4 scheiterten - Fehlermeldungen des Linux-Kernels besagten, dass vt-d nicht aktiviert ist.
Mit dem originalen BIOS des Mainboards liess sich keine Option zur Freischaltung von vt-d finden, vt-x schon.
Mit einem inoffiziellen BIOS (F12d) von GIgabyte liess sich mit STRG-F1 ein zusätzliches Menü "Advanced Chipset features" aktivieren - und darin gibt es einen Punkt "vt-d Enable". Dennoch blieb es bei Fehlermeldungen des Kernels( Stichwort DMAR oder IOMMU)
Das Verhalten änderte sich erst mit einem weiteren BIOS F12g.
Nach dem Aktivieren von vt-d startet der Rechner jetzt neu und schaltet selbststätig mehrfach aus und wieder ein.
Ich habe dann noch eins drauf gesetzt und den Rechner für einige Minuten komplett stromlos gemacht.
Danach wurde ESX5i testweise instaliliert und siehe da - erstmals ist unter "konfiguration - erweiterte Einstellungen" VMDirectPath auswählbar.
Man kann genau sehen, dass beide PCI-Steckplätze technisch zusammengeschaltet sind.
Dies hat zur Konsequenz, dass man die entsprechenden PCI-Geräte nur gemeinsam an eine VM durchreichen kann, nicht getrennt voneinander an verschiedene VMs.
Test 1 - Adaptec SCSI-Karte unter Win2003
Ergebnis: Die Karte ist unter Win2003 in der VM sichtbar und funktioniert. Win2003 fertigt auf einem angeschlossenen LTO2-Tape ein Backup an, das Band ist später lesbar.
Über den Datendurchsatz zum LTO-Tape kann ich nicht viel sagen; subjektiv setzt das Tape jedoch häufig ab und spult hin und her.
Test 2 - AVM B1 unter Win2003
Die Adaptec-Karte wurde in ESX5i deaktiviert, stattdessen die B1 in der VM verfügbar gemacht.
Fazit: die AVM B1 ist unter Win2003 im Gerätemanager als fehlerfrei sichtbar.
Ein Versuch mit einem Testprogramm AVM Connect32 eine Verbindung über ISDN aufzubauen scheitert dann aber - "kein freier Kanal gefunden"
Test 3 - Dialogic Diva Server BRI-2M unter Kubuntu
Nach Installation von Kubuntu lässt sich mit 'lsmod' nachweisen, dass verschiedene Kernelmodule für die Karte geladen wurden und ein Interrupt vergeben wurde.
Anschliessend wurde die Software DIVA Server for Linux 9.6 LIN installiert.
Nach erfolgreichem Abschluss fällt aber eine Fehlermeldung auf, die erwarten lässt, dass die Karteninitialisierung dennoch fehlgeschlagen ist.
Entsprechend wird auch unter der Konfigurationsseite gemeldet, dass keine Karte gefunden wurde.
Insgesamt ein eher ernüchterndes Ergebnis. Es funktioniert zwar grundsätzlich, aber dennoch scheint VMDirectPath in der Praxis kaum nutzbar zu sein. Immerhin fand der Test durchweg mit Hardware statt, die nicht für ESX5i zertifiziert ist.
Ich hatte gehofft, den Fax-Server zukünftig virtualisiert unter Linux laufen zu lassen
Vielleicht hat ja jemand noch weitere Ideen wie man doch noch alles zum Laufen bringt.