Empfehlungen für erfolgreiche Virtualisierungen

Probleme in der Virtualisierungskette

12.06.2006 von Thomas Mach/CW.at
Die logische Aufteilung von Hardware gilt weithin als Kostensenker. Doch lässt man dabei die Weitsicht missen, können Probleme an anderer Stelle entstehen. Eine erfolgreiche und effiziente Virtualisierung kann weit mehr bringen als Ersparnisse bei Hardware und Infrastruktur. Es ließe sich damit auch die Administration vereinfachen sowie eine Entlastung der Systemverantwortlichen erreichen.

Zuallererst muss geklärt werden, was Virtualisierung tatsächlich bedeutet und wie sie funktioniert. Mit Virtualisierung ist das Entkoppeln des Betriebssystems und der Applikationen von der Hardware gemeint. Erreicht wird sie durch eine logische Aufteilung der physikalischen Hardware für mehrere virtuelle Maschinen. Am Markt finden sich aktuell zahlreiche x86-Virtualisierungstechniken, die bekanntesten kommerziellen Produkte stammen von VMware und Microsoft (Emulationstechnik). Aus der Open Source-Ecke ist vor allem das Produkt Xen (Paravirtualisierungstechnik) zu nennen.

Weil man durch Virtualisierung Hardware konsolidiert, erfolgt automatisch eine Leistungsverschiebung. Statt vieler kleiner oder mittlerer physikalischer Server werden wenige sehr gut ausgestattete Wirtssysteme benötigt. Auf dem Wirtssystem laufen je nach Ausstattung dutzende virtuelle Systeme, die zuvor mehrere Server-Racks füllten. Das Gleiche passiert mit der Infrastruktur, welche nicht mehr auf viele, sondern auf wenige Systeme verteilt wird. Daher ist es auch keine Seltenheit, dass Wirtssysteme mit mehreren Fiber Channel- und Netzwerkkarten ausgestattet sind.

Wachsende Komplexität

Ein physikalisches System besteht meist aus vier Kernkomponenten (Core Four): Prozessor, Hauptspeicher, Speicherplatz und Netzwerk. Hier macht ein virtuelles System keinen Unterschied, wodurch der Systemverwalter trotz Konsolidierung weiter die Betreuung der vier Kernkomponenten aller genutzten Maschinen übernimmt, also des Wirtssystems plus aller Gastsysteme.

Allerdings verhält sich das Wirtssystem im Vergleich zu Gastsystemen deutlich komplexer, weil der Wirt und die darauf laufende Virtualisierungs-Software die Leistung, Flexibilität und Verwaltung des Gesamtkonstrukts vorgeben. Außerdem genießen virtuelle Maschinen den Vorteil immer gleicher Hardware, während beim Wirt unterschiedliche Techniken zum Einsatz kommen können.

Es ist bekannt, dass Virtualisierung ein breit gefächertes Wissen des Administrators erfordert. Zudem darf es nicht auf das Wirtssystem beschränkt sein. Vielmehr muss die komplette Infrastruktur bedacht und gekonnt eingesetzt werden. Das umfasst weit mehr, als es bei der Administration einzelner physikalischer Server-Systeme notwendig ist. Eine konzeptionelle Arbeit des Systemverantwortlichen wird dadurch unabdingbar. Sie beginnt bei der Ist-Aufnahme der vorhandenen physikalischen Systeme und der Überprüfung der jeweiligen Auslastung. Dabei müssen die Maschinen über einen längeren Zeitraum beobachtet werden. Sind besondere Applikationen in einer virtuellen Umgebung vorgesehen (etwa Lohnabrechnung) ist eine noch längere Zeitspanne in Betracht zu ziehen.

Hierbei müssen alle vier Kernkomponenten gecheckt werden. Denn: Schon ein schwaches Glied in der Kette stellt ein potenzielles Problem in Bezug auf Virtualisierung dar. Zum Beispiel ist derzeit eine Vier-Wege-Maschine mit einer dauerhaften CPU-Auslastung von 80 Prozent kein geeigneter Virtualisierungskandidat. Durchschnittswerte bei der Systemauslastung greifen zu kurz, denn Applikationen wie Produktionssteuerungen oder Abrechnungssysteme für Löhne und Gehälter benötigen nur zu bestimmten Zeiten viel Leistung.

