Virtualisierung von Betriebssytemen im Server- und PC-Bereich. Definition, Ausprägungen und Funktionsweisen


Travail d'étude, 2009

29 Pages, Note: 1,7


Extrait


Inhaltsverzeichnis

1. Ziel und Motivation der Arbeit

2. Definition Virtualisierung

3. Chancen der Virtualisierung

4. Risiken der Virtualisierung

5. Geschichtliche Entwicklung

6. Virtualisierungsverfahren und technische Ansätze
6.1. Emulation
6.1.1. Funktionsweise
6.1.2. Beispiel: VICE - Versatile Commodore Emulator
6.1.3. Beispiel: DOSBox
6.1.4. Bewertung
6.2. Betriebssystem-Container
6.2.1. Funktionsweise
6.2.2. Beispiel: Solaris Zones
6.2.3. Bewertung
6.3. Native Virtualisierung
6.3.1. Funktionsweise
6.3.2. Beispiel: VMware Workstation und VMware Server- Hypervisor Ebene 2
6.3.3. Beispiel: Microsoft Virtual PC / Virtual Server - Hypervisor Ebene 2
6.3.4. Bewertung
6.4. Paravirtualisierung
6.4.1. Funktionsweise
6.4.2. Beispiel: Xen
6.4.3. Beispiel: VMware ESX Server
6.4.4. Beispiel: Microsoft Hyper-V
6.4.5. Bewertung
6.5. Hardwareunterstützung zur Virtualisierung

7. Kriterien zur Verfahrensauswahl

8. Zusammenfassender Ausblick

9. Zukunftsprognose

10. Literaturangaben

11. Abbildungsverzeichnis

1. Ziel und Motivation der Arbeit

Diese Arbeit befasst sich mit der Virtualisierung von Betriebssystemen im Server- und PCBereich zur Unterteilung der real vorhandenen Hardwareressourcen in unabhängige logische Systeme und damit zur Entkopplung der Betriebssysteme von konkreter Hardware. Ziel ist es, eine höheren Flexibilität der Betriebssysteme und eine höhere Auslastung der realen Hardware durch Parallelbetrieb mehrerer Betriebssysteme zu ermöglichen.

Zu Beginn soll definiert werden, was Virtualisierung im Kontext dieser Arbeit ist, um an- schließend die grundlegenden Chancen und Risiken dieser Idee zu beschreiben. Nach einem Überblick über die Entwicklung der Virtualisierung von den Anfängen bis hin in die Gegenwart sollen die verschiedenen Virtualisierungsverfahren und -techniken theoretisch und anhand ihrer Umsetzung in konkreten Produkten dargestellt und kritisch gewürdigt werden. Im Anschluss sollen diese Ansätze verglichen, eine Auswahlhilfe geboten und eine Prognose der zukünftigen Entwicklungen gewagt werden.

2. Definition Virtualisierung

Eine eindeutige, allgemeingültige Definition des Begriffs Virtualisierung existiert in der Informatik nicht, da viele unterschiedliche Konzepte und Technologien unter diesem Begriff zusammenfallen. Virtuell bedeutet dem lateinischen Ursprung nach „möglich“, im angewendeten Sinne „scheinbar“, „nicht tatsächlich vorhanden“.

Darauf aufbauend ist folgende Definition von Virtualisierung im Kontext dieser Arbeit als erste Annährung treffend:

„[Virtualisierung ist das] Betreiben von Systemkomponenten in einer abstrakten, meist von ihren konkreten Basisgeräten abgehobenen Umgebung.“1

„[Eine virtuelle Maschine ist eine] Abstraktion eines ganzen, logischen Computers.“2

Moderne Multitasking-Multiuser-Rechner sind ohne Virtualisierung von Teilsystemen undenkbar. So greifen die konkreten Anwendungsprogramme beispielsweise nur auf eine virtuelle CPU zu und benutzen einen virtuellen Arbeitsspeicher. Mit dieser hardwarenahen Art von Virtualisierung soll sich diese Arbeit nicht beschäftigen. So kann eine Definition von Virtualisierung im hiesigen Kontext lauten:

Virtualisierung im Betriebssystemkontext ist dadurch gekennzeichnet, dass eine zusätzliche logische Ebene das Betriebssystem von der realen Hardware, von der dieses im Endeffekt ausgeführt wird, abstrahiert und diesem logische Hardware bereitstellt, die möglichst transparent genutzt werden kann.

3. Chancen der Virtualisierung

Im Folgenden werden stichpunktartig die grundlegenden Chancen des Virtualisierungsansatzes damit die Motivation, diese Technik einzusetzen, dargelegt:

Bessere Auslastung der realen Hardware: Die Reaktions- und Arbeitsgeschwindig- keit des menschlichen Anwenders ist verglichen mit der Ausführungsgeschwindigkeit eines Computers extrem langsam. Während des Wartens auf eine Eingabe ist die vor- handene Rechenkapazität zu großen Teilen ungenutzt. Auch ist die Verarbeitungsge- schwindigkeit eines heutigen PCs so groß und die Hardwareausstattung so leistungs- fähig, dass bei den typischerweise darauf ausgeführten Arbeiten ein enormes Potential brach liegt.

Geringere Gefahr von Hardwareausfällen: Das Betreiben eines großen physikali- sche Rechners anstelle mehrere kleinerer senkt statistisch die Gefahr von Hardware- ausfällen. Zudem kann ein zentraler Rechner einfacher mit redundanter Hardware aus- gestattet werden, die einen planmäßigen Betrieb auch bei Ausfall einzelner Teilsyste- me ermöglichen. Selbst wenn nach einem Ausfall eine Hardwarekomponente durch eine andere, nicht baugleiche, ersetzt werden muss, ändert sich die virtuelle Hardware der Gäste nicht, so dass diese nicht angepasst werden müssen. Während des Betriebs auf realer Hardware kann beispielsweise ein Mainboard eines Herstellers nach einem Ausfall allgemein nicht durch eines eines anderen Herstellers ersetzt werden, ohne das Betriebssystem anzupassen oder komplett neu zu installieren.

Geringerer Verwaltungssaufwand: Im Hosting-Bereich hat die Virtualisierung das Angebot an „Root-Servern“3 explodieren lassen. Nach einmaligem Konfigurieren und Installieren einer Vorbildumgebung kann diese als virtueller Rechner beliebig oft kopiert und einem Kunden als eigene Instanz bereitgestellt werden. So kann eine komplette Umgebung in wenigen Sekunden erzeugt werden.

Einfache Wiederherstellung im Fehlerfall und höhere Verfügbarkeit: Um von ei- ner virtuelle Maschine eine Sicherung zu erstellen, reicht es meist, einige wenige Da- teien zu sichern, die die virtuelle Maschine darstellen. So lassen sich umkompliziert verschiedene Zustände der Maschine und deren Daten speichern und im Fehlerfall wiederherstellen. Ebenso ist es leicht möglich, virtuelle Maschinen auf einen anderen Host zu verschieben, oft sogar ohne Verbindungsunterbrechung. Geringere Betriebsstoffkosten und Serverkonsolidierung: Durch Virtualisierung lässt sich als Konsequenz der besseren Ausnutzung der Hardware sowie durch gerin- gere Verlustleistung der zentralen Hardwarekomponenten der Strombedarf einer Ser- verumgebung verringern. Ebenso entsteht weniger Abwärme, die durch Klimatisie- rungsgeräte abgeführt werden muss.

Bessere Möglichkeiten zur Erkennung von Malware und Rootkits: Moderne Kernelrootkits sind in der Lage, jeden Teil eines Betriebssystems, welches sie infiziert haben zu unterwandern, also auch die Erkennungsalgorithmen von Anti-Viren- Programmen. In solchen Fällen ist es kaum möglich, die Infektion innerhalb des Betriebssystems zu entdecken. Antivirensoftware, die in die Virtualisierungssoftware, den Hypervisor, integriert ist und auf dessen Eben läuft kann jedoch von Malware in den virtuellen Maschinen nicht beeinflusst werden.

4. Risiken der Virtualisierung

