2011_6 Essential Bytes Virtualisierung von Datenbanken

 Home | News | Hefte | Mediadaten | Online-Artikel | Kommentare | Trends | Wir-ueber-uns | Tipps | Impressum | CeBIT 2012

 

Home
News
Trends
Hefte
Online-Artikel
Kommentare
Service-Angebote
Feedback
Abonnement
Wir-ueber-uns
Tipps
Impressum
Veranstaltungen


»manage it« als

E-Paper  11-12 2011
E-Paper  9-10 2011
E-Paper  5-6 2011
E-Paper  3-4 2011
E-Paper  1-2 2011
E-Paper  11-12 2010
E-Paper  9-10 2010

E-Paper  7-8 2010
E-Paper  5-6 2010
 



 




 

 


 




 


 


 

 

Virtualisierung von Datenbanken

Wie sich Effizienzvorteile durch die Virtualisierung von Datenbanken erzielen lassen

Zahlreiche Vorteile sprechen für die Virtualisierung von Datenbanken, unter anderem Redundanz und einfachere Wartungsmöglichkeiten. Allerdings sind für wirkliche Effizienzgewinne zahlreiche weitere Faktoren im Vorfeld eines solchen Projekts zu prüfen.

 

D

atenbanken sind heutzutage aus Unternehmen nicht mehr wegzudenken. Hiervon profitieren nicht nur die etablierten kommerziellen Datenbanksysteme wie Oracle, IBM DB2, Microsoft SQLServer, sondern auch Open-Source-Systeme wie PostgreSQL und MySQL. Mittlerweile sind alle geschäftsrelevanten Kundendaten und Geschäftsvorfälle in Datenbanken gespeichert. Ein Ausfall der zentralen Datenbanksysteme (zum Beispiel für Kundendaten, Produktionssteuerung und Versand) kann schnell zum Aus für das Unternehmen führen. Dementsprechend wird in der Regel viel Geld und Zeit in die Hochverfügbarkeit und Sicherheit der Systeme investiert. In Randbereichen sieht das leider in der Praxis häufig anders aus. Die »kleinen« Datenbanken fristen ihr Dasein nicht selten auf Servern der alten Generation, weil sich in diesem Bereich neue Hardware nur langsam amortisiert. Viele dieser Systeme lasten ihre Hosts auch nicht annähernd aus. Betrachtet man die Lastprofile beziehungsweise die Auslastung dieser Systeme, stellt man rasch fest, dass jeweils mehrere solcher Systeme auf eine geringere Anzahl von Servern zusammengefasst werden könnten.

Genau in diesem Segment bietet Virtualisierung hervorragende Synergieeffekte. Wird ein neuer, leistungsfähiger Host angeschafft, können nicht selten alle »kleinen« Datenbanken zusammen mit weiteren Systemen virtualisiert auf dem neuen Host betrieben werden. In diesem Fall kann sich die Investition schnell rechnen, weil sich hardwareseitig der Wartungsaufwand verringert und der Betrieb vereinfacht wird. Damit sinken meist die laufenden Kosten. Laut dem führenden Anbieter für Virtualisierungen VMware werden etwa 90 Prozent aller virtuellen Maschinen dazu genutzt, Windows-Server, wie beispielsweise für Exchange und Active Directory, zu virtualisieren. Allerdings gewinnt die Datenbankvirtualisierung, vor allem seit Einführung der Virtualisierungsumgebung Oracle VM immer mehr an Bedeutung. Die Virtualisierung stellt jedoch nicht per se ein Allheilmittel dar. Vielmehr muss der Einsatz zuvor für jedes Unternehmen genau analysiert werden. Eine Virtualisierung ist vor allem keine Lösung, um starkes Datenwachstum unter Kontrolle zu bringen. Ebenso sollte man keine Datenbanksysteme virtualisieren, die einen leistungsfähigen Server bereits auslasten. Vielmehr soll die Rechenleistung, die der Host zur Verfügung stellt, möglichst effizient für alle virtuellen Maschinen genutzt werden. Speziell hierfür muss das Lastverhalten über den gesamten Tag hinweg und der Ressourcenbedarf der Datenbank im Vorfeld sorgfältig ermittelt werden. Hierauf hat sich die Essential Bytes GmbH & Co. KG aus Hohberg spezialisiert und kann bei der Konzeption leistungsfähiger Datenbanklösungen hervorragende Ergebnisse vorweisen.

Virtualisierte Systeme sind leistungsfähig