Manche Anwendungen machen einen speziellen Kopierschutz in Form von Hardware-Dongle oder Hardware-Prüfsumme erforderlich. Je nach Form und Abfrage des Dongle-Kopierschutzes muss dieser lokal verbunden sein, wodurch eine Virtualisierung der Anwendung unmöglich wird. Ansonsten ist es möglich, serielle, parallele und USB-Hardware und damit auch Dongles mit bestimmten Geräten über das Netzwerk zugänglich zu machen.

Im Zuge der Applikationsprüfung kommt ein weiterer erschwerender Faktor hinzu: die Lizenzkosten. IBM oder Oracle lizenzieren ihre Produkte nach physikalischen Prozessoren, weshalb eine virtuelle Maschine auf einem Vier-Wege-System eine Vier- Prozessor-Lizenz benötigt - obwohl sie nur die Leistung einer CPU beansprucht. Durch die kommenden Prozessorgenerationen mit mehreren Rechenkernen wird die Lizenzfrage künftig noch komplexer, da hier kaum explizierte Angaben seitens der Software-Anbieter existieren.

Automatisierung via Script oder Software

Verwaltungsoberflächen vereinfachen die Neuerstellung virtueller Maschinen immens, da sich damit per Mausklick nicht nur Virtual Machines (VM) erstellen, sondern ganze Masseninstallationen nach einem bestimmten Muster vollautomatisch vornehmen lassen. Verzichtet man auf Verwaltungsprogramme wie VMware Virtual Center oder die Virtuozzo Management Console, muss die Automatisierung via Skript realisiert werden.Sämtliche Virtualisierungsanbieter bieten eine schier grenzenlose Anzahl von Möglichkeiten zur Automatisierung mittels Programmierung beziehungsweise Skriptierung an.

Neben der automatischen Sicherung aktiver virtueller Maschinen jeglichen Betriebssystems und der automatischen Bereitstellung neuer Server lassen sich mit geringem Zeitaufwand auch Leistungs- und Nutzungsauswertungen realisieren. Grundvoraussetzung ist die Kenntnis entsprechender Skript- und Programmiersprachen. Die Kombination aus Virtualisierungsprodukt und VM legt indirekt die Randdaten des Wirtssystems oder der Wirtssysteme fest. Hier gilt es, den Blick in die Zukunft zu richten und nicht alle Ressourcen komplett zu verbrauchen. Anschaffung oder Vorhandensein von zentralem Speicher und Netzwerkinfrastruktur komplettieren das Bild.

Weitere Planungen sollten beispielsweise den bereits erwähnten Dongles oder ISDN-Karten gelten. Sind diese nicht an die Hardware direkt gebunden, ist man je nach eingesetztem Virtualisierungsprodukt dazu gezwungen, auf Netzwerkgeräte auszuweichen.

Wichtigster Faktor bei der Planung für ein erfolgreiches Virtualisieren ist die optimale Kombination, sprich das Zusammenspiel der einzelnen Komponenten. Sobald die bestellte Hardware und Software vorliegt, müssen alle Schritte von der Partitionierung bis hin zur Aufteilung der einzelnen Komponenten zwischen Verwaltungskonsole und virtuellen Maschinen vollzogen sein, um möglichst vielen Entscheidungen "aus dem Bauch" vorzubeugen.

Partitionierung des Wirtssystems

Die häufigsten Fehlentscheidungen betreffen insbesondere die Partitionierung des Wirtssystems beziehungsweise der Logical Unit Numbers (LUN) bei SAN-Einsatz. Wird hier zu wenig freier Plattenplatz eingeplant, kann unter Umständen ein Sicherungslauf nicht online geschehen, oder besondere Funktionen der Virtualisierung wie Undoable (Verwerfen aller Festplattenänderungen ab einem gewissen Zeitpunkt) lassen sich nicht nutzen.

