Konfiguration und Installation eines Datenbank Cluster-Systems in virtuellen Systemumgebungen


Diplomarbeit, 2010

90 Seiten, Note: 1,0


Leseprobe


Inhaltsverzeichnis

Abbildungsverzeichnis

Tabellenverzeichnis

Quelltextverzeichnis

Abkürzungsverzeichnis

Glossar

1. Einleitung
1.1. Motivation und Problemstellung
1.2. Zielsetzung und Aufbau der Arbeit

2. Technologien und Konzepte in virtuellen Umgebungen
2.1. Virtualisierung
2.1.1. Technologischer Hintergrund
2.1.2. Virtualisierte Zeitgebung: Das Timekeeping Problem
2.1.3. Virtualisierungslösungen
2.2. Speichertechnologien
2.2.1. Direct Attached Storage (DAS)
2.2.2. Speichernetze
2.2.3. Speicher in virtuellen Umgebungen
2.3. Oracle Real Application Clusters (RAC)
2.3.1. Architektur
2.3.2. Automatic Storage Management
2.3.3. Oracle RAC in virtuellen Umgebungen
2.4. ITIL (IT Infrastructure Library)

3. Strategien zum Aufbau virtueller (Test) Umgebungen
3.1. Virtualisierung in Unternehmen
3.2. Fallbeispiel: Virtualisierung bei der Telekom Deutschland GmbH
3.2.1. Umfang der Virtualisierung
3.2.2. Probleme in der Praxis
3.3. Anforderungen an eine virtualisierte Testumgebung
3.4. Doppelte Virtualisierung: Probleme und Konsequenzen

4. Oracle RAC in einer doppelt virtualisierten Testumgebung
4.1. Konzept und Vorgaben
4.2. Vorstellung der Testumgebung
4.2.1. Testaufbau und Erläuterung der Systemebenen .
4.2.2. Hardwareausstattung und Softwareversionen . .
4.2.3. Analysemethoden und werkzeuge
4.3. Auswahl der Speichersysteme
4.4. Installation
4.4.1. VMware vSphere 4 und VMware Server
4.4.2. Oracle VM
4.4.3. Oracle RAC
4.5. Analyse der Umgebungseigenschaften
4.5.1. Leistungsfähigkeit
4.5.2. Timekeeping
4.5.3. Testszenario: Oracle RAC

5. Auswertung und Interpretation der Ergebnisse

6. Fazit und Ausblick

Quellen und Literatur

A. Anhang

Abbildungsverzeichnis

1.1. Grobmodell doppelter Virtualisierung

2.1. Berechtigungsmodell der x86 Architektur

2.2. Berechtigungsmodell der x86 Architektur bei Verwendung von Virtualisierung

2.3. Aufbau VMware vSphere

2.4. Aufbau Oracle VM

2.5. Speichervirtualisierung in einem Storage Area Network (SAN)

2.6. Speichervirtualisierung eines Virtualisierungsservers

2.7. Aufbau einer Oracle RAC Umgebung mit zwei Cluster Knoten

3.1. Telekom Deutschland GmbH: Virtuelles Oracle RAC

3.2. Ausnahmebehandlung bei doppelter Virtualisierung

4.1. Ebenen Modell der Testumgebung

4.2. Oracle RAC Netzwerkzugriff über Adressübersetzung (NAT)

4.3. Geschwindigkeitsvergleich von iSCSI, NFS und DAS auf allen Systemebenen

4.4. Ergebnisse der Leistungstests auf allen Systemebenen

4.5. Leistungstest Datenbank Cluster: Simulation eines Onlineshops

4.6. Analyse des Timekeeping Problem auf allen Systemebenen

5.1. Timekeeping Tests während hoher Systemlast

Tabellenverzeichnis

2.1. Vergleich von Virtualisierungslösungen

2.2. 5 Kernbücher von ITIL

3.1. Vorteile bei der Einführung von Virtualisierung

3.2. Nachteile bei der Einführung von Virtualisierung

4.1. Hardware Ausstattung der in der Testumgebung verwendeten Computer

4.2. Verwendete Softwareversionen innerhalb der Testumgebung

4.3. Test und Benchmarkprogramme zur Leistungs und Funktionsüberprüfung der Testumgebung

4.4. Netzwerkkonfiguration der Cluster Knoten innerhalb der Testumgebung

Quelltextverzeichnis

4.1. Shell Skript zur Analyse des Timekeeping Problems