Auch bei der Virtualisierung stehen den Chancen Risiken und neue Herausforderungen gege- nüber: Höhere Komplexität der Umgebung: Jede zusätzliche Komplexität im Betrieb einer Serverumgebung birgt Risiken: Je komplexer eine Umgebung ist, desto fehleranfälliger, wartungsaufwändiger und im Endeffekt auch teurer ist sie. Aus diesem Grund ist es im Regelfall erstrebenswert, eine IT-Umgebung so einfach wie möglich und nur so komplex wie nötig werden zu lassen. Virtualisierung erhöht durch eine zusätzliche Abstraktions- und Managementebene die Komplexität.

Performanceprobleme: Die zusätzliche Ebene der Virtualisierungsverwaltung belegt Ressourcen, die für die Gäste nicht mehr zur Verfügung stehen. Der Wunsch, durch Virtualisierung die reale Hardware möglichst gut auszulasten ist eine Gradwanderung, da der Schritt von der optimalen Auslastung hin zur Überlastung des Hostsystems ge- ring ist. Um dies zu vermeiden müssen die den Gästen zugeteilte Ressourcen begrenzt und laufend überwacht werden, um zu verhindern, dass ein Gast durch übermäßigen Ressourcenverbrauch das Gesamtsystem verlangsamt.

Single Point of Failure: Sind viele Systeme auf einem virtuellen System konzentriert, ist die Wahrscheinlichkeit eines Hardwareausfalles zwar mathematisch geringer, fällt das Hostsystem aufgrund einer Softwarefehlfunktion oder eines Hardwareschadens je- doch trotzdem aus, sind alle Gäste nicht verfügbar. Dürfen verschiedene Teilsysteme nicht gleichzeitig betroffen sein, ist eine aufwändige Planung von Redundanzen durch komplexe Virtualisierungssysteme und eigenständiger Hardware nötig.

Böswillige Hypervisoren: Es existieren Konzeptstudien und Projekte (beispielsweise SubVirt4, Blue Pill5 oder Vitrol6 ) zu Malware, die aktiv die praktisch allmächtigen Kontrollfunktionen, die eine Virtualisierungssoftware über ihre Gäste besitzt, ausnut- zen. Diese versuchen, die Virtualisierungssoftware zur Kontrolle der Gäste zu unter- wandern und somit alle Vorgänge auf den Gästen zu überwachen und zu kontrollieren oder unbemerkt Systeme in virtuelle Maschinen unter ihrer Kontrolle zu verschieben. Solche Malware ist schwer nachzuweisen, allerdings durch die Manipulation der Pro- zessoranweisungen der Gäste sehr rechenintensiv und somit nach heutigem Kenntnis- stand zumindest indirekt nachweisbar.

5. Geschichtliche Entwicklung

Die Ideen der Virtualisierung sind fast so alt wie die moderne Informationstechnik. Die Grundlagen wurden bereits in den 1960er Jahren entwickelt. Zu jener Zeit trat ein enormer und stetiger Leistungszuwachs der Rechenleistung der damaligen Computersysteme zu Tage, die Gordon Moore in seinem berühmten „Moorschen Gesetz“7 festhielt. Ursprünglich prophe- zeite Moore, dass sich die Komplexität integrierter Schaltkreise, beispielsweise bewertet durch die Integrationsdichte, somit auch die Leistungsfähigkeit jedes Jahr verdoppelt (diese Faustregel gilt auch heute noch, allerdings geht man von einer Verdopplung alle 18 Monate aus). Durch diesen Leistungsanstieg verschob sich die Ansicht, in welchem Bereich typi- scherweise Flaschenhälse die Arbeit mit Computersystemen verlangsamen, von der Hardware hin zur Software. Galt es bisher durch hoch optimierte Algorithmen die vorhandene, langsame Hardware gut auszunutzen, so stellte sich nun heraus, dass die leistungsfähigere Hardware von der Software nicht gänzlich ausgelastet werden konnte. Aus dieser Motivation heraus wurden unter anderem Timesharing-Systeme für den Multitaskingbetrieb und schließlich der allgemeinere Ansatz der Virtualisierung entwickelt.

Robert P. Goldberg legte den theoretischen Grundstein 1972 mit seiner Dissertation „Archi- tectural Principles for Virtual Computer Systems“8 an der Harvard University, im gleichen Jahr brachte IBM das Mainframesystem VM/370 mit einem Hypervisor, damals „Control Program“ genannt, auf den Markt, welches in der Lage war, verschiedene virtuelle Maschinen (VM) mit unterschiedlichen Betriebsystemen gleichzeitig auszuführen.