Durch eine so geschaffene Backup/Restore-Problematik wird Disaster Recovery, also eine komplette Wiederherstellung eines defekten Systems, gegebenenfalls erschwert. Sämtliche Disaster Recovery-Vorteile der virtuellen Infrastruktur, welche im Vergleich zur Physik stark erweitert sind, lassen sich nicht nutzen.

Beim Betrieb der VM werden trotz guter Planung immer unvorhersehbare Veränderungen auftreten, sei es durch eine neue Applikation oder die Aktualisierung von Software, die zu einer steigenden Leistungsanforderung an das Gesamtsystems führen. In solchen Fällen muss der Systemverwalter Leistungsengpässe eingrenzen, analysieren und beheben können. Hier ist die Suche im Gegensatz zu den meisten physikalischen Systemen nicht nur auf den einzelnen Server sowie dessen Betriebssystem beschränkt, sondern auf die komplette Bandbreite auszuweiten.

Anderer Denkansatz

Das macht die Systemanalyse nicht unbedingt schwieriger. Ganz im Gegenteil: Die Virtualisierungstechnik stellt viel mehr Möglichkeiten und Funktionen bereit. Hinderlich ist eher, dass ein routinierter Administrator durch Virtualisierung mit einem anderen Denkansatz an seine Arbeit herangehen muss. Durch die Abtrennung von der physikalischen Hardware können der virtuellen Maschine (je nach Virtualisierungsprodukt) feinstufig Ressourcen zugeordnet sein. Oder Komponenten lassen sich zur Problemortung auf einem Wirtssystem isolieren.

Während die meisten virtuellen Maschinen keinerlei Probleme mit der CPU-Aufteilung des Virtualisierungsprodukts haben, laufen andere deutlich performanter, wenn man ihnen eine bestimmte physikalische CPU des Wirtssystems fest zuweist. Letztlich kann man einen Fehler im Virtualisierungsprodukt nie ausschließen. So kam es schon vor, dass eine Betriebssystem-Aktualisierung in Form eines Service-Packs deutliche Leistungsprobleme verursachte. Da die Virtualisierungsprodukte immer mächtiger und umfassender werden, kommt der Systemverwalter nicht mehr um weitere Kenntnisse aus den Bereichen Netzwerk, Sicherheit und Hochverfügbarkeit herum.

Mit VMware ESX ist es beispielsweise möglich, VLAN (Virtual LAN) in den VM über Port Groups bereitzustellen, obwohl der Anschluss am Wirtssystem auf einem Trunk Port basiert. Somit liegt die Verantwortung, welcher Server in welchem VLAN verfügbar ist, nicht einzig beim Netzwerk-, sondern darüber hinaus auch beim Virtualisierungsadministrator.

Aufwändige Sicherheit

Auch die Sicherheit muss in virtuellen Umgebungen aufwändiger geplant werden. Es ist möglich, virtuelle Maschinen über das Wirtssystem oder innerhalb der VM durch Sicherungsagenten und Programme zu sichern. Beides hat Vor- und Nachteile, und diesen muss auch durch Anpassungen am Wirt Rechnung getragen werden - etwa durch gesonderte Netzwerkkarten speziell zur Sicherung. Imaging-Software wird durch die Möglichkeit der Offline-Sicherung als Ganzes über das Wirtssystem obsolet.

Virtualisierung bietet große Vorteile gegenüber der Arbeit mit physikalischen Maschinen, allerdings ist ohne entsprechende Planung der Weg zur Sackgasse deutlich näher. Die häufigsten administrativen Probleme und Engpässe sind durch mangelndes Wissen um die Technik und daraus folgende Designfehler entstanden. Ohne ausgesprochen breite, Fachgebiete übergreifende IT-Kompetenz werden sie immer wieder auftreten. Erst wenn der Systemadministrator die neuen Möglichkeiten und Funktionen der Virtualisierungsprodukte versteht, wird er in der Lage sein, das Leistungsangebot dieser Infrastruktur optimal auszuschöpfen.