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

Inhaltsverzeichnis
Vorwort
Leitfaden
1 Die Wurzeln von Ubuntu
2 Was ist Ubuntu?
3 Die Versionen im Detail
4 Die Möglichkeiten der beiliegenden DVDs
5 Daten aus Windows sichern
6 Die Installation
7 Erste Schritte
8 Kubuntu und Xubuntu
9 Ubuntu mobil
10 Programme und Pakete installieren
11 Internet und E-Mail
12 Office
13 Grafik und Bildbearbeitung
14 Multimedia
15 Das Terminal
16 Programmierung und Design
17 Einrichtung der grundlegenden Hardware
18 Software- und Paketverwaltung
19 Architektur
20 Backup und Sicherheit
21 Desktop-Virtualisierung
22 Server-Installation
23 Sicherheit und Monitoring
24 Netzwerke
25 Server im Heim- und Firmennetzwerk
26 Der Server im Internet
27 Server-Virtualisierung mit KVM
28 Server-Virtualisierung mit Xen
29 Hilfe
30 Befehlsreferenz
Mark Shuttleworth
Glossar
Stichwort

Download:
- ZIP, ca. 34,8 MB
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Ubuntu GNU/Linux von Marcus Fischer
Das umfassende Handbuch, aktuell zu Ubuntu 10.04 LTS "Lucid Lynx"
Buch: Ubuntu GNU/Linux

Ubuntu GNU/Linux
5., aktualisierte und erweiterte Auflage, gebunden, mit 2 DVDs
1.104 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1654-8
Pfeil 27 Server-Virtualisierung mit KVM
Pfeil 27.1 Allgemeines und Funktionsweise
Pfeil 27.2 Ubuntu und KVM
Pfeil 27.2.1 Voraussetzungen
Pfeil 27.2.2 Installation
Pfeil 27.2.3 Mögliche Probleme
Pfeil 27.2.4 Installation von Gästen auf der Kommandozeile
Pfeil 27.3 Fortgeschrittene Netzwerkeinrichtung
Pfeil 27.3.1 Bridging
Pfeil 27.3.2 Mehrere virtuelle Netzwerke
Pfeil 27.4 Quellen kompilieren

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

27 Server-Virtualisierung mit KVM

Was Sie in diesem Kapitel erwartet

In diesem Kapitel möchte ich Ihnen KVM, die Kernel-basierte virtuelle Maschine, vorstellen. KVM hat es verdient, etwas ausführlicher behandelt zu werden. Dies liegt nicht nur daran, dass Canonical, die Firma hinter Ubuntu, Anfang 2008 verkündet hat, dass KVM die Standard-Virtualisierungslösung für Ubuntu sein soll. 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 Kapitel 15, »Das Terminal«).


Galileo Computing - Zum Seitenanfang

27.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 originale 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 steht für Kernel based Virtual Machine. Es 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 originalen Linux-Scheduler verwaltet wird. Wie jeder normale Linux-Prozess hat auch dieser 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 21.9, »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. Auf der anderen Seite kann das Standard-QEMU natürlich auch nicht KVM nutzen. QEMU ist ein Prozess-Emulator, der von Fabrice Bellard entwickelt wird. Ich bin bereits in Abschnitt 21.9 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 älterne Kernel-Versionen integrieren. Aus eigenen Erfahrungen würde ich aber nicht weiter zurückgehen als bis zum Kernel 2.6.16. Seit 2.6.20 ist KVM offizieller Bestandteil des Kernels.
2. kvm-intel.ko/kvm-amd.ko
Dies sind die hardware-spezifischen 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:

  • Linux (32 und 64 Bit)
  • Windows (32 Bit)
  • Haiku OS
  • AROS
  • ReactOS
  • FreeDOS
  • Solaris
  • 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:

  • KVM-Kernel-Modul: GPL v2
  • KVM-Benutzer-Modul: LGPL v2
  • QEMU-CPU-Bibliothek (libqemu.a) und QEMU-PC-Emulator: LGPL
  • Linux-User-Modus von QEMU: GPL
  • BIOS-Dateien (bios.bin, vgabios.bin und vgabios-cirrus.bin): LGPL v2 oder neuer

Abbildung 27.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






 Linux


Zum Katalog: OpenVPN






 OpenVPN


Zum Katalog: LPIC-1






 LPIC-1


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Webserver einrichten und administrieren






 Webserver einrichten
 und administrieren


Zum Katalog: VirtualBox






 VirtualBox


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2010
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