4.2. Konfigurationsdatei des NTP Dienstes für virtuelle Umgebungen

4.3. Angepasste Bootparameter: Auszug aus der Datei grub.conf

4.4. Auszug der Konfigurationsdatei eines virtuellen RAC Knoten

4.5. Konfigurationsdatei tnsnames.ora des Oracle Instant Clients

4.6. Erfolgreicher Failover Test innerhalb der Testumgebung

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

Glossar

Abbildung in dieser Leseprobe nicht enthalten

1. Einleitung

1.1. Motivation und Problemstellung

Mit der Verschmelzung von Geschäftsprozessen und den Funktionen moderner Computer, begann vor Jahren die Suche nach größtmöglicher Effizienz bei dem Betrieb der Informationstechnologie (IT). So sagten 87% der Nordamerikaner und 80% der Europäer bei einer Befragung zu Möglichkeiten der IT Effizienzsteigerung aus, ihr Unternehmen, sowie die vorhandenen Geschäftsprozesse ohne Technologie nicht führen zu können9. Die hohe Abhängigkeit von der IT ist risikoreich, da die Verfügbarkeit der IT und die zuverlässige Speicherung von Unternehmensdaten für den Geschäftserfolg unabdingbar sind. Im Regelfall werden für die Speicherung von Daten Datenbank Cluster eingesetzt. Ein Cluster ist eine Gruppe unabhängiger Computer, die als Einzelsystem agieren und dabei eine höhere Verfügbarkeit sowie Skalierung erlauben als ein System, welches nur aus einem einzelnen Computer besteht11.

Neben dem hohen Risiko sind jedoch die Faktoren für einen größeren Geschäftserfolg bekannt: Werden die Effizienz der IT und die Produktivität der Mitarbeiter maximiert, können die Ge schäftsprozesse schnell durchlaufen und der Geschäftserfolg gesteigert werden. Mit ITIL gibt es für die Verbesserung von Geschäftsprozessen ein in der Praxis erprobtes Rahmenwerk, wel ches in fünf Büchern den Weg zu einem effizienten IT Betrieb aufzeigt. Um die Effizienz der IT in einem Unternehmen zu steigern, gibt es mehrere Ansätze. Zwei Maßnahmen sind die ef fiziente Nutzung vorhandener Ressourcen und die Reduzierung der Kosten. An diesen Punkten setzt Virtualisierung an. Im IT Bereich bedeutet Virtualisierung die Abstraktion von physischer Hardware hin zu einer Virtuelle Maschine (VM). Die tatsächlich vorhandene Hardware wird da bei in einzelnen, abstrahierten Anteilen zu virtuellen Maschinen zusammengefasst, die sich wie eigenständige Computer verhalten32. Werden mehrere physische Server auf einem einzelnen leistungsstarken Server konsolidiert, werden vorhandene Ressourcen besser genutzt und Energie, Platz und damit Kosten eingespart.

Neben dem effizienten Betrieb von Produktionsanlagen, eignet sich Virtualisierung durch die schnelle Bereitstellung virtueller Server für Testanlagen. Testingenieure und Entwickler benöti gen für Systemabnahmen und die Entwicklung von Anwendungen Testanlagen, die ohne Virtuali sierung zusätzliche Hardwarekosten verursachen. Bei dem Bedarf an virtuellen Cluster Lösungen müssen neben der benötigten Cluster Knoten auch ein gemeinsamer Speicher und ein den An forderungen entsprechendes Netzwerk zur Verfügung stehen. Der Wunsch, Datenbanksysteme virtualisiert zu betreiben, basiert auf den Vorteilen des effizienteren Einsatzes, der Kostener sparnis und der schnellen Bereitstellung. Weitere Sonderfunktionen heutiger Virtualisierungslö sungen wie die freie Platzierung einer virtuellen Maschine in einem Serververbund, ermöglichen unterbrechungsfreien Betrieb auch bei Hardwareausfall oder Wartungsarbeiten. Ein DatenbankCluster ermöglicht eine hochverfügbare und skalierbare Speicherung von Daten auf mehreren Cluster Knoten. Werden die Funktionen der Virtualisierungslösungen mit einem DatenbankCluster kombiniert, kann ein hochverfügbares, gegen Hardwareausfälle abgesichertes System bereitgestellt werden. Durch die virtuelle Bereitstellung der Server, des gemeinsamen Speichers und der Netzwerkverbindungen können auch Unternehmen mit wenigen Servern DatenbankCluster Anwendungen nutzen, testen und entwickeln.