Worin liegen in der Praxis die Vorteile der Virtualisierung von Datenbanken im Detail? Die am Markt befindlichen Virtualisierungssysteme, wie zum Beispiel Oracle VM mit XEN oderVMware, stellen unter Nutzung eines oder mehrerer physikalischer Server beliebig viele virtuelle Rechner zur Verfügung. Hierauf können die jeweiligen Gastsysteme installiert und betrieben werden. In einem solchen Szenario ergibt sich in der Praxis ein Verhältnis von 10:1 zwischen physikalischen und virtuellen Systemen. Das bedeutet, dass etwa zehn physikalische Datenbanken, also Server mit Prozessoren, Arbeitsspeicher, Festplatten und ähnliches, auf einem virtuellen System mit nur einem Server betrieben werden können, ohne spürbare Performanceeinbußen zu haben. Ein Großteil der sonst aufzuwendenden Kosten für Strom, Hardware und Kühlung fallen damit weg.

VMware hat die Leistungsfähigkeit ihrer Lösung beeindruckend unter Beweis gestellt und ein virtualisiertes System mit über 530.000 Transaktionen pro Minute gezeigt. Angesichts dieser enormen Zahl kann man sich leicht vorstellen, welche Leistung ein virtualisiertes System bieten kann. Nicht immer werden dabei für die virtuellen Umgebungen neue Server benötigt. Teilweise werden einfach mehrere vorhandene und bislang nicht ausgelastete Server zusammengeschaltet und darauf unter effizienterer Nutzung der verfügbaren Leistung bedeutend mehr Systeme betrieben als zuvor. Prinzipiell können den einzelnen virtuellen Maschinen in Summe dabei sogar mehr Ressourcen bereitgestellt werden, als die Server tatsächlich zur Verfügung haben. Die Leistung wird den einzelnen virtuellen Maschinen immer nur dann bereitgestellt, wenn sie diese tatsächlich benötigen. Weil das Lastprofil in den meisten Fällen auf den einzelnen virtuellen Maschinen unterschiedlich ist, kommt es hier in der Regel zu keinem Engpass. Wichtigere Systeme können eine höhere Priorisierung innerhalb des Systems erhalten und werden damit bevorzugt behandelt. Bei genauer Planung erreicht man eine hervorragende Auslastung des Gesamtsystems und damit ein ideales Verhältnis zwischen Leistung und Betriebskosten. Dies kann sogar dazu führen, dass Systeme, die bisher auf der ältesten verfügbaren und damit extrem langsamen Hardware betrieben wurden, eine wahre Leistungssteigerung erfahren.

Pflegeleicht: Virtualisierte Systeme lassen sich einfach warten

Die Hardware des Hostsystems kann dabei beliebig ausgetauscht werden, ohne dass die Gastsysteme davon etwas mitbekommen. Im Idealfall fällt sogar die Installation der Gastsysteme in der virtuellen Umgebung einfacher, weil keine »exotischen« Komponenten in den virtuellen Maschinen vorhanden sind. Die Hypervisor simulieren in der Regel absolute Standardhardware, die heutzutage jedes verfügbare Betriebssystem von Hause aus unterstützt. Noch einfacher wird es, wenn man die heutzutage verfügbaren Software-Agenten dazu benutzt, laufende Server vollautomatisch in die virtuelle Umgebung zu migrieren. Befinden sich mehrere Server als Hosts im virtuellen Cluster, kann man darüber hinaus mit den heutigen Technologien virtuelle Maschinen im laufenden Betrieb per Drag & Drop von einem auf den anderen physikalischen Server umziehen, ohne dass die Anwender oder die Anwendung beeinträchtigt werden. Insbesondere solche Features machen die Wartung und Pflege dieser Systeme so effizient. Damit erreichen Unternehmen unter Umständen bereits eine Redundanz der virtuellen Maschinen, die sie mit der klassischen, nicht virtualisierten Umgebung nur unter Vorhaltung doppelter Hardware hätten erreichen können. Oft vermeidet man durch diesen Ansatz ein physikalisches Clustering der Datenbankserver, da beispielsweise für Wartungsarbeiten an der Hardware die virtuelle Umgebung einfach auf einen anderen betriebenen Hostserver verschoben werden kann, sofern ein weiterer Host mit ausreichender Kapazität im Cluster vorhanden ist. Hierzu müssen die Hosts kompatibel zueinander sein und zum Beispiel Prozessoren mit identischen Befehlssätzen aufweisen.

