Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Leitfaden für die Nutzung des Buchs und der beiliegenden DVDs
Das Terminal – sinnvoll oder überflüssig?
1 Die Wurzeln von Ubuntu
2 Was ist Ubuntu?
3 Die Versionen im Detail
4 Daten sichern, migrieren und synchronisieren
5 Die Installation
6 Erste Schritte
7 Kubuntu
8 Programme und Pakete installieren
9 Internet und E-Mail
10 Office
11 Grafik und Bildbearbeitung
12 Multimedia
13 Programmierung und Design
14 Software- und Paketverwaltung
15 Architektur
16 Backup und Sicherheit
17 Desktop-Virtualisierung
18 Serverinstallation
19 Administration und Monitoring
20 Netzwerke
21 LAN-Server – im Firmennetzwerk oder als Multimediazentrale
22 Der Server im Internet
23 Servervirtualisierung mit KVM
24 Servervirtualisierung mit Xen
25 Hilfe
26 Befehlsreferenz
A Mark Shuttleworth
Stichwort

Download:
- ZIP, ca. 50,6 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Ubuntu GNU/Linux von Marcus Fischer
Das umfassende Handbuch, aktuell zu Ubuntu 11.04 »Natty Narwhal«
Buch: Ubuntu GNU/Linux

Ubuntu GNU/Linux
geb., mit 2 DVDs
1118 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1765-1
Pfeil 23 Servervirtualisierung mit KVM
  Pfeil 23.1 Allgemeines und Funktionsweise
  Pfeil 23.2 Ubuntu und KVM
    Pfeil 23.2.1 Voraussetzungen
    Pfeil 23.2.2 Installation
    Pfeil 23.2.3 Mögliche Probleme
    Pfeil 23.2.4 Installation von Gästen auf der Kommandozeile
  Pfeil 23.3 Fortgeschrittene Netzwerkeinrichtung
    Pfeil 23.3.1 Terminologie
    Pfeil 23.3.2 Bridging
    Pfeil 23.3.3 Mehrere virtuelle Netzwerke
  Pfeil 23.4 Quellen kompilieren

»Nur wer seinen eigenen Weg geht, kann von niemandem überholt werden.« Marlon Brando (1924–2004), amerikanischer Schauspieler

23 Servervirtualisierung mit KVM

Was Sie in diesem Kapitel erwartet

In diesem Kapitel möchte ich Ihnen KVM, die Kernel-based Virtual Machine (kernel-basierte virtuelle Maschine), vorstellen. KVM hat es verdient, etwas ausführlicher behandelt zu werden. Dies liegt nicht nur daran, dass KVM die Standard-Virtualisierungslösung für Ubuntu ist. Ein anderer Grund für die nähere Betrachtung ist, dass KVM schnell Einzug in den offiziellen Linux-Kernel gehalten hat. Außerdem profitiert KVM enorm von der fortgeschrittenen Entwicklung des QEMU-Projekts. Seit Juni 2008 beherrscht KVM sogar die Technik der Paravirtualisierung. Wir werden uns in diesem Kapitel mit allen Besonderheiten dieser Technik beschäftigen.

Benötigtes Vorwissen

Sie sollten den grundlegenden Umgang mit der Shell beherrschen (siehe Abschnitt »Das Terminal«).


Galileo Computing - Zum Seitenanfang

23.1 Allgemeines und Funktionsweise  topZur vorigen Überschrift

Die Ankündigung

Am 19. Oktober 2006 wurde ein Patch auf der Mailingliste der Kernel-Entwickler angekündigt. Dieser Patch implementierte die Schnittstelle /dev/kvm in den Kernel und ermöglichte die direkte Nutzung der Intel-Virtualisierungserweiterungen für die x86-Architektur.

Der Original-Wortlaut war folgender:

From: Avi Kivity <avi <at> qumranet.com>
Subject: [PATCH 0/7] KVM: Kernel-based Virtual Machine
Newsgroups: gmane.linux.kernel
Date: 2006-10-19 13:45:49 GMT
The following patchset adds a driver for Intel's hardware
virtualization extensions to the x86 architecture. The
driver adds a character device (/dev/kvm) that exposes the
virtualization capabilities to userspace.  Using this driver,
a process can run a virtual machine (a "guest") in a fully
virtualized PC containing its own virtual hard disks, network
adapters, and display.
Using this driver, one can start multiple virtual machines on
a host.  Each virtual machine is a process on the host; a
virtual cpu is a thread in that process.  kill(1), nice(1),
top(1) work as expected.
In effect, the driver adds a third execution mode to the
existing two: we now have kernel mode, user mode, and guest
mode.  Guest mode has its own address space mapping guest
physical memory (which is accessible to user mode by
mmap()ing /dev/kvm).  Guest mode has no access to any I/O
devices; any such access is intercepted and directed to user
mode for emulation.
The driver supports i386 and x86_64 hosts and guests.  All
combinations are allowed except x86_64 guest on i386 host.
For i386 guests and hosts, both pae and non-pae paging modes
are supported.
SMP hosts and UP guests are supported.  At the moment only
Intel hardware is supported, but AMD virtualization support
is being worked on. (...)

Funktionsweise

KVM besteht aus zwei Komponenten:

  • einem Gerätetreiber mit der Schnittstelle /dev/kvm zur Verwaltung der virtualisierten Hardware
  • einem virtuellen PC auf der Basis von QEMU

Jede virtuelle Maschine ist ein regulärer Prozess, der vom Original-Linux-Scheduler verwaltet wird. Wie jeder normale Linux-Prozess hat auch er zwei Ausführungsmodi:

  • den Kernel- und
  • den User-Modus.

guest-mode

KVM fügt diesen beiden einen dritten Modus hinzu, den guest-mode. Dieser Gast-Modus hat seinen eigenen Kernel- und User-Modus. Ein moderner Prozessor mit Unterstützung von Virtualisierungstechniken ist dabei Grundvoraussetzung. Das Kernel-Modul von KVM ist seit Kernel 2.6.20 fester Bestandteil des Linux-Kernels.

Durch die QEMU-Basis können mit QEMU angelegte Images unter KVM unverändert weiterverwendet werden. Alles bereits zu QEMU Gesagte (siehe Abschnitt »QEMU«) gilt dementsprechend auch für KVM. Einzige Ausnahme: KQEMU (also die Parameter -no-kqemu und -kernel-kqemu) wird nicht unterstützt.

Ersatz für QEMU/KQEMU

KVM ist dabei ein vollständiger Ersatz für das Gespann QEMU/KQEMU. QEMU muss nicht installiert sein, um KVM zu nutzen. QEMU ist ein Prozess-Emulator, der von Fabrice Bellard entwickelt wird. Ich bin bereits in Abschnitt »QEMU« näher auf QEMU eingegangen.

Bestandteile von KVM sind folgende Kernel-Module:

1. kvm.ko Das allgemeine KVM-Kernel-Modul lässt sich auch in ältere Kernel-Versionen integrieren. Aus eigenen Erfahrungen würde ich aber nicht weiter zurückgehen als bis zum Kernel 2.6.16.
       
2. kvm-intel.ko/kvm-amd.ko Dies sind die hardwarespezifischen Module, die abhängig von Ihrem Prozessor eingesetzt werden.
       

Keine Emulation

KVM selbst nimmt keine Emulation vor, sondern stellt nur die Infrastruktur dazu bereit; ein modifiziertes QEMU ist derzeit die einzige Möglichkeit, diese zu nutzen. Nach dem Laden des Moduls arbeitet der Linux-Kernel selbst als Hypervisor für virtuelle Maschinen.

Als Gastsysteme unterstützt KVM diverse Systeme wie beispielsweise Linux (32 und 64 Bit), Windows (32 Bit), ReactOS, FreeDOS, Solaris und diverse BSD-Derivate. KVM läuft auch auf SMP-Hostsystemen – SMP-Gastsysteme sind ebenfalls möglich. Die Bestandteile von KVM sind Open-Source-Software und stehen unter verschiedenen Varianten der GPL.

Abbildung 23.1  Die Architektur von »KVM«



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Ubuntu GNU/Linux

Ubuntu GNU/Linux
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux Server






 Linux Server


Zum Katalog: Linux-Server einrichten und administrieren






 Linux-Server
 einrichten und
 administrieren


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: Linux






 Linux


Zum Katalog: Debian






 Debian


Zum Katalog: Android 3






 Android 3


Zum Katalog: GIMP






 GIMP


Zum Katalog: Webserver einrichten und administrieren






 Webserver einrichten
 und administrieren


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de