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

Druckversion | Impressum | Datenschutz | Aktuelle Version

libvirt Virtio-Module virtio virtio_pci virtio_ring virtio_net virtio_blk

(Unterschied zwischen Versionen)(Link zu dieser Seite als [[QEMU-KVM-Buch/ Managementtools/ libvirt-Tools/ Virtio-Module]])

Version vom 15:43, 11. Feb. 2010 (bearbeiten)
Rowa (Diskussion | Beiträge)
K
← Zum vorherigen Versionsunterschied
Aktuelle Version (07:23, 18. Aug. 2011) (bearbeiten) (rückgängig)
Rowa (Diskussion | Beiträge)
K
 
(Der Versionsvergleich bezieht 3 dazwischen liegende Versionen mit ein.)
Zeile 3: Zeile 3:
-=== Virtio-Module ===+=== Virtio-Module für die Gast-Systeme ===
-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 ''vmbuilder'' eine virtuelle Maschine angelegt. +Virtio ist ein Paravirtualisierungs-Interface, mit dem nur ein Satz von Treibern für die Gast-Systeme entwickelt werden muss (siehe Abschnitt ''Paravirtualisierte Gerätetreiber''). 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 ''vmbuilder'' eine virtuelle Maschine angelegt.
- Host ~$ '''sudo vmbuilder kvm ubuntu --suite jaunty --flavour virtual \'''+ Host ~$ '''sudo vmbuilder kvm ubuntu \ '''
- '''--arch i386 -o --hostname 'urlaub' -o \'''+ '''--suite jaunty --flavour virtual \ '''
- '''--mirror 'http://archive.ubuntu.com/ubuntu' \'''+ '''--arch i386 -o --hostname 'urlaub' -o \ '''
- '''--components 'main,universe' --addpkg 'openssh-server' \'''+ '''--mirror 'http://archive.ubuntu.com/ubuntu' \ '''
- '''--name 'ich' --user 'ich' --pass 'geheim' \'''+ '''--components 'main,universe' --addpkg 'openssh-server' \ '''
- '''--libvirt qemu:///system'''+ '''--name 'ich' --user 'ich' --pass 'geheim' \ '''
 + --libvirt qemu:///system
==== Paravirtualisierte Netzwerkkarten ==== ==== 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 ''<nowiki><model type='virtio'/></nowiki>'' zu ergänzen, falls diese nicht existiert. +Im Gast-System müssen dazu folgende Module geladen werden: ''virtio'', ''virtio_pci'', ''virtio_ring'', ''virtio_net'' und ''virtio_blk''. Dazu muss QEMU 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 ''<nowiki><model type='virtio'/></nowiki>'' zu ergänzen, falls diese nicht existiert.
Host ~$ '''sudo vi /etc/libvirt/qemu/urlaub.xml''' Host ~$ '''sudo vi /etc/libvirt/qemu/urlaub.xml'''
Zeile 30: Zeile 31:
Domain urlaub von /etc/libvirt/qemu/urlaub.xml definiert 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. +Man bootet das Gast-System, zum Beispiel mit dem ''virt-manager'', und loggt sich ein. Im Gast-System überprüft man, ob die Module geladen wurden.
Host ~$ '''ssh ich@urlaub.''' Host ~$ '''ssh ich@urlaub.'''
Zeile 42: Zeile 43:
==== Paravirtualisierte Block-Devices ==== ==== Paravirtualisierte Block-Devices ====
-Um ein paravirtualisiertes Block-Devices zu nutzen ist die Konfigurationsdatei ''/etc/libvirt/qemu/urlaub.xml'' wie folgt anzupassen. Die Zeile ''<nowiki><target dev='hda' bus='ide'/></nowiki>'' ist durch die Zeile ''<nowiki><target dev='vda' bus='virtio'/></nowiki>'' zu ersetzen. +Um ein paravirtualisiertes Block-Devices zu nutzen, ist die Konfigurationsdatei ''/etc/libvirt/qemu/urlaub.xml'' wie folgt anzupassen. Die Zeile ''<nowiki><target dev='hda' bus='ide'/></nowiki>'' ist durch die Zeile ''<nowiki><target dev='vda' bus='virtio'/></nowiki>'' zu ersetzen.
<nowiki><disk type='file' device='disk'></nowiki> <nowiki><disk type='file' device='disk'></nowiki>
Zeile 56: Zeile 57:
Domain urlaub von /etc/libvirt/qemu/urlaub.xml definiert 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. +Die virtuelle Maschine wird gestartet. Im Gast-System überprüft man, ob die entsprechenden Module geladen wurden.
Host ~$ '''ssh ich@urlaub.''' Host ~$ '''ssh ich@urlaub.'''

Aktuelle Version

<<<|###|>>> | English


[bearbeiten] Virtio-Module für die Gast-Systeme

Virtio ist ein Paravirtualisierungs-Interface, mit dem nur ein Satz von Treibern für die Gast-Systeme entwickelt werden muss (siehe Abschnitt Paravirtualisierte Gerätetreiber). 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 vmbuilder eine virtuelle Maschine angelegt.

Host ~$ sudo vmbuilder kvm ubuntu                      \ 
--suite jaunty --flavour virtual                       \ 
--arch i386  -o --hostname 'urlaub' -o                 \ 
--mirror 'http://archive.ubuntu.com/ubuntu'            \ 
--components 'main,universe' --addpkg 'openssh-server' \ 
--name 'ich' --user 'ich'  --pass 'geheim'             \ 
       --libvirt qemu:///system

[bearbeiten] 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 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, falls diese nicht existiert.

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-System ü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

[bearbeiten] 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-System ü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


<<<|###|>>>