Im Rahmen einer vorangegangenen Bachelor Arbeit mit dem Thema “Untersuchung von Strate gien und Konfigurationen für den Einsatz von Datenbank Cluster Technologien in virtuellen Sys temumgebungen“, beschäftigte sich der Autor Thomas Lange mit dem Betrieb von Datenbank Clustern in virtuellen Umgebungen12. Ziel der Arbeit war die Entwicklung einer virtuellen Testumgebung, die den Betrieb eines Datenbank Clusters der Firma Oracle erlaubt. Die einge setzte Virtualisierungslösung war VMware Server, da die Verbreitung von VMware Produkten in Unternehmen durch die Rolle als Marktführer sehr groß ist und somit die Wiederverwend barkeit sichergestellt werden kann. Die hohe Verbreitung von VMware Produkten zeigte sich auch in einer Befragung zum Thema “Oracle Lizenzierung bei Virtualisierung und im Cloud Computing“. Dort gaben 79,6% der Befragten an, VMware Produkte zur Virtualisierung zu ver wenden8. Unter VMware Server wurde Oracle Real Application Clusters (Oracle RAC) mit zwei virtuellen Knoten und einem gemeinsamen Speicher installiert und untersucht. Dabei kam der Autor der Bachelor Arbeit durch die Ergebnisse seiner Experimente zu dem Schluss, dass der Betrieb eines virtualisierten Oracle RAC möglich, in der Praxis jedoch mit Einschränkun gen verbunden ist. Die in virtuellen Umgebungen problematische Zeithaltung (das so genannte Timekeeping Problem) konnte in umfassenden Messreihen nachgewiesen und ausgewertet wer den. Stark abweichende Systemzeiten verhinderten den zuverlässige Betrieb des Clusters durch unvorhersehbare Neustarts und Installationsabbrüche.

Während der Messreihen konnten Zeitabweichungen im dreistelligen Sekundenbereich gemessen werden. Nach ausführlicher Fehleranalyse konnte Oracle RAC unter Anwendung diverser Opti mierungsmaßnahmen installiert werden. Der Autor empfiehlt, aufgrund der nicht vorhersehbaren Auswirkungen der aufgetretenen Probleme, den Betrieb virtualisierter Datenbank Cluster erst nach umfassenden Tests der eingesetzten Systemumgebung in einem nicht produktiv eingesetz ten Umfeld. Die Migration der Testumgebung in das Hochschulumfeld der Hochschule Wismar war aufgrund der Kompatibilität der Virtualisierungslösungen untereinander problemlos möglich12. Das Timekeeping Problem ist sowohl unter VMware Server als auch in dem für Rechenzen tren verwendeten VMware vSphere 4 (ehemals VMware ESX) bekannt40.

Oracle selbst bietet mit Oracle VM eine für Oracle RAC zertifizierte Virtualisierungslösung an. Durch die Zertifizierung garantiert Oracle den zuverlässigen Betrieb eines Datenbank Clusters innerhalb einer virtuellen Umgebung20. Auf den Ergebnissen der Bachelor Arbeit aufbauend, soll in der vorliegenden Arbeit der Aufbau einer speziellen Testumgebung mit Oracle VM und Oracle RAC getestet und in Hinblick auf das Timekeeping Problem analysiert werden. Um weiterhin die Migration der Testumgebung in VMware Umgebungen zu ermöglichen, soll Oracle VM selbst in einer virtuellen Maschine installiert werden. Diese Art von Virtualisierung nennt man doppelte Virtualisierung oder auch nested virtualization (engl.)27.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1.1.: Grobmodell doppelter Virtualisierung

Durch die Installation eines Virtualisierungsprodukts innerhalb einer virtuellen Maschine wird doppelte Virtualisierung möglich. Innerhalb dieser Umgebung hat der Anwender die vollständige Kontrolle über die virtuellen Maschinen.

In großen virtuellen Umgebungen, wie beispielsweise die der Telekom Deutschland GmbH (siehe Kapitel 3.2), sind Administrationsberechtigungen häufig an einzelne Abteilungen vergeben, so dass die Anwender der virtuellen Maschinen Sonderkonfigurationen wie gemeinsamen Speicher oder zusätzliche Netzwerkverbindungen nicht eigenmächtig konfigurieren können. Auch die Konfiguration der bereitgestellten virtuellen Hardware kann ausschließlich in Absprache mit der verantwortlichen Administrationsabteilung vorgenommen werden.