Die Übersicht über die Hostsysteme sowie die virtuellen Server gewährleistet dabei in der Regel ein grafisches Managementsystem, welches die genauen Leistungsdaten anzeigt und alle verfügbaren Aktionen einfach ausführen lässt. Hierdurch ist es äußerst einfach, permanent alle Systeme im Blick zu halten, gegebenenfalls einzugreifen beziehungsweise die Gastsysteme auf andere Knoten zu verschieben um ein besseres Lastprofil zu erhalten.

Arbeitsspeicher möglichst groß dimensionieren

Lohnenswerte Szenarien für die Datenbankvirtualisierung sind transaktionsarme Umgebungen sowie CPU-lastige Datenbanken, Testsysteme, Entwicklungs- und Konsolidierungssysteme. Grundsätzlich benötigen Datenbanken eine Fülle von Ressourcen. Zur Speicherung der Daten wird Plattenplatz benötigt, der auch für zukünftiges Wachstum groß genug ausgelegt ist. Damit die Daten mit möglichst wenig Verzögerung an das Datenbanksystem geliefert werden können, sollte auf ein möglichst schnelles Plattensystem geachtet werden. Am besten für Datenbanken sind hierbei Storagesysteme geeignet, die möglichst viele Platten beinhalten und über mehrere Controller angebunden werden. Zur Verarbeitung der Daten ist das Datenbanksystem auf möglichst groß dimensionierten Arbeitsspeicher angewiesen, da hier nicht nur der Datenbankcache angelegt wird, sondern auch die Arbeitsbereiche für die einzelnen System- und Benutzersessions bereitgestellt werden müssen. Knapp bemessener Hauptspeicher oder Prozessor sowie ein langsames Plattensystem führen fast automatisch zu trägen oder verlangsamten Datenbanken. Die dritte wesentliche Ressource ist die CPU. Es ist auf leistungsstarke moderne Prozessoren zu achten, um die Verarbeitung der Daten nicht einzuschränken. Diese Faktoren sind jedoch weitgehend unabhängig davon, ob es sich um ein natives oder ein virtualisiertes System handelt. Engpässe zeigen sich jedoch erfahrungsgemäß in einer virtuellen Umgebung schneller und sind somit kritischer für den Betrieb.

Bei einer Installation in einer virtuellen Umgebung kann durch ein in Prozessorleistung oder Hauptspeicher knapp bemessenes Hostsystem durch die virtuelle Umgebung in Mitleidenschaft gezogen werden, obwohl diese das zugrundeliegende Hostsystem nicht ausreizt.Wird eine virtuelle Umgebung in ihrem Ressourcenverbrauch nicht richtig eingestellt und begrenzt, kann eine ressourcenhungrige virtuelle Box sehr massive Einschränkungen für andere Boxen auf dem gleichen Hostsystem bedeuten. Alternativ lässt sich ein solches Szenario mit Lösungen wie Distributed ResourceSchedulers (DRS) von VMware abfangen. Dabei werden ressourcenintensive virtuelle Maschinen auf die Sever verschoben, die die freien Ressourcen haben.

Bei sehr transaktionsstarken Datenbanken ist es sehr wichtig, dass die Datenbankdateien auf möglichst viele Platten des Speichersubsystems verteilt sind.Dadurch kann der physische Durchsatz auf Hardwareebene beschleunigt und gleichzeitig die Datenbankfiles durch zugrundeliegende RAID-Konfiguration des Speichersubsystemsabgesichert werden. Dies ist vor allem dann zu beachten, wenn auch die Storage selbst virtualisiert wird.

Software-Lizenzierung ist ein Knackpunkt

Doch nicht nur die Hardware-Ressourcen müssen beachtet werden, auch die Software-Lizenzierung ist bei Virtualisierungslösungen unbedingt zu prüfen. Beispielsweise müssen bei Oracle-Datenbanken bei der Softwarevirtualisierung Lizenzen für alle Prozessoren erworben werden, auf die der Virtualisierungscluster zurückgreifen kann. Dies ist unabhängig davon, wie viele Prozessoren durch die Datenbank tatsächlich genutzt werden, also der virtuellen Maschine zugeordnet sind. Dadurch können die Lizenzkosten deutlich steigen! Wenn die virtuelle Maschine der Datenbank beispielsweise vier Prozessoren nutzt, der darunter liegende VMware-Virtualisierungscluster läuft aber auf 32 Prozessoren (zum Beispielacht Server mit je vier Prozessoren), dann müssen alle 32 Prozessoren lizenziert werden. In diesem Beispiel darf damit nur noch die Oracle Enterprise Edition (EE) zum Einsatz kommen, da die Standard Edition One auf zwei, die Standard Edition (SE) auf vier Prozessorsockel (nicht vorhandene Prozessoren oder -kerne!) begrenzt ist. Bei der Oracle EE müssen allerdings immer alle Prozessorkerne berücksichtigt werden. Diese können anschließend anhand einer Tabelle mit unterschiedlichen Faktoren (je nach Hersteller und Typ) in effektive Prozessorlizenzen umgerechnet werden.

 

