PCI-ID holen
Um eine PCI- oder auch PCIe-Karte an ein virtualisiertes OS durchzureichen - dabei spielt es keine Rolle, ob eine Windows-Variante, Linux oder ein BSD zu Gast ist -, benötigt der Admin zunächst die PCI-ID. Die lässt sich bequem mit Lspci
[...] 00:11.0 Network controller: AVM GmbH B1 ISDN
ermitteln und an KVM als Startparameter übergeben (Abbildung 1).
Abbildung 1: Nachdem er mit Lspci etwaige Interrupt-Doppelbelegungen ausgeschlossen hat, startet der Admin das KVM-Image. 2 GByte Speicher sind mehr als genug für die Knoppix-Version 6.3. Ihr hat der Host eine PCI-Netzwerkarte durchgereicht, auf Wunsch kann er auch deren MAC-Adresse bestimmen.
Das sollte auf allen Plattformen so funktionieren, wenn der Admin einige grundlegende Regeln beachtet, etwa dass zum Beispiel auch virtualisierte Linux-Derivate Arbeitsspeicher brauchen. Wer den »-m« Parameter nicht angibt, bei dem geht KVM von der Standard-RAM-Größe von 128 MByte aus, die für Windows XP auf jeden Fall, aber auch für manche Linux-Distributionen deutlich zu knapp ist. Fedoras Installer und Yast haben meist Probleme, wenn ihnen nicht mindestens 256 MByte zur Verfügung stehen.
Anwendern mit speichermäßig ausgelasteten Virtualisierungsservern hilft da bald Kernel Samepage Merging (KSM, [4]), das die belegten RAM-Pages fortlaufend scannt und bei Übereinstimmungen diese nur einmal im Speicher ablegt. Vor allem Red Hat, neuer Besitzer von Qumranet, und Fedora entwickeln aktiv weiter.
Wer KVM mit durchgereichten PCI-Devices unter Debian verwenden will, findet das Ganze noch ein wenig komplizierter vor. In den Repositories von Lenny liefert eine Versionsabfrage mit »kvm -version« noch die veraltete Version 77, Squeeze und Ubuntu 9.1 kommen mit 0.11.1.
Debian und Fritz
Die Pakete für I-386 oder AMD64 gibts per Download vom Debian-Server. Anschließend installiert Root sie mit »dpkg -i«. Wer zuvor eine ältere Version installiert hatte, muss keine weiteren Probleme mit Abhängigkeiten haben.
Eine Erfolgsmeldung sollte »qemu-kvm --help« liefern (Listing 4). Nun kann auch auf Debian die erste Verleih-Aktion beginnen. Wer bereits eine ISDN-Fritz-Karte installiert hat, kennt das Problem: Es gibt nur RPM-Pakete für Suse, die mühsam anzupassen sind. Je neuer der Debian-Kernel, desto schwieriger die Beseitigung der Compiler-Beanstandungen. Das folgende Beispiel setzt eine Capisuite-Fax-Anrufbeantworter-Lösung auf Debian Etch auf, bei dem Module und Compiler unproblematisch sind, weil das System noch mit einem Kernel 2.6.18 läuft. KVM startet den Gast im Hintergrund und stattet ihn mit einer eigenen IP-Adresse für den SSH-Zugang aus.
|
Listing 4: : »qemu-kvm |
|---|
# kvm --help
QEMU PC emulator version 0.10.50 (qemu-kvm-devel-88), Copyright (c) 2003-2008 Fabrice Bellard
usage: qemu [options] [disk_image]
[...]
-pcidevice host=bus:dev.func[,dma=none][,name=string] expose a PCI device to the guest OS.
dma=none: don't perform any dma translations (default is to use an iommu) 'string' is used in log output.
|
Nach der Installation eines Standardsystems braucht der Gast noch die Pakete »build-essential«, »rpm« und »capiutils« sowie die Header. Eine detaillierte Anleitung zur Installation gibt [5]. Auch die Fritz-Card-Treiber gehören ins Gast-System. Weil in der Regel der Host diese noch exklusiv nutzt, zu allem Übel mit dem Steinzeit-Modul Hisax, ist die eingangs erwähnte Blacklist erforderlich. Die folgenden beiden Zeilen reichen in »/etc/modprobe.d/blacklist.conf«:
blacklist hisax_fcpcipnp blacklist hisax
Jetzt ignoriert der Host diese Treiber, der Gast erkennt die neue Hardware erst, wenn KVM ihn informiert. Dabei ist auch der Gast zuerst der Meinung, Hisax wäre das geeignete Modul. Damit das nicht passiert, legt der Admin unter Etch das File »/etc/modprobe.d/blacklist-capisuite« an, dessen Inhalt ist identisch mit dem erwähnten Eintrag in der »blacklist.conf«. Beim Start von »kvm« übergibt der Admin noch die Device-ID auf der Kommandozeile. Das Gastsystem sollte jetzt das geladene Modul laden:
gast # lsmod | grep fcpci fcpci 592768 1 kernelcapi 43680 2 capi,fcpci
Auch zeigt Capiinfo jetzt eine einsatzbereite PCI Karte im Gast (Listing 5). Der Konfiguration von Capisuite als Faxserver und Anrufbeantworter steht nun nichts mehr im Weg.
|
Listing 5: |
|---|
Number of Controllers : 1 Controller 1: Manufacturer: AVM GmbH CAPI Version: 2.0 Manufacturer Version: 3.11-07 (49.23) Serial Number: 1000001 BChannels: 2 Global Options: 0x00000039 internal controller supported DTMF supported Supplementary Services supported channel allocation supported (leased lines) |
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 4 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





