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

Inhaltsverzeichnis
Vorwort
Einleitung
1 Linux
2 Ubuntu Linux
3 Von »Warty« bis »Edgy«
4 Optimale Nutzung der beiliegenden DVDs
5 Ubuntu erleben – Die Installation
6 Erste Schritte
7 Ubuntu
8 Kubuntu
9 Xubuntu
10 Edubuntu
11 Hardwarekonfiguration
12 Ubuntu und aktuelle Hardware
13 Software
14 Programme installieren
15 Programmierung und Design
16 Migration von Windows zu Ubuntu
17 Netzwerktechnik
18 Kompilieren und Optimieren
19 Das System im Detail
20 Sicherheit
21 Virtualisierung
22 Übersicht: Software für (K)Ubuntu
23 Wo bekomme ich weitere Hilfe?
24 Befehlsreferenz Ubuntu Linux
A Häufig gestellte Fragen
B Glossar
C Mark Shuttleworth
D Deutsche Übersetzung der GPL
Stichwort

Download:
- ZIP, ca. 29,4 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Ubuntu GNU/Linux von Marcus Fischer
Grundlagen, Anwendung, Administration
Buch: Ubuntu GNU/Linux

Ubuntu GNU/Linux
2., akt. und erw. Aufl., mit 2 DVDs
913 S., 39,90 Euro
Galileo Computing
ISBN 978-3-89842-848-4
gp 21 Virtualisierung
  gp 21.1 Überblick
    gp 21.1.1 Was ist Virtualisierung?
    gp 21.1.2 Konzepte
    gp 21.1.3 Hardwareunterstützte Virtualisierung
  gp 21.2 VMware
  gp 21.3 Ubuntu im VMware Player
    gp 21.3.1 Installation des VMware Players
    gp 21.3.2 Nutzung der virtuellen Maschine
    gp 21.3.3 Aufrüstung der virtuellen Maschine
    gp 21.3.4 Tipps für Windowsanwender
  gp 21.4 VMware-Server
    gp 21.4.1 VMware-Server installieren
    gp 21.4.2 Virtuelle Maschinen anlegen
    gp 21.4.3 Installation des Gastsystems
  gp 21.5 VMware Tools
    gp 21.5.1 Installation der VMware Tools
    gp 21.5.2 Konfiguration
  gp 21.6 QEMU
    gp 21.6.1 Installation
    gp 21.6.2 Gastsysteme installieren
    gp 21.6.3 Start des Gastsystems
    gp 21.6.4 Tastenkombinationen
    gp 21.6.5 Tipps und Tricks
  gp 21.7 XEN
    gp 21.7.1 Was ist XEN?
    gp 21.7.2 Systemanforderungen
    gp 21.7.3 XEN installieren
    gp 21.7.4 Anpassung der Bootkonfiguration zum Start von XEN
    gp 21.7.5 XEN-Dämonen automatisch starten
    gp 21.7.6 Installation von Gastsystemen
    gp 21.7.7 Gast-Linux installieren auf einer virtuellen Maschine
    gp 21.7.8 VM starten
    gp 21.7.9 Administration der virtuellen Maschinen

»Aus kleinem Anfang entspringen alle Dinge.« (Marcus Tullius Cicero)

21 Virtualisierung

Das Thema »Virtualisierung« ist derzeit in aller Munde, aber was bedeutet dies eigentlich? Wo liegen die Wurzeln und wo der Nutzen dieser Technik? Ist dies nur ein Thema für Administratoren eines großen Serverparks oder profitiere auch ich als Privatanwender davon? Und wenn ja, welche Lösung sollte ich bevorzugen: QEMU, VMware oder XEN?

All dies und noch vieles mehr sind Fragen, auf die ich in diesem Kapitel Antworten geben möchte.


Galileo Computing

21.1 Überblick  downtop

Für den normalen Benutzer weitgehend verborgen hat die Virtualisierung seit einigen Jahren immer mehr an Bedeutung gewonnen. Die Techniken wurden hierbei stetig verbessert, so dass Sie heutzutage kaum einen Unterschied bemerken, wenn Sie sich auf einem virtuellen Server befinden. Egal ob hier nur statische HTML-Seiten lagern oder ein komplettes Forum: Sie werden bei einem gut aufgesetztem Server kaum einen Unterschied in der Performance spüren.