Abbildung 1.1. zeigt das Grobmodell einer doppelt virtualisierten Umgebung. Eine virtuelle Maschine (blau) wird durch den Systemadministrator bereitgestellt und mit dem Virtualisie rungsprodukt Oracle VM versehen. Innerhalb der doppelt virtualisierten Umgebung kann der Anwender Hardware Einstellungen an den selbst erstellten virtuellen Maschinen vornehmen (orange), ohne die Administrationsberechtigungen der Unternehmens Plattform zu benötigen (blau / grau).

Durch die Möglichkeit, innerhalb einer einzelnen virtuellen Maschine doppelt virtualisierte Maschinen zu erstellen, erhält der Anwender Administrationsrechte über die selbst erstellten virtuellen Maschinen (orange). Somit lassen sich auch aufwändige Konfigurationen wie ein DatenbankCluster realisieren, da der gemeinsame Speicher, die zusätzliche Netzwerkverbindung oder besondere Hardware Konfigurationen innerhalb von Oracle VM (blau/orange) konfiguriert werden können. Doppelte Virtualisierung macht den Anwender aus technischer Sicht unabhängig von den Administratoren der Unternehmenslösung.

Die Besonderheiten, die Probleme und die Leistungsfähigkeit einer solchen Umgebung sollen in dieser Arbeit untersucht und ausgewertet werden, wobei ein besonderes Augenmerk auf den Einsatz eines passenden Speichersystems gelegt werden soll. Dazu sollen alle gängigen und ver fügbaren Methoden zur Bereitstellung von Speicher untersucht und in Bezug zu der besonde ren Umgebung gesetzt werden. Durch den speziellen Aufbau der Testumgebung muss neben dem Timekeeping Problem auch die Leistungsfähigkeit des Datenbank Clusters ermittelt wer den. Testumgebungen benötigen für realitätsnahe Testszenarien eine Mindestleistung, so dass der Leistungsverlust durch die doppelte Virtualisierung beziffert werden muss. Dazu wird die Leistung aller relevanten Komponenten gemessen und ausgewertet. Die Funktionsfähigkeit des Datenbank Clusters soll mit einem geeigneten Testfalls überprüft und eine abschließende Kon figurationsempfehlung erstellt werden.

Neben der reinen Leistungsfähigkeit spielen auch Punkte wie Umsetzbarkeit und Integration einer doppelt virtualisierten Testumgebung in den Geschäftsbetrieb eine Rolle. So bedeutet doppelte Virtualisierung neben technischer Unabhängigkeit auch organisatorische Komplexität, da durch eigenständige Konfigurationen undokumentierte Umgebungen entstehen können.

1.2. Zielsetzung und Aufbau der Arbeit

Die vorliegende Arbeit baut auf den Ergebnissen der Bachelor Arbeit von Thomas Lange auf (12 ) und soll zeigen, ob die Probleme der Testumgebung aus der zugrunde liegenden Arbeit auch in der speziellen Umgebung unter Verwendung einer doppelten Virtualisierung auftreten. Das Ergebnis dieser Arbeit soll zum einen eine Konfigurationsempfehlung für eine solche Testumgebung geben und zum anderen einen Überblick über den Einsatz von Virtualisierungslösungen in Unternehmen liefern.

Dazu werden in Kapitel 2 die notwendigen Grundlagen für Datenbank Cluster, Virtualisierungstechnologien und Speichersysteme erläutert und ausgewählte Lösungen vorgestellt. Um die Maßnahmen und Voraussetzungen für eine erfolgreiche Einführung von Virtualisierung in Unternehmen zu verstehen, werden grundlegende Aspekte des Prozessmanagements erläutert.

In Kapitel 3 werden Aspekte für den Einsatz von Virtualisierungslösungen in Unternehmen genannt. Anhand eines Fallbeispiels einer Abteilung der Telekom Deutschland GmbH soll gezeigt werden, wie eine Virtualisierungsumgebung unter realen Bedingungen betrieben werden kann. Weiterhin sollen Anforderungen an eine virtualisierte Testumgebung formuliert und das Konzept der doppelten Virtualisierung kritisch betrachtet werden.

