Virtualisierung

Transcription

Virtualisierung
Calogero Fontana
Fachseminar WS09/10
[email protected]
Virtualisierung
Was ist Virtualisierung?
Definition
Virtualisierung ist das zur Verfügung stellen von
Hardware-Ressourcen für ein oder mehrere
voneinander abgeschotteten Systeme
(Gastsysteme) auf einer realen Maschine
(Wirtsystem).
Das Wirtsystem beherbergt eine Virtualisierungslösung und stellt
Container und Funktionen zur Verfügung auf denen Gastsysteme
laufen können.
Das Gastsystem läuft abgeschottet in einer virtuellen Maschine. Befehle die
im Gastsystem ausgeführt werden, werden durch eine Virtualisierungslösung
an die Hardware des Wirts weitergereicht.
Was ist Virtualisierung?
Quelle: http://www.microsoft.com/austria/technet/articles/virtualisierung_teil1.mspx
Warum Virtualisierung? - Heute
verschiedene Betriebssysteme
verschiedene Infrastruktur
Anforderung an Server
Virtualisierung
●
Äquivalenz
●
●
Isolation
●
●
der VM's untereinander
Kontrolle
●
●
Verhalten der VM
Ressourcen Zuweisung
Effizienz
●
Annähernd so schnell wie auf blanker
Hardware
Ansätze der Servervirtualisierung
●
Vollständige Virtualisierung
●
●
Prozessor-unterstützte vollständige
Virtualisierung
●
●
KVM, Xen
Paravirtualisierung
●
●
VMware, Microsoft Virtual PC + Server
Xen, SUN, IBM z/VM
Betriebssystem-Virtualisierung
●
Linux Vserver, OpenVZ
Ansätze der ClientVirtualisierung
Anwendungs-Virtualisierung
● nutzen von Applikationen die nicht auf dem
Endgerät installiert sind
●
Server-seitig
●
Client-seitig
Ansätze der ClientVirtualisierung
Desktop-Virtualisierung
●
Benutzer Desktops werden virtuell zur
Verfügung gestellt
●
Standard-Desktop
●
Individueller-Desktop
KVM
Kernel-based Virtual Machine
●
Standard-Virtualisierungslösung in Ubuntu
●
Besteht aus zwei Komponenten
●
●
Gerätetreiber mit der Schnittstelle
„/dev/kvm“ zur Verwaltung der virtualisierten
Hardware
einem virtuellen PC auf der Basis von „Qemu“
Qemu: Pc-Emulator (Vmware, Virtualbox) läuft allerdings auch auf anderen
Prozessoren als x86 und kann andere Prozessoren emulieren als ein Pentium.
Beispiele:
- Pentium Host mit Linux, x86 emulieren, Windows als Gast
- Pentium Host mit Windows, x86 emulieren, Linux als Gast
- PowerPC Host mit McOS, Sparc emulieren, Solaris als Gast
KVM
Kernel-based Virtual Machine
●
Jede VM als Linux-Prozess
●
Kernel-Modus
●
User-Modus
●
Gast-Modus mit eigenem Kernel- und UserModus wird von KVM hinzugefügt.
Quelle: http://openbook.galileocomputing.de/ubuntu/bilderklein/kleinkvm_architektur.gif
KVM
Kernel-based Virtual Machine
●
KVM Bestandteile sind folgende Kernel-Module
●
●
●
„kvm.ko“ auch in ältere Kernel-Versionen
integrierbar
„kvm-intel.ko / kvm-amd.ko“(Intel VT / AMDV) Hardwarespezifische Module, die abhängig
von dem Prozessor eingesetzt werden
KVM bietet keine eigene Emulation sondern
stellt nur die Infrastruktur dazu bereit
OpenVZ
●
●
●
●
Virtualisierungslösung in Debian, Mandriva ...
Linux basierende Servervirtualisierungslösung auf
Betriebssystemebene
isolierte virtuelle Umgebungen auf einem Server
geringere Flexibilität im Vergleich zu anderen
virtuellen Maschinen
●
Gast und Host-Betriebssystem muss Linux sein
(verschieden Linux-Distributionen möglich)
OpenVZ
●
●
modifizierter Linux-Kernel zur Gewährleistung
von
●
Virtualisierung und Isolierung
●
Ressourcenverwaltung
●
Checkpointing
Eigenschaften
●
Skalierbarkeit
●
Dichte
●
Massenverwaltung
OpenVZ
Quelle:http://www.ordix.de/ORDIXNews/1_2008/Open_Source/openvz_abb1_gross.gif
Live-Demo
Gründe für Virtualisierung
●
Bessere Auslastung der Hardware
●
●
●
Kostensenkung bei Hardware,
Verbrauchskosten ..
Vereinfachte Administration
●
●
●
Serverkonsolidierung
Reduzierung der benötigten physischen
Server
Einsatz ausgereifter Managementwerkzeuge
Vereinfachte Bereitstellung von zusätzlichen
Ressourcen
Gründe für Virtualisierung
●
Flexibilität.
●
●
Die gesamte virtuelle Maschinenumgebung wird in
eine Datei gespeichert und kann dadurch leicht
vervielfältigt und gesichert werden.
Höhere Sicherheit
●
●
Virtuelle Maschinen sind gegenüber andere virtuellen
Maschinen und dem Host isoliert.
Unternehmenskritische Anwendungen können in
einer virtuellen Maschine gekapselt und so in einer
sicheren Umgebung laufen.
Grenzen von Virtualisierung
●
●
●
geringere Einzelperformance der VM's als reale
Maschinen
beim Ausfall eines Hosts können mehrere
virtuelle Server betroffen sein.
Kompatibilitäts- oder Emulierungsprobleme von
VM in Verbindung mit bestimmten
Hardwarekomponenten
Fazit
●
●
Virtualisierung ermöglicht:
●
Senkung der Betriebskosten
●
Erhöhung der Flexibilität und Verfügbarkeit
●
Schnelle und einfache Disaster Recovery
Aber:
●
sollte sorgfältig geplant werden
●
Erhöht die Komplexität des Managements
●
Nicht jede Hardware wird in virtuellen
Maschinen unterstützt
Fragen?
Quellen
●
http://de.wikipedia.org
●
http://www.heise.de
●
http://www.kegsaar.de
●
http://www.sigma-it.de/
●
http://www.pro-linux.de
●
http://openbook.galileocomputing.de