Lade Inhalt...

Virtualisierung im IT- Bereich

Hausarbeit 2010 23 Seiten

Informatik - Wirtschaftsinformatik

Leseprobe

Inhaltsverzeichnis

1. Einleitung
1.1 ZielederArbeit
1.2 HeranführungandieThematik
1.3 Geschichte der Virtualisierung

2. Hardwarevirtualisierung
2.1 Prozessorvirtualisierung
2.2 Speichervirtualisierung
2.3 Netzwerkvirtualisierung

3. Softwarevirtualisierung
3.1 Betriebssysteme
3.2 Anwendungsvirtualisierung
3.3 Paravirtualisierung

4. Virtualisierungsstrategien
4.1 Schulungen
4.2 Desktop-Virtualisierung

5. Wirtschaftslichkeitsbetrachtung

6. Fazit

7. Anhangverzeichnis
7.1 Literaturverzeichnis
7.2 Abbildungsverzeichnis
7.3 Glossar

1. Einleitung

Der Begriff Virtualisierung ist in den letzten Jahren zu einem regelrechten „Hype" in der Informationstechnologie, bei IT-Verantwortlichen und Unternehmen geworden. Verschiedene Gründe wie das Thema der Green-IT, also einer energieeffizienten Gestaltung von Infrastruktur aber auch eine effiziente Ausgestaltung und Weiterentwicklung von Prozessen (gerade im IT- Bereich selbst) sind hierfür ausschlaggebend. Zudem schreitet die Entwicklung von Virtualisierungslösungen durch die Hersteller immer weiter voran, so dass fast quartalsweise neue marktreife Produkte und Lösungen veröffentlicht werden. Mittlerweile ist Virtualisierung so wichtig geworden, dass sie aus dem heutigen IT-Umfeld nicht mehr wegzudenken ist. Das vorliegende Kapitel beschreibt die Zielsetzung, liefert eine Begründung für die Themenauswahl und klärt die grundlegende Methodik der Hausarbeit. Weiterhin soll Aufschluss darüber gegeben werden, was unter dem Begriff der Virtualisierung im IT- Bereich grundsätzlich zu verstehen ist, gefolgt von einem kurzen geschichtlichen Kontext ihrer Entwicklung.

1.1 Ziele der Arbeit

Diese Hausarbeit soll einen Überblick zur Virtualisierung im IT-Bereich ermöglichen. Nach einem kurzen historischen Hintergrund werden die theoretischen Grundlagen der verschiedenen Begriffe und Technologien erläutert inklusive von genauen Funktionsbeschreibungen. Insbesondere sollen dabei die generellen Unterschiede zwischen Virtualisierung auf Hardware- und Softwareebene aufgezeigt werden. Hauptaugenmerk liegt dabei auf einer detaillierten Betrachtungsweise der Prozessorvirtualisierung, sowie einem Vergleich zur der Betriebssystemvirtualisierung auf Softwareebene. Daraufhin werden die beiden Technologien miteinander verglichen und abschließend bewertet. Im Anschluss werden verschiedene Möglichkeiten zur strategischen und praktischen Umsetzung von Virtualisierung aufgezeigt. Aus diesen Informationen ergibt sich dann später eine Wirtschaftlichkeitsbetrachtung, in der die finanziellen Aspekte und Auswirkungen der Technologie auf Unternehmen untersucht werden. Zusammenfassend werden die Untersuchungen in einem Fazit gegenübergestellt und ein Ausblick auf die mögliche Entwicklung und die Bedeutung der Virtualisierung im IT-Umfeld gegeben.

1.2 Heranführung an die Thematik - Was ist Virtualisierung?

Grundsätzlich wird der Begriff der „Virtualisierung" in der Informatik für verschiedene Anwendungsfälle verwendet, weshalb es übergreifend noch keine einheitliche Definition dieses Begriffs gibt. Für den Bereich der IT-Infrastruktur wird Virtualisierung in gängiger Fachliteratur wie folgt dargestellt.