Es vergeht kaum eine Woche, in der keine Nachrichten über die verschiedensten Techniken zur Realisierung der Virtualisierung erscheinen und immer mehr Firmen springen auf diesen Zug auf. Das Vorzeigestück der Open-Source-Welt ist hierbei XEN, welchem ich mich ausführlich in Abschnitt 21.7 widme. Zunächst aber wollen wir einen Überblick über dieses komplexe Thema gewinnen.


Galileo Computing

21.1.1 Was ist Virtualisierung?  downtop

Obwohl Virtualisierung derzeit ein großer Trend ist und die Fortschritte im Soft- und Hardwarebereich uns diese Technik in den letzten Jahren auf den heimischen PC gebracht haben, kann diese Technik auf eine inzwischen 40 Jahre lange Entwicklung zurückblicken. Schon in den 1960er Jahren legte IBM den Grundstein für diese Technik. Die Idee hierzu entstand zunächst aus der Not heraus, denn Computer waren damals noch sehr groß, selten und dementsprechend teuer. Was damals ganze Räume oder kleine Häuser füllte und ein Vermögen kostete, finden Sie heutzutage unter Ihrem Schreibtisch in einem kleinen schicken Gehäuse.

Die Rechenleistung moderner Computer hat sich seitdem vervielfacht und die effiziente Ausnutzung der vorhanden Hardware hat heute bei den stark gesunkenen Preisen an Priorität verloren. Dies sah zur damaligen Zeit ganz anders aus. Man war gezwungen, der vorhandenen Hardware ein Höchstmaß an Leistungsfähigkeit und Effizienz abzugewinnen. Ein probates Mittel zu diesem Zweck war schnell gefunden und Sie werden es ahnen: es hieß Virtualisierung.


Virtualisierung vereinfacht

Virtualisierung beschäftigt sich in erster Linie mit dem Grundgedanken, dass sich verschiedene Betriebssysteme gleichzeitig einen Rechner teilen und zur gleichen Zeit unterschiedliche Aufgaben auf exakt der gleichen Hardware ausführen. Hierbei sind zwei Aspekte wichtig. Virtualisierung ermöglicht einerseits den parallelen Betrieb mehrerer gleicher oder unterschiedlicher Betriebssysteme auf einem Rechner. Andererseits bewirkt sie die Separierung des Betriebssystems (oder der Software) von der verwendeten Hardware.


Jeder von Ihnen hat schon einmal mit Virtualisierung zu tun gehabt und dies oftmals auch bei der täglichen Arbeit. Eine etwas abstrakte Vorstellung von Virtualisierung können Sie mit einfachen Mitteln begreifen und zwar wenn Sie mit mehren Programmen gleichzeitig Ihren Rechner beanspruchen. Dies kommt täglich und andauernd vor. Hierbei greifen Sie über mehrere getrennte Programme gleichzeitig und parallel auf dieselbe Hardware zu. Die verschiedenen Programme teilen sich alle dieselben Ein- und Ausgabegeräte wie z. B. Tastatur und Maus.

Für den effizienten Umgang verschiedener Programme mit dem knappen vorhandenen Arbeitsspeicher und dem Prozessor ist die virtuelle Speicherverwaltung bzw. der Scheduler zuständig. Mehr erfahren Sie dazu in Abschnitt 1.3.2.

Aber auch in anderen Bereichen haben Sie ständig Kontakt mit diesem Thema. So haben Sie eventuell in Ihrem Computer ein RAID-System[Zur Begriffsdefinition siehe Glossar.] verbaut, in welcher mehrere Festplatten mit mehreren Partitionen arbeiten. Diese verschiedenen Platten agieren und präsentieren sich Ihnen wie eine einzige große Platte. Hier haben Sie es mit virtuellen Speichereinheiten zu tun.