1974 beschrieben Goldberg und Popek die grundlegenden Anforderungen einer Virtualisierungssystemarchitektur in ihrem Artikel „Formal requierements for virtualizable third generation architectures“9, in dem drei wesentliche Anforderungen an eine solche Umgebung gestellt werden: Äquivalenz (die virtuelle Maschine soll sich in ihrem Verhalten nicht von realer Hardware unterscheiden), Ressourcenkontrolle (die Gastsystemen sollen die vollständige Kontrolle über ihre virtuelle Hardware behalten) und Effizienz (ein hinreichender, aber nicht weiter quantifizierter Wirkungsgrad soll erreicht werden)10.

Mit dem Niedergang der Großrechner in den 1980er Jahren und dem Aufstieg der nun in ihrer Rechenleistung konkurrenzfähigen PCs, bewegte sich der Entwicklungsfokus weg vom Ansatz der Virtualisierung. Doch auch dieser Trend schwächte sich ab, spätestens um die Jahrtausendwende gewann die Zentralisierung von IT-Systemen mit Blick auf die Total Cost of Ownership (TCO) allgemein wieder an Bedeutung. Der Fokus der Virtualisierung liegt allerdings nun auf kleinen bis mittleren Servern sowie PC-Systemen als Hosts für virtuelle Ma- schinen. So stellte die 1998 gegründete Firma VMware 1999 ihre Virtualisierungslösung in diesem Bereich, VMware Workstation, vor und begründete damit einen Trend, der noch heute anhält und in neuen Bereichen fortgeführt wird.

6. Virtualisierungsverfahren und technische Ansätze

Die im Folgenden aufgeführten Verfahren sind als idealtypisch anzusehen. Bei konkreten Umsetzungen in Form von speziellen Produkten ist eine klare Unterscheidung und Einteilung selten möglich, da verschiedene Ansätze parallel genutzt und vermischt werden.

6.1. Emulation

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1- Emulator

6.1.1. Funktionsweise

Im PC Bereich ist die (Software-11 ) Emulation die älteste Art der Virtualisierung. Bei der Emulation bildet ausschließlich eine Software, die im Anwenderkontext läuft, ausgewählte Komponenten einer anderen, oft älteren, Umgebung nach. Dabei werden mindestens die CPU, der Arbeitsspeicher sowie nichtflüchtige Speichermedien nachgebildet. Die Befehle an diese Komponenten werden vom Emulator in Befehle für die reale Hardware umgerechnet und auf dieser ausgeführt, ebenso werden die Ergebnisse angenommen, umgerechnet und an die Soft- ware, die im Emulator läuft, durchgereicht. Emulatoren werden oft genutzt, um ältere Genera- tionen von Rechnern als Software auf aktuellen PCs zu emulieren, beispielweise die in den 1980er und 1990er Jahren beliebten Homecomputer Commodore C64, Amiga und Atari ST sowie verschiedene ältere Spielekonsolen. Des Weiteren werden Emulatoren häufig für die Entwicklung von Software für Embedded-Systems, beispielsweise aktuelle Mobiltelefone, benutzt, sofern für diese keine komplette Entwicklungs-API zur Verfügung steht.

Emulation ist sehr rechenintensiv, das in Kapitel 6.1.3 vorgestellte Programm DOSBox benötigt beispielsweise zur Emulation einer alten x86 80486 CPU mit typischerweise 66 MHz einen aktuellen Prozessor mit einer Taktrate im Gigaherzbereich. Ein Vorteil der Emulation ist jedoch, dass keine Änderungen des Gastsystems nötig sind, eine hohe Flexibilität sowie eine exakte Nachbildung der Originalumgebung erreicht werden kann.

6.1.2. Beispiel: VICE - Versatile Commodore Emulator

Vice emuliert 8-Bit Computersysteme von Commodore, beispielsweise den C64 und C128.

Im C64er-Modus wird der VIC-II Video Chip mit allen Video-Modes fast zu 100% exakt, der berühmte SID Soundchip sowie alle CPU-Register exakt emuliert. Die als Massenspeicher vorhandenen Diskettenlaufwerke wie das VC-1541-II mit ihrer, verglichen mit heutigen Laufwerken, hohen Komplexität12 sind ebenfalls vorhanden. Der Emulator arbeitet zyklusge- nau.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2 - VICE Emulator