Die „[...] Virtualisierung beschreibt eine Abstraktion von Hardware-Ressourcen hin zu einer virtuellen Maschine." Diese Abstraktion schafft eine neue abstrakte, logische Ebene auf Basis der vorhandenen Hardware, „[...] die sich ihrerseits wie eigenständige Computer verhalten und die in ihnen ausgeführten Operationen auf die tatsächlich vorhandende Hardware abbilden."[1]

1.3 Geschichte der Virtualisierung

Die Idee bzw. das Grundkonzept einer virtualisierten Systemarchitektur stammt aus den siebziger Jahren. Es wurde von Gerald Popek und Robert Goldberg im sog. „Popek-Goldberg-Papier" im Jahre 1974 unter dem Artikel „Formal requirements for virtualizable third generation architectures"[2] veröffentlicht. Die drei wesentlichen Anforderungen sind demnach: Effizienz, Äquivalenz und Ressourcenkontrolle. Zunächst bildete diese Technik die nur genaue Hardware eines Großrechners ab, beispielsweise IBM Mainframe Rechners wie dem CP-40. Hier wurde die Technik genutzt, um diesen auf mehrere Konsolen aufzuteilen.

Die letzten Jahre erlebte die Virtualisierung aufgrund der wachsenden und immer leistungsfähigeren PC- und Serverhardware immer größer werdendes Interesse und eine steigende Nachfrage. 1999 wurde der erste „Virtual Machine Monitor" von dem amerikanischen Unternehmen VMware auf dem Markt veröffentlicht. Das Produkt wurde seitdem stets weiterentwickelt, so dass VMware heute Weltmarktführer im Bereich der Virtualisierung ist.

2. Hardwarevirtualisierung

Das nachfolgende Kapitel beinhaltet die theoretischen Grundlagen zum Verständnis von Virtualisierung. Es erklärt den Ablauf und die Funktionen der Vorgänge, um die Kernbestandteile eines Computers wie Prozessor, Speicher und Netzwerkumgebung zu abstrahieren.

Wesentliche Aufgabe einer Virtualisierungslösung ist es, eine Reihe von einer oder mehreren Betriebssystemumgebungen unabhängig auf einem physischen Hostsystem zu betrieben. Kernpunkt ist dabei die Aufteilung und Steuerung der Hardwareressourcen für diese einzelnen virtuellen Maschinen. Das System regelt für mehrere Betriebssysteminstanzen den logischen Zugriff auf die Kernkomponenten eines Computers. So wird es schließlich auch möglich unterschiedliche Betriebssysteme gleichzeitig auf einem Hostsystem zu betreiben und damit eine maximale Effizienz an Auslastung und einen hohen Wirkungsgrad zu erzielen. Virtualisierungstechniken bei Prozessoren, Speicher und Netzwerk spielen dabei eine wesentliche Rolle.

2.1 Prozessorvirtualisierung

Generell werden sowohl in konventionellen Installationen als auch in virtuellen Maschinen die Hardwarezugriffe durch das Betriebssystem gesteuert. Somit liegt ein Betriebssystem gewissermaßen als logische Schicht zwischen der Hardware und der Applikation und regelt deren Zugriffe durch vordefinierte Schnittstellen und Protokolle. In dieser festen Hierarchie hat das Betriebssystem also als einziges Programm vollständigen Zugriff auf die Hardware eines Computersystems.

Bei der Befehlsausführung eines x86-Prozessors spricht man vom sog. „Ring­Modell". Es ist ein 4- stufiges (Ebene 0-3) Privilegien und Zugriffssystem, welches direkt durch die Hardware abgebildet wird. Bei Anwendungen, die auf Schicht 3 ausgeführt werden spricht man vom sog. „User-Mode" (Benutzermodus). Das Betriebssystem läuft auf Schicht 0 im sog. „Kernel­Modus". Die restlichen Schichten 1 und 2 wurden nur sehr selten benutzt, bspw. von OS/2.[3] Die folgende Abbildung verdeutlicht dieses Modell.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: klassisches Ringmodell

Abbildung in dieser Leseprobe nicht enthalten

