Systeme 1 Kapitel 10 Virtualisierung
Virtualisierung Virtualisierung: Definition: Der Begriff Virtualisierung beschreibt eine Abstraktion von Computerhardware hin zu einer virtuellen Maschine. Tatsächlich vorhandene Hardware wird abstrahiert und zu einer virtuellen Maschine zusammengefasst, die sich ihrerseits wie ein eigenständiger Computer verhält. Ziele der Virtualisierung: Bessere Ausnutzung der Hardware Entkopplung von logischen Systemumgebungen und physikalischer Hardware Fehlerverminderung Aufwandsreduzierung ( Software ) Ausfallsicherung
Virtualisierung Beobachtungen Rechenzentren betreiben sehr viele Maschinen Dabei oft ein Dienst : eine Maschine Beispiel: Webserver, DNS, LDAP, Datenbank Abgrenzung bei Einbruch, wenn eine Maschine korrumpiert, nicht gleich viele Dienste betroffen Abgrenzung von Benutzerkonten, Kunden untereinander Software- und Systemabhängigkeiten ein Dienst erfordert eine Version einer Bibliothek, ein anderer eine andere... Zusätzlicher Maschinenaufwand für das Testen vor Übernahme in Produktionsbetrieb
Virtualisierung Beobachtungen Austausch von Maschinen unabhängig von Rechenleistung nach gewisser Zeit wegen höheren Ausfallrisikos der Hardware Rechenleistung steigt schneller als Anforderungen der meisten Dienste, wie bspw. DNS, DHCP oder Time- Server (Leistung per Hardware/Energieeinheit nimmt ( zu beständig
Virtualisierung Großer Rechnerpark bedeutet großen Administrationsaufwand Energieverbrauch Kühlungsbedarf Stellfläche / Raumbedarf Lösung dafür gesucht Konzepte schon bekannt Betriebssysteme übernehmen Ressourcenverwaltung und sorgen für bessere Auslastung von Hardware Einführung von Schedulern, damit mehr als ein Prozess gleichzeitig ausgeführt werden kann Virtueller Adressraum/Paging zur effizienteren Nutzung des teuren physischen Speichers
Virtualisierung - Betriebssystem Ein Prozess belegt nicht mehr komplette Hardware Prozesse bekommen virtuelle Hardware vom Betriebssystem vorgespiegelt, werden von diesem gegeneinander abgegrenzt
Virtualisierung - Betriebssystem Zunehmende Rechenleistung/Gesamtperformance erneut das Problem der effektiven Ressourcennutzung Wiederholung der Idee auf einer Hardware laufen mehrere virtuelle Systemumgebungen
Virtualisierung - Mainframe Auch diese Idee nicht neu Mainframes können das ( 3 seit 30 Jahren (Vortragsthema Nummer zseries/s390 aktuelle Generation bei IBM
Virtualisierung Virtualisierung kann an verschiedenen Ebenen ansetzen 1. Echte Virtualisierung oder Para-Virtualisierung 2. Emulation Implementierung eines Computers und seiner Funktionsgruppen komplett in Software 3. Partitionierung setzt weiter oben als vorgenannte Verfahren an 4. API-Emulation setzt ebenfalls weiter oben an
Virtualisierung Ebene I Echte Virtualisierung oder Para-Virtualisierung Aufteilung vorhandener Hardware in mehrere virtuelle Computer entsprechen weitestgehend der Rechnerarchitektur des Hostsystems mehrere (unveränderte) Betriebssysteme laufen unabhängig voneinander auf derselben physischen Hardware ohne sich gegenseitig beeinflussen zu können verschiedene Betriebssysteme möglich sie müssen jedoch auf dem Hostsystem ausführbar sein
Para- und echte Virtualisierung I Architekturschema
Para und echte Virtualisierung II Betriebssystem als Schiedsrichter über Ressourcen Kernel-Mode und User-Mode Privilegierte / nicht-privilegierte Zugriffe
Virtualisierung Ebene II Emulation Implementierung eines Computers und seiner Funktionsgruppen komplett in Software emulierter Rechner kann komplett andere Rechnerarchitektur als das Hostsystem aufweisen (mehrere, unveränderte) Betriebssysteme der emulierten Architektur laufen unabhängig voneinander auf der selben physischen Hardware emulierte Rechner arbeiten komplett in Software ohne Abstraktion der darunterliegenden Hardware damit aus Sicht des Betriebssystems einfach nur eine weitere Anwendung komplett verschiedene Betriebssysteme (auch von ( möglich anderen Architekturen
Virtualisierung Ebene III Partitionierung setzt weiter oben als vorgenannte Verfahren an statt komplette virtuelle Maschine mit eigenem Betriebssystem zu starten, Aufteilung innerhalb des laufenden Betriebssystems selbst Schaffung mehrerer virtueller Umgebungen, in denen Prozesse, Benutzer und Dateisysteme wie in unterschiedlichen Systemen voneinander isoliert sind ein gemeinsamer Betriebssystem-Kernel bedeutet Festlegung auf ein gemeinsames Betriebssystem für alle virtuellen Umgebungen
Partitionierung/Betriebssystem-Virtualisierung Systemarchitektur
Virtualisierung Ebene IV API-Emulation setzt noch weiter oben an stellt auf einem Betriebssystem benötigte Schnittstellen bereit, die Applikationen erwarten, die für anderes Betriebssystem geschrieben wurden Applikationen müssen dabei zum Hostsystem binärkompatibel sein (für die entsprechende ( sein Rechnerarchitektur kompiliert jedoch eher untypisch für eingangs genannte Zielsetzungen