Wahrscheinlich nutzen Sie Ihren Computer ebenfalls, um im Internet zu surfen. Dann bewegen Sie sich dort von Adresse zu Adresse, von einer Domain zu einer anderen. Hierbei kann es oftmals sein, dass Sie bei einem Adressenwechsel gar nicht physisch den zuständigen Server wechseln, sondern dass dieser ein »Virtual Host« ist. Hierbei ist der Host gleichzeitig Server für verschiedene Domains und Internetseiten.


Galileo Computing

21.1.2 Konzepte  downtop

Wie Sie wahrscheinlich schon bemerkt haben, gibt es unterschiedliche Kozepte und Möglichkeiten der Virtualisierung. Um den umfassenden und verallgemeinernden Begriff »Virtualisierung« näher definieren zu können, müssen wir uns kurz mit Begriffen wie »Virtuelle Maschine«, »Virtueller Server«, »Virtuelle Laufzeitumgebung« und »Virtualisierungssoftware« beschäftigen.

Virtuelle Maschinen, Server und Laufzeitumgebungen

Um diese Begriffe fassen zu können, müssen wir gar nicht in die Weiten des Internets eintauchen, auch Sie sind garantiert schon einmal einer virtuellen Maschine begegnet, spätestens wenn Sie Java auf Ihrem Computer installiert haben. Bei der Programmiersprache Java haben Sie es mit so genannten »Java Virtual Machines« (JVM) zu tun, die Ihnen eine hypothetische Maschine zur Verfügung stellen. Hierbei haben Sie es mit einer virtuellen Ausführungsumgebung mit einem virtuellen Prozessor und emulierten Schnittstellen zu tun.

Hier liegt auch das Geheimnis begraben, warum Applikationen, die in Java geschrieben sind, auf jedem beliebigen Betriebssystem ausführbar sind, auf dem die virtuelle Java-Laufzeitumgebung installiert ist. Die Applikationen werden in einer virtuellen Maschine vom darunter liegenden Betriebssystem separiert und agieren so unabhängig von diesem.

Virtuelle Server hingegen bilden ein vollständiges Computersystem nach und nicht nur eine Laufzeitumgebung für einzelne Applikationen. Virtuelle Server können somit ganze Betriebssysteme beherbergen. Dieser virtuelle Server ist für das darunter liegende Betriebssystem, dem so genannten Host, nur eine Anwendung und läuft damit unabhängig von der verwendeten Hardware.


Alles virtuell?

Virtuelle Maschinen teilen einen Computer in mehrere parallele Einheiten auf. Hierbei kann eine virtuelle Maschine entweder einen virtuellen Server oder eine virtuelle Laufzeitumgebung darstellen. Virtuelle Server sind vollständig nachgebildete Computersysteme, die ein Betriebssystem beherbergen können. Virtuelle Laufzeitumgebungen sind demgegenüber nur Umgebungen für einzelne Anwendungen.


Wir wollen uns im Folgenden der Virtualisierung von ganzen Betriebssystemen (Virtuelle Server) zuwenden und die virtuelle Laufzeitumgebung außer Acht lassen.


Galileo Computing

21.1.3 Hardwareunterstützte Virtualisierung  toptop

Virtualisierung kann nicht nur ausschließlich durch Emulation erreicht werden, sondern auf einem fruchtbaren Boden auch größere und schönere Früchte tragen. Mit einem »fruchtbaren Boden« meine ich geeignete Hardware. Wie die gesamte Virtualisierung, so ist auch die hardwareunterstützte Unterstützung eine sehr alte Technik. Die Geschichte reicht mehr als 40 Jahre zurück. Allerdings befand sich diese Technik nur auf großen Servern und Mainframes, auf Desktop-PCs spielte sie nie eine große Rolle.

Dies hat sich in den letzten Jahren massiv verändert und so ist auch hier die Virtualisierung massiv auf dem Vormarsch. Die Nachfrage steigt und so ist es nicht verwunderlich, dass die großen Prozessorhersteller, z. B. Intel und AMD, ihr Stück vom Kuchen haben möchten. So gibt es seit Ende 2005 zuerst von Intel und ein Jahr später vom AMD eine neue Generation von Prozessoren, die einen Teil der Virtualisierungs-Funktionalität auf CPU-Ebene abbilden.