Quelle: Thorns, Fabian (2008): Das Virtualisierungs-Buch, 2. überarbeitete Aufl. , Böblingen C&L Computer und Literaturverlag 2008 S. 23

Das eigentliche Kernstück einer Virtualisierungslösung bildet immer der sog. „Hypervisor". Er funktioniert als Schnittstelle zwischen den eigentlichen Hardwareressourcen des Hostsystems und der unterschiedlichen virtualisierten Betriebssysteme. Anforderungen an die Hardware eines Hostsystems werden über den Hypervisor geregelt, kontrolliert und gesteuert. Somit verfügt dieser über die kompletten Ressourcen des Hostsystems und kann diese Ressourcen wiederrum den Betriebssystemen nach bestimmbaren Regeln bereitstellen. Rechen- und Steueroperationen, welche an den Prozessorkern gesendet werden, werden vom Hypervisor abgefangen und kontrolliert weitergeleitet. D.h. es liegt eine Isolation zwischen dem Host und den virtuellen Betriebssysteminstanzen (Gastsysteme) vor. Die Gastbetriebssysteme (Virtual Machines) nehmen nun nicht alle Hardwareressourcen in Anspruch, sondern nur diejenigen, welche sie vom Virtualisierungssystem zugeweisen bekommen.

Programme welche auf Schicht 3, also im sog. User-Mode (Benutzermodus) laufen initiieren spezielle Systemaufrufe (Syscalls), um den Prozessor im Kernel­Modus dazu aufzufordern eine besondere Operation auszuführen. Im Prozessor wird dann eine Unterbrechung (Interrupt) ausgelöst und die Prozessorzeit dieser einen Operation zur Verfügung gestellt. An dieser Stelle sorgt das Betriebssystem dafür, dass das Programm z.B. bei einer Speicherbelegung nicht ohne Weiteres den kompletten Hauptspeicher für sich beanspruchen. Versucht ein Programm bspw. dennoch weiteren Speicher für sich zu beanspruchen, werden an dieser Stelle vom Betriebssystem sog. „Exceptions" (Ausnahmefehler) erzeugt.

Bei der Virtualisierung geht es darum die einzelnen unterschiedlichen Befehle, sowohl die, welche im Kernel-Modus als auch die im User-Mode, also auf Schicht 3 herauszufinden und diese wiederum jeweils den einzelnen virtuellen Maschinen (VMs) wieder genau zuzuweisen bzw. entsprechend zu antworten, damit es nicht zu Komplikationen zwischen den VMs kommt.

Da die Betriebssysteme der virtuellen Maschinen nicht alle auf Ring 0 im Prozessor eines Hostsystems laufen dürfen, da Sie sich sonst gegenseitig behindern würden, liegt an dieser Stelle nun der „Hypervisor" einer Virtualisierungslösung. Eine Ausführung des Betriebssystems auf höherer Ebene führt nun zwangsweise zu einer Schutzverletzung beim Zugriff auf die Hardware. Die daraufhin erzeugte Exception wird als Interrupt an den Hypervisor von Ring 1 an Ring 0 weitergegeben und dort zur Ausführung gebracht. Im Prozessor wird dann durch den Hypervisor ein „Handle" erzeugt. Dieser sog. Identifikator für die, von der virtuellen Maschine angefragte, Operation ordnet das Ergebnis dieser wiederum der VM zu. Diese Umsetzung ist an dieser Stelle zwar sehr schnell, dennoch im Vergleich zu einer direkten Ausführung ohne Virtualisierung mit gewissen Geschwindigkeitseinbußen verbunden. Das neue Konzept ist in folgender Abbildung dargestellt. Ein Beispiel dafür ist VMwares ESX.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2: Ringmodell bei der Virtualisierung

Quelle: eigene Darstellung

Dies allein reicht aber noch nicht ganz für eine vollständige Virtualisierung. Lese- und Schreiboperationen, welche auf Ring 3 stattfinden erzeugen nicht ausschließlich immer Exceptions. Auf der anderen Seite verändern allerdings auch manche Befehle ihren Rückgabewert, wenn Sie nur auf Ring 0 ausgeführt werden. Diese beiden Arten von Befehlen müssen zuerst erkannt und dann virtualisiert werden.