Kaptiel 4 befasst sich mit dem Aufbau einer Testumgebung und der Installation von Oracle RAC innerhalb von Oracle VM, welches selbst eine virtuelle Maschine innerhalb von VMware ESXi ist. Das Produkt VMware ESXi entspricht im Wesentlichen dem leistungsstärksten Produkt der Fir ma VMware (VMware vSphere 4) und somit der Virtualisierungslösung vieler Unternehmen8. Um das in der Bachelor Arbeit aufgetretene Problem der Zeithaltung nachzustellen, werden die zeitbezogenen Experimente auch unter Verwendung der Software VMware Server durchgeführt. Neben der Auswertung des Zeithalteproblems soll auch die Funktionsfähigkeit des Datenbank Clusters anhand eines praktischen Testfalls untersucht werden. Die Leistungsuntersuchung der aufgebauten Umgebung schließt das vierte Kapitel ab und umfasst neben der Auswertung der doppelt virtualisierten Umgebung auch die der Bachelor Arbeit.

Die kritische Betrachtung der im vorherigen Kapitel erhobenen Messdaten und Ergebnisse findet im fünften Kapitel statt. Die Interpretation der Ergebnisse soll eine Empfehlung für den Aufbau und die Konfiguration einer solchen Umgebung geben. Zum Abschluss soll der Vergleich zu den Ergebnissen der Bachelor Arbeit angestellt werden.

Das Gesamtfazit über die Arbeit und die gewonnenen Erkenntnisse wird in Kapitel 6 gezogen. Nicht abgedeckte Untersuchungsfelder sowie offene und interessante Fragen werden aufgezeigt und zur späteren Erforschung empfohlen.

2. Technologien und Konzepte in virtuellen Umgebungen

2.1. Virtualisierung

Virtualisierung bezeichnet die Abstraktion der physischen Hardware von dem Betriebssystem durch eine zusätzliche Virtualisierungsschicht zwischen den beiden ursprünglichen Schichten44. Das Ziel ist, wenig ausgelastete Server auf leistungsstarken Virtualisierungsservern zusammenzufassen und vorhandenen Ressourcen effizienter zu nutzen27. Durch Virtualisierung wird die Leistung eines Servers nicht erhöht, da die Summe der Leistung aller virtuellen Maschinen niemals größer ist als die Leistung des physischen Computers selbst. Neben einer effizienteren Ressourcennutzung kann durch Zusatzfunktionen eine erhöhte Verfügbarkeit, eine hohe Skalierbarkeit und ein optimierter Betrieb erreicht werden7.

Bereits 1974 formulierten Gerald J. Popek und Robert P. Goldberg Anforderungen an eine virtualisierbare Architektur. Eine sich zu einer realen Umgebung identisch verhaltende virtuelle Umgebung soll durch den Virtual Machine Monitor (VMM) bereitgestellt werden. Damit ist gemeint, dass sich ein Programm innerhalb einer virtuellen Umgebung genau so verhalten muss wie in einer realen Umgebung. Eine weitere Anforderung ist die absolute Isolation der virtuellen Maschinen (auch Gäste genannt) und die ausschließlichen Zuweisung von Ressourcen über den Virtual Machine Monitor27.

Laut IDC Europa haben Unternehmen 2007 weiltweit 70 Milliarden Euro für ungenutzte Serverkapazitäten verwendet. Der Energieverbrauch technischer Anlagen rückt immer mehr in den Vordergrund, da bei steigenden Energiekosten der Serverbetrieb durch höhere Strom und Kühlkosten teurer wird29.

Die eingesetzten Virtualisierungstechnologien werden durch die vorangegangene Bachelor Arbeit vorgegeben. Als Basis der Testumgebung dient ein Virtualisierungsprodukt der Firma VMware. Doppelte Virtualisierung wird durch den zusätzlichen Einsatz von Oracle VM möglich. Desktop virtualisierung, Anwendungsvirtualisierung und virtuelle Netzwerke (VLANs) stehen nicht im Fokus. Diese Arbeit untersucht und beschreibt ausschließlich Technologien des Bereichs Server virtualisierung, die einen physischen Computer in mehrere virtuelle Maschinen aufteilen.

2.1.1. Technologischer Hintergrund

Die verfügbaren Virtualisierungsverfahren der x86 Architektur lassen sich in drei Kategorien einordnen. Da die vorliegende Arbeit an die Ergebnisse der Bachelor Arbeit von Thomas Lange anknüpft, sind die in dieser Arbeit verwendeten Virtualisierungslösungen aus der ersten Kate gorie.

1. Klassische Virtualisierung
a) Vollständige Virtualisierung
b) Paravirtualisierung

2. Emulation

3. Partitionierungsverfahren

