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 |
| 22 Desktop-Virtualisierung
|  | 22.1 Überblick
|  | 22.2 Konzepte
|  |  | 22.2.1 Paravirtualisierung
|  |  | 22.2.2 Hardware-unterstützte Virtualisierung
|  | 22.3 Die Ringe
|  |  | 22.3.1 Grundsätzlicher Aufbau
|  |  | 22.3.2 Generelles Problem bei der x86-Virtualisierung
|  |  | 22.3.3 Möglichkeiten der x86-Virtualisierung
|  |  | 22.3.4 Machtmissbrauch
|  |  | 22.3.5 Ungenutzte Ringe
|  | 22.4 Intel VT-x und AMD-V
|  |  | 22.4.1 Welche Prozessoren bieten diese Technik?
|  |  | 22.4.2 Gründe für Performance-Probleme
|  |  | 22.4.3 Pacifica und Vanderpool sind inkompatibel
|  | 22.5 Allgemeines
|  | 22.6 VirtualBox
|  |  | 22.6.1 Installation
|  |  | 22.6.2 USB-Einrichtung
|  | 22.7 VMware Player
|  |  | 22.7.1 Installation unter Windows
|  |  | 22.7.2 Installation unter Linux
|  |  | 22.7.3 Nutzung der virtuellen Maschine
|  |  | 22.7.4 Tipps für Windows-Anwender
|  | 22.8 VMware Workstation
|  |  | 22.8.1 Voraussetzungen
|  |  | 22.8.2 Installation
|  | 22.9 VMware Server
|  |  | 22.9.1 VMware Server 1.x
|  |  | 22.9.2 VMware Server 2.x
|  | 22.10 VMware Tools
|  |  | 22.10.1 Installation der VMware Tools
|  |  | 22.10.2 Konfiguration
|  | 22.11 QEMU
|  |  | 22.11.1 Installation
|  |  | 22.11.2 Start des Gastsystems
|  |  | 22.11.3 Tastenkombinationen
## 22.4 Intel VT-x und AMD-V AMD und Intel versprechen umfangreiche Virtualisierungsunterstützung durch ihre Prozessoren. In Wirklichkeit steht die Technik erst am Anfang. Ich möchte Ihnen an dieser Stelle einen Überblick über die verschiedenen Techniken geben und deren Grenzen aufzeigen. #### Kompromisse Virtualisierung bedeutet immer auch Kompromisse. Bei einer Vollvirtualisierung muss man erhebliche Performance-Nachteile in Kauf nehmen. Für eine Paravirtualisierung, die diese Nachteile an vielen Stellen ausgleicht, ist es erforderlich, dass das Gast-Betriebssystem zu erheblichen Teilen abgeändert wird, und die ressourcensparende Containervirtualisierung kann überhaupt nur identische Betriebssysteme in mehreren virtuellen Instanzen ausführen. Das Ziel einer Prozessorunterstützung für Virtualisierung muss es sein, den Komfort einer Vollvirtualisierung für den Anwender zu erreichen und gleichzeitig deren Performance-Nachteile zu eliminieren. Bei Vollvirtualisierung laufen auch die Kernel-Mode-Teile der Gast-Betriebssysteme nicht im Ring 0 des Prozessors, sondern je nach Virtualisierungslösung in Ring 1 oder 3. In diesen Ringen sind nicht alle Befehle möglich. Hier klicken, um das Bild zu vergrößern Abbildung 22.5 Nutzung der Ringe durch modifizierte und unmodifizierte Gastsysteme ### 22.4.1 Welche Prozessoren bieten diese Technik? Bei AMD sind prinzipiell Sempron-Prozessoren nicht hardware-virtualisierungsfähig. Alle Opteron- und Athlon-Prozessoren, die am AM2-Socket Platz finden, unterstützen heute AMD-V. Bei Intel ist die Erkennung, ob die Prozessoren Hardware-Virtualisierung unterstützen, viel einfacher. Es gibt eine Liste, die alle VT-Prozessoren beinhaltet. Die Virtualisierung bei Intel-Pentium-Prozessoren nennt sich VT-x.
Athlon 64 | Athlon 64 X2 | Turion 64 X2 | Opteron
3800+ | 5000+ | TL-60 | 1000 Series
3500+ | 4800+ | TL-56 | 2000 Series
3200+ | 4600+ | TL-52 | 8000 Series
3000+ | 4400+ | TL-50 |
FX-62 | 4200+ |  |
| 4000+ |  |
| 3800+ |  |

Tabelle 22.1 Virtualisierungsfähige Prozessoren von AMD

Core Duo | Pentium | Xeon
X6800 | 965 | 7041
E6700 | 955 | 7040
E6600 | 960 | 7030
E6400 | 950 | 7020
E6300 | 940 | 5080
T2600 | 930 | 5063
T2500 | 920 | 5060
T2400 | 672 | 5050
T2300 | 662 | 5030

Tabelle 22.2 Virtualisierungsfähige Prozessoren von Intel