Die Prozessoren tragen die Bezeichnung

  • Intel VT (Virtualization Technology) – Codename »Vanderpool«
  • AMD SVM (Secure Virtual Machine) – Codename »Pacifica«

Die Vorteile einer hardwareseitigen Virtualisierungslösung liegen auf der Hand:

  • Virtualisierungslösungen wie XEN sind paravirtualisierende Systeme, die mit Hilfe hardwareseitiger Unterstützung durch eben genannte Prozessoren beliebige unmodifizierte Betriebssysteme als virtuelle Maschinen ausführen können.
  • Wesentlich höhere Leistungsfähigkeit der virtuellen Maschinen.
  • Höhere Stabilität durch geringere Notwendigkeit der Emulation.
  • Mehr Sicherheit durch höhere Isolation zwischen Host und VM.
  • Hardwarebdingte Standardisierung.

Abbildung 21.1    Zwei verschiedene Arten der Virtualisierung. Links durch eine Virtualisierungssoftware (z. B. VMware), rechts durch Virtualisierung auf Hardwareebene (z. B. Intel mit Vanderpool). Bildquelle: Wikipedia

Neben der höheren Geschwindigkeit bei den neuen Prozessoren, wovon natürlich jede Anwendung und auch Virtualisierung profitiert, kann XEN hier seine Stärken voll ausspielen. Ich werde detailliert in Abschnitt 21.7 auf XEN eingehen.

Um herauszufinden, ob der Prozessor in Ihrem PC die nötige PAE-Erweiterung (Physical Adress Extension) besitzt, die Sie für die hardwarebeschleunigte Virtualisierung benötigen, führen Sie bitte das folgende Kommando in einem Terminal aus:

user$ grep pae /proc/cpuinfo 
flags: fpu vme de pse tsc msr pae mce cx8 apic sep 
 mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr 
 sse sse2 ss ht tm pbe nx lm pni monitor ds_c pl vmx est 
 tm2 cx16 xtpr lahf_lm

Wenn Sie wie in der oben stehenden Ausgabe die Abkürzung pae finden, dann unterstützt Ihr Prozessor diese hardwarebeschleunigte Virtualisierung. Einem grenzenlosen XEN-Vergnügen steht also nichts im Wege ;-)

Um ein vollständig virtualisiertes Gastsystem zu betreiben, ist die Unterstützung von Gast-Prozessoren zwingend erforderlich. Wenn Sie nicht wissen, ob Ihr Prozessor dies unterstützt, hilft ebenfalls ein Blick in die oben ausgegebenen CPU-Flags. Suchen Sie bei Pozessoren von Intel nach der Abkürzung vmx, bei AMD-Prozessoren nach svm.

Wenn Sie diese Bezeichnung finden, wird die vollständige Virtualisierung von IHrem Prozessor unterstützt. Allerdings ist die Option zur vollständigen Virtualisierung in vielen PCs standardmäßig abgeschaltet. Sie müssen diese erst im BIOS Ihres PCs einschalten.

Sie können aktuelle Versionen von Windows nur als Gastsysteme installieren, wenn Ihr Prozessor die vollständige Virtualisierung unterstützt. Der Grund liegt darin, dass ein Betriebssystem ansonsten angepasst werden muss, damit es als Gast auf Xen läuft. Damit scheiden normalerweise Betriebssysteme wie Windows aus, da sie nicht in Form von veränderbarem Quelltext vorliegen.



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
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 3 Stunden
 Ubuntu-Training
In 28 kostenlosen Video-Lektionen macht Sie Rainer Hattenhauer mit Ubuntu GNU/Linux vertraut.
Zu den Videos

 Buchtipps
Zum Katalog: Ubuntu GNU/Linux - Das Video-Training für Einsteiger und Umsteiger






 Ubuntu GNU/Linux
 Das Video-Training


Zum Katalog: Linux






 Linux


Zum Katalog: Debian GNU/Linux Etch






 Debian GNU/Linux


Zum Katalog: OpenOffice.org 2.0 - Einstieg und Umstieg






 OpenOffice.org 2.0
 Einstieg und Umstieg


Zum Katalog: OpenOffice.org 2.0 - Video-Training






 OpenOffice.org 2.0
 Video-Training


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




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