qemu, kvm, xen & libvirtHauptseite | Über | Hilfe | FAQ | Spezialseiten | Anmelden

Druckversion | Impressum | Datenschutz | Aktuelle Version

QEMU-KVM-Buch/ Managementtools/ libvirt-Tools/ Virtio-Module

Version vom 17:05, 3. Feb. 2010 von Rowa (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)


Virtio-Module

Virtio ist ein Paravirtualisierungs-Interface, mit dem nur ein Satz von Gast-Treiber entwickelt werden muss. Diese Treiber können von mehreren Virtualisierungslösungen verwendet werden. Diese paravirtualsierten Gerätetreiber sind für Linux-Gast-Systeme mit einer Kernel-Version ab 2.6.25 verfügbar. Für die folgenden Beispiele wird mit ubuntu-vm-builder eine virtuelle Maschine angelegt.

Host ~$ sudo ubuntu-vm-builder kvm intrepid --hostname 'urlaub' \
       --mirror 'http://archive.ubuntu.com/ubuntu'              \
       --components 'main,universe' --addpkg 'openssh-server'   \
       --name 'ich' --user 'ich'  --pass 'geheim'               \
       --libvirt qemu:///system

Paravirtualisierte Netzwerkkarten

Im Gast-System müssen dazu folgende Module geladen werden: virtio, virtio_pci, virtio_ring, virtio_net und virtio_blk. Dazu muss QEMU oder KVM mit der Option -net nic und dem Parameter model=virtio gestartet werden. Die entsprechende Konfigurationsdatei ist anzupassen. In diesem Beispiel ist für die virtuelle Maschine urlaub die Datei /etc/libvirt/qemu/urlaub.xml mit der Zeile <model type='virtio'/> zu ergänzen.

Host ~$ sudo vi /etc/libvirt/qemu/urlaub.xml
   <interface type='network'>
     <mac address='52:54:00:1d:2c:86'/>
     <source network='default'/>
     <model type='virtio'/>
   </interface>

Diese Konfiguration muss der Bibliothek libvirt bekannt gemacht werden.

Host ~$ sudo virsh -c qemu:///system define \ 
        /etc/libvirt/qemu/urlaub.xml
Connecting to uri: qemu:///system
Domain urlaub von /etc/libvirt/qemu/urlaub.xml definiert

Man bootet das Gast-System, zum Beispiel mit dem virt-manager, und loggt sich ein. Im Gast-Systems überprüft man, ob die Module geladen wurden.

Host ~$ ssh ich@urlaub.
ich@urlaub.'s password: geheim
Gast ~$ lsmod | grep virtio
virtio_blk             16392  0 
virtio_net             18432  0 
virtio_pci             17668  0 
virtio_ring            12928  1 virtio_pci
virtio                 14336  3 virtio_blk,virtio_net,virtio_pci

Paravirtualisierte Block-Devices

Um ein paravirtualisiertes Block-Devices zu nutzen, ist die Konfigurationsdatei /etc/libvirt/qemu/urlaub.xml wie folgt anzupassen. Die Zeile <target dev='hda' bus='ide'/> ist durch die Zeile <target dev='vda' bus='virtio'/> zu ersetzen.

   <disk type='file' device='disk'>
     <source file='/VMs/test/ubuntu-kvm/disk0.qcow2'/>
     <target dev='vda' bus='virtio'/>
   </disk>

Diese Konfigurationsänderung muss der Bibliothek libvirt bekannt gemacht werden.

Host ~$ sudo virsh -c qemu:///system define   \
        /etc/libvirt/qemu/urlaub.xml
Connecting to uri: qemu:///system
Domain urlaub von /etc/libvirt/qemu/urlaub.xml definiert

Die virtuelle Maschine wird gestartet. Im Gast-Systems überprüft man, ob die entsprechenden Module geladen wurden.

Host ~$ ssh ich@urlaub.
ich@urlaub.'s password: geheim
Gast ~$ lsmod | grep virtio
virtio_blk             16392  0 
virtio_pci             17668  0 
virtio_ring            12928  1 virtio_pci
virtio                 14336  3 virtio_blk,virtio_net,virtio_pci

Finden

Blättern

News

Deutsch
Weitersagen
Tipps für Autoren
Autoren
Impressum


English
Recommendation
The Authors
Contact



Letzte Änderungen


Ändern
Seite bearbeiten
Bearbeitungshilfe
Seitenoptionen
Diskussion
Kommentar hinzufügen
Druckversion
Seitendaten
Versionen
Links auf diese Seite
Änderungen an verlinkten Seiten
Meine Seiten
Anmelden
Spezialseiten
Neue Seiten
Dateiliste
Statistik
Kontakt
Mehr …