### 22.4.2 Gründe für Performance-Probleme Die Virtualisierungs-Software fängt nun Befehle, die in Ring 0 nicht möglich sind, in Form einer Exception ab, sodass sie für das Gast-Betriebssystem als privilegierte Befehle erscheinen. Im Falle der Speicherverwaltung bedeutet dies, dass die Virtualisierungs-Software aus der physikalischen Speichertabelle Speicher allokiert und in den Adressraum der Gastumgebung legt. Bei der Intel-Architektur wird Speicher in einer Tabelle in Blöcken zu 4 KB verwaltet. Die Gastumgebung hat eine gleich strukturierte Tabelle, jedoch wird der Zugriff darauf abgefangen und die Tabelle in Wahrheit von der Virtualisierungs-Software mitverwaltet. Hier liegt ein großes Performance-Hindernis für vollvirtualisierte Umgebungen. Der eigentliche Hauptspeicher eines Computers ist relativ langsam. Eine Beschleunigung ergibt sich durch den Cache. Der Cache-Speicher hängt jedoch immer komplett zusammen und wird aus Performance-Gründen nicht in Blöcken verwaltet. Bei jedem Abfangen der Speicherverwaltung muss daher der Cache komplett in den Hauptspeicher geschrieben werden, was zusätzlich zu der emulierten Speicherverwaltung viel Zeit kostet. #### Nachteile beim I/O-Zugriff Ähnlich sieht es beim I/O-Zugriff aus. Hier liest und schreibt das Gast-Betriebssystem in die I/O-Ports, was allerdings von der Virtualisierungs-Software abgefangen und in entsprechende Aktionen transformiert wird. Während einfache Bausteine, etwa ein serielles oder ein paralleles Interface, mit wenigen I/O-Ports auskommen, müssen Devices, bei denen es auf Geschwindigkeit ankommt, in den Speicheradressraum des Prozessors gelegt werden. Ein Standard-Ethernet-Paket beispielsweise kann bis zu 1500 Bytes groß sein. Neuere Ethernet-Karten unterstützen auch Jumbo-Pakete mit bis zu 9000 Bytes. Da immer ein ganzes Paket übertragen werden muss, benötigt eine Ethernet-Karte immer mindestens den Speicheradressraum für ein Paket. Moderne Ethernet-Karten bieten jedoch Speicheradressraum für mehrere Pakete. Der Prozessor legt dabei mindestens ein Paket in den gemeinsamen Adressraum. Danach geschieht die Übertragung über den DMA-Baustein des Motherboards, damit der Prozessor weiterarbeiten kann und die Übertragung über I/O-Ports nicht selbst übernehmen muss. Hier liegt das größte Performance-Problem der Vollvirtualisierung. Die echten DMA-Bausteine können nur im Kernel-Mode verwaltet werden. Daher muss bei jeder Verwendung eines Peripheriegeräts – etwa Netzwerk, Festplatte oder Bildschirm – ein Taskswitch in die Virtualisierungs-Software durchgeführt werden, der dazu führt, dass der Cache invalidiert wird und der langsame Hauptspeicher bemüht werden muss. Um diese Performance-Nachteile einer virtualisierten Umgebung auszugleichen, gibt es verschiedene Ansätze. Ein software-seitiger Ansatz ist der Austausch von Treibern nach der Installation des Gast-Betriebssystems. Diese neuen Treiber versuchen nicht mehr, die Hardware zu programmieren, sondern übergeben solche Pakete, die an Netzwerkkarte, Festplattencontroller oder Videokarte gesendet werden sollen, an die Virtualisierungs-Software. Allerdings verläuft auch diese Übergabe nicht ohne Performance-Verlust. Da das Gast-Betriebssystem grundsätzlich davon ausgeht, den gesamten Adressraums eines Computers allein nutzen zu können, müssen die Treiber absichtlich einen privilegierten Befehl ausführen, um eine Exception zu provozieren. Dies hat natürlich wieder eine Invalidierung des Caches zur Folge. Erst dann kann die Virtualisierungs-Software die Pakete abholen. Lediglich die Emulation der Devices und der DMA-Bausteine fällt in diesem Fall weg. ### 22.4.3 Pacifica und Vanderpool sind inkompatibel Um Abhilfe zu schaffen, bieten die Prozessorhersteller mittlerweile hardware-seitig Unterstützung an. AMD und Intel gehen hier unterschiedliche Wege – damit sind ihre Lösungen inkompatibel. Virtualisierungs-Software muss sowohl für AMD-V (Codename: Pacifica) und Intels VT-x (Codename: Vanderpool) Unterstützung bieten. Dabei kann man die hardware-seitige Unterstützung in drei Bereiche unterteilen: Als Erstes sind neue privilegierte Prozessorbefehle zu nennen. Grundsätzlich wird dabei eine neue, super-privilegierte Umgebung implementiert, die Intel »Ring minus eins« nennt. So können mehrere Gast-Betriebssysteme jeweils einen eigenen Ring 0, mit den dazugehörigen privilegierten Befehlen nutzen, ohne dass eine gegenseitige Beeinflussung möglich ist. Damit laufen die Kernel-Mode-Teile eines Betriebssystems nicht mehr im Ring 1 oder 3, wo jeder privilegierte Befehl per Exception abgefangen werden muss. Die Anzahl der Taskswitches wird dadurch deutlich reduziert, was generell eine höhere Performance bedeutet. Hier klicken, um das Bild zu vergrößern Abbildung 22.6 Unterschiedliche Implementierung bei den CPUs Diese Technologie steht heute bei den modernen Prozessoren von AMD und Intel zur Verfügung. Alle namhaften Anbieter von Virtualisierungslösungen unterstützen heute beide Architekturen. Neben vollvirtualisierten Systemen können auch paravirtualisierte Systeme von der Prozessorunterstützung, insbesondere der Speicherverwaltungsunterstützung, Gebrauch machen. Durch die Einblendung von Schnittstellen der Virtualisierungslösung in den Adressraum der Gast-Betriebssysteme können APIs realisiert werden, die zum Beispiel Ressourcen wie Hauptspeicher und Plattenplatz dynamisch zwischen den einzelnen Gastmaschinen verteilen. Dies würde eine Containervirtualisierung, die pro Computer nur ein Betriebssystem unterstützt, weitgehend überflüssig machen. Nötig dafür sind allerdings Schnittstellenabsprachen zwischen den Herstellern von Betriebssystemen und Virtualisierungslösungen. ### 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