Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Einleitung
1 Was ist Ubuntu?
2 Die Versionen im Detail
3 Die Shell
4 Migration und Synchronisation
5 Die Installation
6 Erste Schritte
7 Ubuntu mobil
8 Derivate
9 Internet und E-Mail
10 Office
11 Grafik und Bildbearbeitung
12 Multimedia und Spiele
13 Programmierung und Design
14 Hardware-Konfiguration
15 Software- und Paketverwaltung
16 Architektur
17 Backup und Sicherheit
18 Server-Installation
19 Datei- und FTP-Server
20 Weitere Server-Dienste
21 Kontrolle und Monitoring
22 Desktop-Virtualisierung
23 Server-Virtualisierung mit KVM
24 Server-Virtualisierung mit Xen
25 Hilfe
26 Befehlsreferenz Ubuntu Linux
A Übersicht: Software für (K)Ubuntu
B Mark Shuttleworth
C Glossar
D Häufig gestellte Fragen
Stichwort
Download: - ZIP, ca. 36,6 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / Ubuntu | vor >>
Ubuntu GNU/Linux von Marcus Fischer Das umfassende Handbuch, aktuell zu Ubuntu 9.04 - Jaunty Jackalope
Ubuntu GNU/Linux 4., aktualisierte und erweiterte Auflage, geb. 1.120 S., 39,90 Euro Galileo Computing ISBN 978-3-8362-1439-1 |
| 23 Server-Virtualisierung mit KVM
|  | 23.1 Funktionsweise
|  | 23.2 Ubuntu und KVM
|  |  | 23.2.1 Voraussetzungen
|  |  | 23.2.2 Installation
|  |  | 23.2.3 Mögliche Probleme
|  |  | 23.2.4 Installation von Gästen auf der Kommandozeile
|  | 23.3 Fortgeschrittene Netzwerkeinrichtung
|  |  | 23.3.1 Bridging
|  |  | 23.3.2 Mehrere virtuelle Netzwerke
|  | 23.4 Quellen kompilieren
»Nur wer seinen eigenen Weg geht, kann von niemandem überholt werden.« Marlon Brando (03.04.1924–01.07.2004), amerikanischer Schauspieler # 23 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 das nächste Long-Term-Release »Hardy Heron« darstellt. 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.
Benötigtes Vorwissen
Sie sollten sich ein wenig mit der Shell auskennen.
#### 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. (...)
## 23.1 Funktionsweise KVM steht für Kernel based Virtual Machine. Es besteht aus zwei Komponenten:
1. | einem Gerätetreiber mit der Schnittstelle /dev/kvm zur Verwaltung der virtualisierten Hardware
2. | 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:
1. | den Kernel- und
2. | den User-Modus.
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. Aufgrund der QEMU-Basis können mit QEMU angelegte Images unter KVM unverändert weiterverwendet werden. Alles in den bereits zu QEMU Gesagte gilt dementsprechend auch für KVM. Einzige Ausnahme: KQEMU (also die Parameter -no-kqemu und -kernel-kqemu) wird nicht unterstützt. 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 auf Seite näher auf QEMU eingegangen. Bestandteile der 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.
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 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: 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 Hier klicken, um das Bild zu vergrößern 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. >> Zum Feedback-Formular
<< zurück | <top> | vor >>
Zum Katalog
Ubuntu GNU/Linux Jetzt bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| Linux
| IT-Handbuch für Fachinformatiker
| Webserver einrichten und administrieren
| Xen
| VirtualBox
| LPIC-1
| Einstieg in Ubuntu 8.10 »Intrepid Ibex«
| Einstieg in Ubuntu Linux - Videotraining
| Debian GNU/Linux
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

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