Die klassische Virtualisierung teilt vorhandene Hardware in mehrere virtuelle Maschinen auf, in denen vollständig isoliert eigene Betriebssysteme laufen. Dabei wird zwischen vollständiger Virtualisierung, welche durch Hardware unterstützt werden kann, und Paravirtualisierung un terschieden32. Sowohl VMware vSphere als auch Oracle VM unterstützen beide Varianten der klassischen Virtualisierung2. Emulatoren bilden ganze Computer in Software nach und sind aus Sicht des eigentlichen Betriebssystems, auch Host Betriebssystem oder Host OS genannt, ein einfaches Anwendungsprogramm41. Partitionierungsverfahren, auch Ressourcen Contai ner genannt, verwenden einen gemeinsamen Betriebssystemkern und bilden darum voneinander isolierte virtuelle Umgebungen, die Prozesse, Benutzer und Dateisysteme getrennt voneinander verwalten32.

Technische Umsetzung klassischer Virtualisierung

Abbildung 2.1. zeigt das in der x86 Architektur verwendete ringförmige Privilegiensystem, welches vier Berechtigungsstufen für den Ressourcenzugriff aufweist.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.1.: Berechtigungsmodell der x86 Architektur

Nur das Betriebssystem hat vollen Zugriff auf den gesamten Befehlssatz des Prozessors. Bei der 64 Bit Architektur wurden die Ringe 2 und 3 weggelassen32

In Ring 0, dem so genannten Kernel Mode, stehen der gesamte Befehlssatz des Prozessors und der Zugriff auf die Hardware zur Verfügung. Daher wird das Betriebssystem in Ring 0 be trieben, während Anwendungsprogramme in Ring 3, dem so genannten User Mode laufen. Die Ringe 1 und 2 werden bis auf die Ausnahme des IBM Betriebssystems OS/2 im Normalfall nicht verwendet und wurden bei aktuellen 64 Bit Prozessoren weggelassen. Zugriffe von Anwendungsprogrammen auf nicht zugewiesene Ressourcen werden mit einer Ausnahme (engl. Exception) vom Betriebssystem abgefangen und entsprechend weiterverarbeitet32.

Die für Virtualisierung notwendige Isolation der virtuellen Maschinen wird durch eine Zwischenschicht realisiert. In der Literatur werden für diese Zwischenschicht zwei Begriffe verwendet: Hypervisor und Virtual Machine Monitor (VMM). Auch wenn einzelne Hersteller die Begriffe synonym verwenden, wird der VMM im Regelfall bei vollständiger Virtualisierung und der Hypervisor bei Paravirtualisierung genannt2.

Bei vollständiger Virtualisierung befinden sich der VMM und das Host Betriebssystem in Ring 0, während die Gast Betriebssysteme in einem Ring mit geringerer Berechtigungsstufe laufen. Dies ist bei einem 32 Bit Prozessor der Ring 1, bei einem 64 Bit Prozessor der Ring 3 (sie he Abbildung 2.2.). Ausnahmen innerhalb der virtuellen Maschinen werden durch den VMM bearbeitet und innerhalb der Grenzen der virtuellen Maschine gehalten. Dadurch kann das Gast Betriebssystem unmodifiziert verwendet werden. Der durch die aufwändige Ausnahme behandlung auftretende Leistungsverlust kann durch die Virtualisierungsfunktionen moderner Prozessoren reduziert werden. Diese Funktionen verlagern die Gast Betriebssysteme in Ring 0, so dass der VMM entlastet wird32.

Bei der Paravirtualisierung laufen die Gast Betriebssysteme bei 32 Bit Prozessoren in Ring 1 und bei 64 Bit Prozessoren in Ring 3. In Ring 0 läuft der so genannte Hypervisor, der als Minimalbetriebssystem den Zugriff der virtuellen Maschinen auf die physischen Ressourcen realisiert. Da die Gast Betriebssysteme in Ring 1 und Ring 3 keinen Zugriff auf die Hardware haben, wird der Zugriff durch so genannte Hypercalls realisiert, die durch eine Anpassung des Gast Betriebssystems implementiert werden (siehe Abbildung 2.2.). Für die nötige Anpassung sind nur Betriebssysteme mit veränderbarem Quellcode geeignet2.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.2.: Berechtigungsmodell der x86 Architektur bei Verwendung von Vir tualisierung

Die Ausnahmebehandlung wird durch den VMM bzw. den Hypervisor übernommen. Gast Betriebssysteme laufen in einem weniger privilegierten Ring, während alle Anwendungen in Ring 3 laufen2.