Bildquelle: www.c64-wiki.de/images/e/ee/AlgVice3.gif

6.1.3. Beispiel: DOSBox

DOSBox emuliert auf aktuellen Windows-Systemen, beispielsweise XP oder Vista, eine MS DOS Umgebung inklusive einer für diese Zeit typische Hardware eines IBM-PC. So lassen sich weiterhin ältere Programme nutzen, die auf aktuellen Windows-Systemen nicht mehr lauffähig sind, beispielsweise aufgrund von direkten Hardwarezugriffen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3 - Screenshot DOSBox.

Bildquelle: upload.wikimedia.org/wikipedia/commons/1/14/DOSBox.png

[...]


1 Fischer; Hofer, Lexikon der Informatik, S. 905.

2 Fischer; Hofer, Lexikon der Informatik, S. 906.

3 Unter einem Root-Server (Synonym: dezidierter Host) im Webhostingbereich versteht man eine komplette Betriebssystemumgebung, die einem Kunden zur Verfügung gestellt und über die dieser frei verfügen kann.

4 King; Chen; et al., SubVirt: Implementing malware with virtual machines, University of Michigan and Micro- soft Research. http://www.eecs.umich.edu/-pmchen/papersiking06.pdf

5 Rulkowska, Subverting Vista Kernel for fun and profit, COSEINC Research, Advanced Malware Labs. http://www.invisiblethings.org/papers/joanna%20rutkowska%2o-%20subverting%20vista%20kernel.ppt

6 Zovi, Hardware Virtualization Rootkits, Matasano. http://www.blackhatcom/presentationslbh-usa-06/BH-US- 06-Zovi.pdf

7 Vgl. Moore, Cramming more components onto integrated circuits

8 Vgl. Goldberg, Architectural Principles for Virtual Computer Systems

9 Vgl. Popek; Goldberg, Formal Requirements for Virtualizable Third Generation Architectures

10 Vgl. Popek.; Goldberg, Formal Requirements for Virtualizable Third Generation Architectures

11 Es existieren ebenfalls Emulatoren, die aus Hardware bestehen und ein Host-System zumindest mit Teilsystemen der zur emulierenden Hardware ausstatten.

12 Die Diskettenlaufwerke des C64 waren praktisch eigenständige Computer und besaßen eine eigene CPU, die mit der des C64 verwandt war sowie ein eigenes eingebettetes Betriebssystem. Auf diese Art wurde die langsa- me CPU des C64er beim Datentransfer entlastet. In PC-Systemen ist dies mit Festplatten und ihrer umfangrei- chen Firmware zu vergleichen, PC-Diskettenlaufwerke bestehen hingehen nur aus „Mechanik“ ohne eigenstän- dige „Intelligenz“.

Fin de l'extrait de 29 pages

Résumé des informations

Titre
Virtualisierung von Betriebssytemen im Server- und PC-Bereich. Definition, Ausprägungen und Funktionsweisen
Université
Cologne University of Applied Sciences  (Fakultät für Informatik und Ingenieurswissenschaften)
Note
1,7
Auteur
Année
2009
Pages
29
N° de catalogue
V135401
ISBN (ebook)
9783668294950
ISBN (Livre)
9783668294967
Taille d'un fichier
1241 KB
Langue
allemand
Mots clés
Virtualisierung
Citation du texte
Michael Rongen (Auteur), 2009, Virtualisierung von Betriebssytemen im Server- und PC-Bereich. Definition, Ausprägungen und Funktionsweisen, Munich, GRIN Verlag, https://www.grin.com/document/135401

Commentaires

  • Pas encore de commentaires.
Lire l'ebook
Titre: Virtualisierung von Betriebssytemen im Server- und PC-Bereich. Definition, Ausprägungen und Funktionsweisen



Télécharger textes

Votre devoir / mémoire:

- Publication en tant qu'eBook et livre
- Honoraires élevés sur les ventes
- Pour vous complètement gratuit - avec ISBN
- Cela dure que 5 minutes
- Chaque œuvre trouve des lecteurs

Devenir un auteur