Beispiel 1:

2 Server mit jeweils 2 QuadcoreIntelprozessoren und auch nur 2 Prozessorsockel pro Server:

Mögliche Datenbankversionen: Oracle Standard Edition oder Oracle Enterprise Edition

Oracle SE: 4 Prozessorsockel = 4 Prozessorlizenzen

Oracle EE: (4 Prozessoren)x (je 4 Prozessorkerne) = (16 Prozessorkerne) * (Faktor 0,5) = 8 Prozessorlizenzen

 

Beispiel 2:

3 Server mit jeweils 4 QuadcoreIntelprozessoren:
Der Cluster kann damit also auf 12 Prozessoren und damit 48 Prozessorkerne zurückgreifen.

Mögliche Datenbankversionen: Ausschließlich Oracle Enterprise Edition

Oracle EE: (12 Prozessoren) x (je 4 Prozessorkerne) = (48 Prozessorkerne) * (Faktor 0,5) = 24 Prozessorlizenzen

 

Unter den Softwarevirtualisierungen bildet allerdings OracleVM eine Besonderheit. Diese kann so modifiziert werden, dass sie von Oracle als Hardware- und nicht mehr als Software-Virtualisierung anerkannt wird, damit diese Lizenzproblematik wegfällt. Somit sind dann nur die tatsächlich zugewiesenen undbenutzten Prozessoren zu lizenzieren.

Performanceausbeute ist geringer als beim nativen System

Die maximale Performanceausbeute bei virtualisierten Datenbanken liegt bei gleicher zugrundeliegender Hardware normalerweise bei circa 85 Prozent der nativen Leistung des primären Systems. Dies ist jedoch nur ein theoretischer Wert. In bisherigen Tests bei identischen Servern konnten lediglich bis zu 70 Prozent des primären, nicht virtualisierten Systems erreicht werden.

Je nach Art des Hypervisors ist auf den Support des Datenbankherstellers zu achten. Unter Umständen kann es sein, dass im Supportfall ein entsprechendes Problem auf einer nicht virtualisierten Hardware nachgestellt werden muss. Ist allerdings das Problem dem Hersteller bereits bekannt, dann wird auch in den meisten Fällen Support geleistet.

Im Gegensatz zur Sicherung von »normalen« virtuellen Maschinen muss bei der Sicherung von virtuellen Datenbankservern darauf geachtet werden, dass diese mit Snapshotmechanismen arbeiten. Durch das Speichern des aktuellen Zustands der virtuellen Maschine wird kein konsistenter Zustand einer geöffneten Datenbank gesichert. Die herstellereigenen Werkzeuge zur Onlinesicherung sind daher nicht überflüssig und immer noch das Mittel der Wahl. Im Beispiel von Oracle-Datenbanken sollte somit trotz Snapshot-Sicherung des Betriebssystemes und der Umgebung nicht darauf verzichtet werden, die Datenbank selbst durch Backup-und-Recovery-Werkzeug RMAN zu sichern.

Resümee

Die Virtualisierung von Datenbanksystemen kann diverse Vorteile bei Redundanz, Wartbarkeit bringen, wenn die Voraussetzungen hierfür geschaffen worden sind. Niedriglastsysteme, Testsysteme und ähnliche Systeme lassen sich sehr gut virtualisieren und bringen meist auch den erwarteten Effizienzgewinn. Wenn bei transaktionsstarken und ressourcenhungrigen Datenbanken die notwendigen Vorarbeiten erledigt sind und die Voraussetzungen geschaffen sind, kann die Virtualisierung auch hier zur Wertschöpfung und Effizienzsteigerung beigetragen werden.

Markus Schmidt

__________________________________________

Markus Schmidt, Geschäftsführer Essential Bytes GmbH & Co. KG

 

Beschreibung: E:\GeDok\Artikel\2011 5-6\70 Online-Artikel 2010 5-6\i Essential Bytes Walter\Essential Bytes _ Markus Schmidt k.jpg

 

 

 

Beschreibung: E:\GeDok\Artikel\2011 5-6\70 Online-Artikel 2010 5-6\i Essential Bytes Walter\Essential Bytes _ PR-Grafik _ Virtualisierung k.jpg


Folgen Sie »manage it« auf Google+




 


 


 

 

 
Copyright © 2003-2012  ap Verlag GmbH