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