Eine virtuelle Maschine hat als Basiselemente die so genannten Core Four, die aus dem Prozes sor, dem Arbeitsspeicher, Massenspeicher und einem Netzwerkadapter bestehen32. Weitere Peripheriegeräte wie Grafikkarten, CD ROM Laufwerke oder USB Anschlüsse werden, wie auch die übrige Hardware, emuliert und in Software nachgebildet44. Die geringe Leistung emulier ter Datengeräte, wie Netzwerkkarten oder Festplatten, kann durch spezielle paravirtualisierte Treiber ausgeglichen werden, da diese einen direkten Hardwarezugriff ermöglichen41.

2.1.2. Virtualisierte Zeitgebung: Das Timekeeping Problem

Das Timekeeping Problem basiert auf der Grundlage der Zeitmessung in einem Computer. Dabei wird zwischen der Hardwareuhr und der Softwareuhr unterschieden. Die Hardwareuhr besteht aus einem Quarz Baustein als Taktgeber und einem Zähler16. Durch das Zählen der Takte kann die verstrichene Zeit und damit die Uhrzeit errechnet werden. Die Softwareuhr kann die Uhrzeit durch zwei unterschiedliche Methoden ermitteln. Ein Tick ist der vom Taktgeber ausgegebene Takt, der vom Betriebssystem ausgewertet werden kann. Diese Methode nennt sich Tickcoun ting und ist in virtuellen Umgebungen problematisch, da das zuverlässige Zählen bei wechselnden Systemauslastungen mehrerer virtueller Maschinen nicht gewährleistet werden kann. Eine an dere Methode ist das so genannte Tickless Timekeeping, bei dem ein Hardwarezähler durch das Betriebssystem ausgelesen wird. Durch die geringere Prozessorlast und Unabhängigkeit von der Systemauslastung kann durch diese Methode eine höhere Genauigkeit erreicht werden. Die Hard wareuhr einer virtuellen Maschine kann aufgrund der Aufteilung der Ressourcen nicht exakt das Zeitverhalten des physischen Computers übernehmen40.

Bei dem Betrieb virtueller Maschinen kann es wie in der vorangegangen Bachelor Arbeit zu Pro blemen mit der Systemzeit kommen. Bei großer Zeitabweichung zwischen Cluster Knoten kann der Neustart eines Knotens veranlasst werden, da die Cluster Software die Zeitabweichung als fehlendes Lebenszeichen interpretiert10. Um ein Cluster System zuverlässig virtualisieren zu können, wird eine zuverlässige Systemzeit benötigt. Das Timekeeping Problem ist den Herstel lern von Virtualisierungslösungen bekannt. So veröffentlicht VMware regelmäßig die neuesten Erkenntnisse und Empfehlungen zur Reduzierung des Problems und unterstützt damit auch den Betrieb zeitkritischer Anwendungen40.

Um eine korrekte Systemzeit, sowohl auf physikalischen als auch in virtuellen Maschinen, ge währleisten zu können, ist es notwendig, alle Systemuhren regelmäßig mit einer Zeitquelle zu synchronisieren. Die meisten Virtualisierungslösungen bieten die Synchronisation der Systemzeit des Host Systems mit der der Gast Systeme an. Neben der regelmäßigen Synchronisation der Gäste mit dem Host, ist die Synchronisation mit einer externen Zeitquelle möglich. Es wird emp fohlen, nur eine Synchronisationsmethode zu betreiben, da sonst unvorhersehbare Abweichungen eintreffen können40.

Als Quasi Standard für Zeitsynchronisation mit einem Zeitserver steht das Network Time Pro tocol (NTP). Das Protokoll zum Austausch und zur Synchronisation von Zeitvariablen zwischen Zeitservern und Clients optimiert die Frequenz der Systemuhr und kann, dank der eingesetzten Algorithmen, eine Genauigkeit im unteren Mikrosekundenbereich erreichen16. Der Gütewert eines Zeitserver wird über einen Stratumwert angegeben10. Der Hersteller VMware empfiehlt in aktuellen Support Dokumenten die Verwendung von NTP in Verbindung mit seiner Virtua lisierungslösung40.

2.1.3. Virtualisierungslösungen