Das Auslesen und Erkennen und virtualisierungsrelevanten Operationen bei einer x86 Prozessorarchitektur bezeichnet man in der Literatur als „binary Translation"[4]. Dieser Prozess geschieht zur Laufzeit eines Programms. D.h. die Befehle werden nicht unkontrolliert an das Rechenwerk und Steuerwerk eines Prozessors weitergegeben, sondern zunächst nur zwischengespeichert (gecacht).

Dieser Vorgang ist äußerst komplex und erzeugt dadurch einen gewissen Overhead. Die Fähigkeit, wann eine bestimmte für den Hypervisor relevante Operation innerhalb eines Prozessors abläuft, regelt eine neue, zusätzliche Befehlssatz-Technologie. Neben den bekannten Prozessorbefehlssätzen wie etwa MMX, SSE2, SSE3, EM64 usw. heißt die Virtualisierungskomponente bei AMD (SVM - Secure Virtual Machine) oder einfach AMD - V (Virtualization) und wurde unter dem Codename „Pacifica"[5] in aktuelle Athlon64, X2, Phenom und weitere Prozessoren eingebaut. Intels Prozessorerweiterung in den neuen Xeon, Core2Dou und i-Prozessoren nennt sich dagegen IVT für „Intel Virtualization Technology" und wurden unter dem Codenamen „Vanderpool"[6] veröffentlicht.

Diese beiden Funktionen sind von der Wirkungsweise identisch, jedoch unterschiedlich implementiert und somit auch nicht kompatibel.

IVT reduziert bspw. den Overhead, den diese Operationen verursachen und steuert konkret die virtualisierten Befehle autonom. Innerhalb des Steuerwerks werden im sog. TPR (Task Priotity Register) die Prioritäten der Interupts gespeichert. IVT kopiert diese TPR in ein zusätzlich, eigenes Register und kann an dieser Stelle, so dass nun nicht mehr der Hypervisor oder die VMM angesprochen werden muss. Hierdurch kann eine deutliche Steigerung der Performance erfolgen.[7]

[...]


[1] Thorns, Fabian (2008): Das Virtualisierungs-Buch, 2. überarbeitete Aufl., Böblingen C&L Computer und Literaturverlag 2008 S. 17

[2] vgl. Popek & Goldberg: Formal requirements for virtualizable third generation architecturs http://portal.acm.org/citation.cfm?id=361011.361073

[3] vgl. Thorns, Fabian (2008): Das Virtualisierungs-Buch, 2. überarbeitete Aufl., Böblingen C&L Computer und Literaturverlag 2008 S. 23

[4] K.Adams, O.Agesen A Comparison of Software and Hardware Techniques for x86 Virtualization http://vmware.com/pdf/asplos235_adams.pdf

[5] AMD: AMD64 Virtualization Codenamed „Pacifica" Technology Secure Virtual Machine Archivtecture Reference Manual: http://www.amd.com/us- en/assets/content_type/white_paper_and_tech_docs/33047.pdf

[6] Neiger, Santoni, Leung, Rodgers, Uhling: Intel Virtualization Technology: Hardware Support for Efficient Prozessor Virtualization: http://download.intel.com/technology/itj/2006/vl0i3/vl0-i3-art01.pdf

[7] Intel: A Superior Hardware for Server Virtualization: A Technology Brief http://download.intel.com/business/resources/briefs/xeon5500/xeon_5500_virtualization.pdf

Details

Seiten
23
Jahr
2010
ISBN (eBook)
9783656200925
ISBN (Buch)
9783656205494
Dateigröße
4.9 MB
Sprache
Deutsch
Katalognummer
v194785
Institution / Hochschule
FOM Hochschule für Oekonomie & Management gemeinnützige GmbH, Köln
Note
1,3
Schlagworte
Virtualisierung VMware Cloud Computing Servervirtualisierung Hardwarevirtualisierung Softwarevirtualisierung Netzwerkvirtualisierung

Autor

Teilen

Zurück

Titel: Virtualisierung im IT- Bereich