Thomas Lange hat vor dem Aufbau seiner Testumgebung die Möglichkeiten der Virtualisierung eines Clusters untersucht und die vollständige Virtualisierung auf einem einzelnen Virtualisie rungsserver mit dem Virtualisierungsprodukt VMware Server gewählt12. In dieser Arbeit soll VMware ESXi verwendet werden, da es die gleiche Basis wie das Rechenzentrumsprodukt VMware vSphere 4 hat. Für die Virtualisierung des Datenbank Clusters soll die Virtualisierungs lösung Oracle VM verwendet werden, die den virtuellen Betrieb von Oracle RAC zertifiziert unterstützt.

Die für die Arbeit verwendeten Lösungen betreiben Gastsysteme vollständig virtualisiert oder paravirtualisiert. Bei der vollständigen Virtualisierung kann ein Betriebssystem unmodifiziert verwendet werden, während bei der Paravirtualisierung das Gast Betriebssystem entsprechend angepasst werden muss18. Es muss zwischen Virtualisierern des “Hypervisor Typs 1“ und des “Hypervisor Typs 2“ unterschieden werden. “Typ 1 Hypervisoren“ werden anstelle eines Betriebssystems installiert und auch Bare Metal Virtualisierer genannt, während Hypervisoren des Typ 2 als Basis ein bereits installiertes Betriebssystem benötigen. An dieser Stelle zeigt sich die synonyme Begriffsverwendung zwischen VMM und Hypervisor in der Praxis. Tabelle 2.1. zeigt einen Überblick über die verwendeten Virtualisierungslösungen.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 2.1.: Vergleich von Virtualisierungslösungen

Im Folgenden sollen die verwendeten Virtualisierungslösungen vorgestellt und miteinander verglichen werden.

VMware

Die Produkte VMware vSphere 4 (ehemals VMware ESX) und VMware ESXi werden anstelle eines Betriebssystems installiert. Die Bare Metal Virtualisierer sind die leistungsstärksten Lö sungen im Portfolio von VMware44. Mehrere VMware vSphere Server lassen sich zu einem so genannten Ressourcen Pool zusammenschalten und somit Sonderfunktionen wie Hochver fügbarkeit und automatische Lastverteilung nutzen. Auch das Verschieben virtueller Maschinen während des laufenden Betriebs, eine so genannte Live Migration, auf einen anderen Pool Server lässt sich so realisieren14.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.3.: Aufbau VMware vSphere 4

VMware vSphere basiert auf dem VMM und dem VMkernel. Die Administration kann über die Service Console (eine privilegierte VM) erfolgen. Bei VMware ESXi fehlt die Service Console44.

Abbildung 2.3. zeigt den Aufbau von VMware vSphere. Die Basis von VMware vSphere und ESXi sind der so genannte VMkernel und der Virtual Machine Monitor. Der VMM ist auf der Virtualisierungsebene für die Virtualisierung zuständig und verwaltet über den VMkernel die physischen Ressourcen. Der VMkernel verwendet dazu angepasste Treiber36. Unter VMware vSphere ist eine privilegierte virtuelle Maschine, die Service Console, für adminstrative Aufgaben zuständig32. VMware vSphere und ESXi können ausschließlich auf zertifizierter Hardware betrieben und über ein separates Administrationsprogramm verwaltet werden44.

Das Produkt VMware Server ist ein Virtualisierer des Typs 2 und benötigt ein Betriebssystem als Basis. Aufgrund des zusätzlichen Host OS stehen weniger Ressourcen als bei einem BareMetal Virtualisierer zur Verfügung. VMware Server wurde ehemals als GSX Server vertrieben und liegt in der Version 2 (Stand 2010) für Windows und Linux kostenfrei vor.

[...]

Ende der Leseprobe aus 90 Seiten

Details

Titel
Konfiguration und Installation eines Datenbank Cluster-Systems in virtuellen Systemumgebungen
Hochschule
Hochschule Wismar
Note
1,0
Autor
Jahr
2010
Seiten
90
Katalognummer
V180475
ISBN (eBook)
9783656032700
ISBN (Buch)
9783656032823
Dateigröße
1233 KB
Sprache
Deutsch
Schlagworte
Virtualisierung, VMware, Oracle, Oracle VM, doppelte Virtualisierung, nested virtulization, NAT, Netzwerkbrücke, Timekeeping, Popek, NTP, Timekeeping-Problem
Arbeit zitieren
Markus Bräunig (Autor:in), 2010, Konfiguration und Installation eines Datenbank Cluster-Systems in virtuellen Systemumgebungen, München, GRIN Verlag, https://www.grin.com/document/180475

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Konfiguration und Installation eines Datenbank Cluster-Systems in virtuellen Systemumgebungen



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden