Forschung > Projekte > AppMan

Selbstmanagement virtueller Maschinen

Beteiligte an der Hochschule

  • Prof. Dr. Reinhold Kröger
  • Dipl.-Inform. (Univ. Brasov) Dan Marinescu
  • Dipl.-Inform. (FH), M.Sc. Frank Köhler
  • Carlos Henriques dos Santos

Kooperationspartner

  • IT Center der FH-Wiesbaden

Laufzeit

Beginn: März 2007

Finanzierung

  • Labormittel
  • Hochschulmittel

Veröffentlichungen

  • Marinescu, Dan; Kröger, Reinhold: "State of the art in autonomic computing and virtualization", Distributed Systems Lab, Wiesbaden University of Applied Sciences, September 2007 (Link) (BibTeX)
  • Marinescu, Dan: "Design and Evaluation of Self-Management Approaches for Virtual Machine-Based Environments", M.Sc. Thesis, FH Wiesbaden, FB Design Informatik Medien, Februar 2008 (Link) (BibTeX)
  • M. Schmid; D. Marinescu; R. Kroeger: "A Framework for Autonomic Performance Management of Virtual Machine-Based Services", Proceedings of the 15th Annual Workshop of the HP Software University Association, hosted by Al Akhawayn University in Ifrane, Editors: H. Harroud; A. Boulmakoul; C. Peltz, Juni 2008 (Link) (BibTeX)
  • Marinescu, Dan; Kröger, Reinhold: "Towards a Framework for the Autonomic Management of Virtualization Based Environments", 1. GI/ITG KuVS Fachgespräch "Virtualisierung", Paderborn, Februar 2008 (BibTeX)
  • Marinescu, Dan; Schmid, Markus: "A Self-Management Framework for Virtual Machine Environments", Workshop Selbstorganisierende, Adaptive, Kontextsensitive verteilte Systeme (SAKS), März 2008 (BibTeX)

Kurzbeschreibung

Ziel des Projekts ist die Entwicklung von Methoden und Werkzeugen zum automatisierten Management Virtueller Maschinen (VMs).
Virtualisierung ist heute für moderne Rechenzentren zu einem wichtigen Trendthema bei der Nutzung von Server-Systemen mit PC-basierter Architektur geworden, auch wenn das Grundkonzept aus dem Bereich der Großrechner-Betriebssysteme seit langem bekannt ist und dort seitdem verwendet wird (ab Ende der 60er Jahre, IBM VM/370). Virtualisierung erlaubt, einen Rechner logisch zu partitionieren, so dass die Illusion mehrerer "Virtueller Maschinen" (VMs) entsteht, von denen jede eine Instanz eines Betriebssystems (wie Unix oder Windows) zusammen mit dessen Diensten und Anwendungen ausführen kann. Die Illusion wird durch einen sogenannten Virtual Machine Monitor erbracht (VMM, auch Hypervisor genannt), der den VMs dynamisch Betriebsmittel des unterlagerten realen Rechensystems zuordnet. Neben der klassischen Eigenschaft der verbesserten Sicherheit durch Abschottung der VMs gegeneinander werden heute mit der Virtualisierung vor allem als Ziele die sogenannte Server-Konsolidierung, hohe Verfügbarkeit und Migration laufender VMs auf andere Systeme etwa für Zwecke des Lastausgleichs und zukünftig auch der Fehlertoleranz verbunden. Konsolidierung des Rechenbetriebs bedeutet dabei die Verlagerung existierender Dienste, die bisher auf separaten Rechnern betrieben wurden, in verschiedene VMs auf einem Rechner. Hierdurch wird die Anzahl der insgesamt eingesetzten Rechner verringert (laut Prognosen auf 1/5 bis 1/10), die Auslastung der Rechner signifikant erhöht (CPU-Auslastung von Servern ist aktuell häufig < 5%), der Energieverbrauch im Rechenzentrum gesenkt, der Platzbedarf für das Rechenzentrum - insbesondere bei Einsatz sogenannter Blade-Server - durch eine höhere Packungsdichte gesenkt, und gleichzeitig werden die Kosten für das Management der Rechner (Administration) deutlich verringert. Die Bedeutung der Virtualisierung für den zukünftigen Server-Markt wird auch von den Prozessor-Herstellern gesehen und hat zu aktuellen Prozessor-Erweiterungen hierfür geführt (Intel VT/Vanderpool, AMD Pacifica).
Für das Management virtualisierter Umgebungen existieren derzeit kaum Werkzeuge. Lediglich graphische Konsolen für die händische Administration sind neuerdings neben Kommandozeilen-Utilities verfügbar (z.B. VMware VirtualCenter, Xen GUI). Eine Integration in übliche Management-Plattformen (wie z.B. HP OpenView, IBM Tivoli, CA Unicenter) ist derzeit, wenn überhaupt, auf der Oberflächenebene gegeben. Eine "tiefe" Integration wird aber zusammen mit Automatisierungslösungen für Managementaufgaben gefordert (vgl. Gartner-Symposium ITXPO 2006; Computer-Zeitung Nr. 47, 20. Nov. 2006, Schwerpunkt System- und Netzwerkmanagement; Eurosys-Tagung 2006, Leuven; Workshop der GI-Fachgruppe Betriebssysteme, München, 2006). Automatisiertes Management beinhaltet dabei die Erfassung von Kenngrößen des VM Monitors und der darauf laufenden VMs über eine geeignete Sensorik sowie das Vorhandensein von Schnittstellen zur Änderung der Betriebsmittelzuordnungen innerhalb des VM Monitors (Aktorik). Hierauf können Management-Anwendungen zugreifen und so über Regelalgorithmen einen automatisierten Betrieb erreichen, der Kosteneinsparungen und eine verbesserte Administrationsgüte für einfache Management-Probleme mit sich bringt. Eine funktionale Reife und breiten Einsatz von Virtualisierungsumgebungen erwarten Marktbeobachter wie Gartner für 2008/2009, wobei davon ausgegangen wird, dass die eigentlichen Virtualisierungsumgebungen zunehmend frei abgegeben werden, das Geld aber mit Management-Werkzeugen verdient werden wird (vgl. Computer-Zeitung Nr. 47, 20. Nov. 2006, S. 9).
Dieser Projekt nimmt die geschilderte Problematik auf, verfolgt die Standardisierungsbestrebungen und entwickelt Methoden und Werkzeuge, die einen automatisierten Betrieb von Virtualisierungsumgebungen ermöglichen.
Die folgenden konkreten Arbeiten und Ergebnisse sind geplant:
  • Entwicklung einer generischen Architektur für das Management von Virtualisierungsumgebungen
  • Entwicklung eines Management-Informationsmodells für Virtualisierungsumgebungen
  • Entwurf eines Selbstmanagers für das automatisierte Management von Virtualisierungsumgebungen
  • Entwurf von Regelungsszenarien auf der Basis verschiedener Paradigmen (z.B. Automaten, Regelmengen, Neuronalen Netzen) und deren Evaluation
  • Realisierung eines Prototypen, beispielhaft für die Virtualisierungsumgebung Xen
  • Konkreter Anwendungsfall im Server-Betrieb der Informatik
  • Evaluation der Nutzungsmöglichkeiten für das IT-Center der FHW
Für das Projekt sind drei große Problembereiche zu behandeln: (1) APIs für Sensorik und Aktorik für VM Monitore, (2) Entwicklung einer Gesamtarchitektur für ein automatisiertes Management, (3) Entwicklung von Automatisierungsverfahren.
(1): In Hinblick auf Sensorik und Aktorik werden keine eigenen grundlegenden Arbeiten betrieben, sondern es werden die durch Firmen, Konsortien und wiss. Einrichtungen veröffentlichten Ansätze und Entwicklungen verfolgt mit dem Ziel, entstehende standardisierte APIs zu übernehmen oder zu erweitern. Dies ist in Hinblick auf eine Akzeptanz der eigenen Arbeiten bei Außenstehenden notwendig. Als grundlegend und zunächst unabhängig von Virtualisierung werden die Standardisierungsbestrebungen der Distributed Management Task Force (DMTF, www.dmtf.org) angesehen. Diese haben mit CIM/WBEM bereits eine gewisse Reife und Akzeptanz erfahren und wurden auch in den bisherigen Arbeiten des Labors für Verteilte Systeme für die Modellierung von Management-Informationen sowie als Architekturbausteine für ein Web-basiertes Management genutzt. Stand: Die DMTF beabsichtigt die Veröffentlichung eines Standards für Virtualisierung, VMware hat eine CIM-basiertes SDK (Software Development Kit) für den VMware ESX Server herausgegeben, das sich allerdings bisher fast ausschließlich auf den Storage-Aspekt des ESX-Servers und weniger auf das Management der VMs bezieht. Ein Gegenstück für Xen (XenCIM) ist in Planung. Die grundlegenden APIs für den Xen Hypervisor werden für Evaluationszwecke bereits bereitgestellt (z.B. XenAPI und libvirt für Xen, www.libvirt.org). Für CA Unicenter wird an einer Integration der VMware-Lösung gearbeitet.
(2): Die zu entwerfende Gesamtarchitektur für ein automatisiertes Management orientiert sich an den bisherigen Erfahrungen und Ergebnissen des Labors. Wesentliche Ziele sind Modularität und Erweiterbarkeit, so dass sich entwickelte Ansätze und Teilsysteme auch in Management-Plattformen von kommerziellen Herstellern integrieren lassen (erleichtert den Transfer der Ergebnisse) und für zukünftige F&E-Aktivitäten mit industriellen Partnern genutzt werden können. Die Architektur soll zudem so generisch ausgelegt werden, dass zum einen beispielhaft Xen genutzt wird, aber andererseits eine Übertragung der Ergebnisse auf andere VM Monitore (VMware, MS Virtual Server, s.o.) mit geringen Anpassungen möglich wird. Die derzeit ins Auge gefasste Grobarchitektur ist in der folgenden Abbildung dargestellt. Die farbig hinterlegten Komponenten werden im Rahmen des Projekts entwickelt. Eine Diskussion der Abbildung erfolgt unter Vorgehensweise.
(3): Der wissenschaftlich anspruchsvollste und zeitaufwendigste Teil des Projekt befasst sich mit Konzeption, Realisierung und Bewertung von Automatisierungsverfahren für Management-Aufgaben. Die aktuelle, internationale Forschung versucht derzeit, Ansätze der Selbstorganisation / des Selbstmanagements für Management-Aufgaben einzusetzen. Unter dem Begriff Selbstmanagement fasst man dabei Ansätze zur autonomen Rekonfiguration, Fehlerbehebung und Optimierung, bzw. Reduktion der nach außen hin sichtbaren Komplexität von Softwaresystemen zusammen. Solche Eigenschaften eines sich selbstmanagenden Systems bezeichnet man auch als Self-X-Properties (Begriff ursprünglich von IBM geprägt). Im Vergleich zu klassischen Managementansätzen, bei denen ein Administrator letztendlich Managemententscheidungen verantwortet, wird beim Selbstmanagement eine Managemententscheidung durch einen Control-Algorithmus herbeigeführt. Insofern liegt eine Regelstrecke im Sinne der Automatisierung vor. Die klassischen, mit der Automatisierungstechnik verbundenen Regelungstheorien, die auf der Modellierung des dynamischen Systemverhaltens durch partielle Differentialgleichungen basieren, lassen sich auf Software-Systeme aber i.d.R. nicht übertragen. Für einfache Lösungen wurden in der Vergangenheit erfolgreich endliche Automaten eingesetzt. Diese werden aber für die gegebene Problemsituation als nicht mächtig genug eingeschätzt, so dass andere Ansätze untersucht werden sollen.
In der Künstlichen Intelligenz bezeichnet der Begriff „Wissensbasiertes System“ ein System, das in der Lage ist, sowohl Klassifikationen und Diagnosen durchzuführen als auch Entscheidungen zu treffen. Entscheidungen werden dabei anhand eines Inferenzmechanismus auf Basis einer bereits vorhandenen Wissensbasis gefällt. Die traditionelle Form der Wissensrepräsentierung besteht dabei in der Kodierung von Wissen in Form von Regeln und Fakten (z.B Prolog oder Produktionsregeln). Daneben existieren andere nicht-logikbasierte Ansätze, wie z.B. Neuronale Netze, probabilistisches Schließen oder Semantische Netze. Ansätze aus diesem Bereich sollen auf ihre Tauglichkeit zur Realisierung eines Management-Controllers für Virtuelle Maschinen untersucht werden.
Architektur
In der Abbildung stellt (a) die zu entwickelnde Anpassung an die Management-Schnittstelle des VM Monitors dar. Um frühzeitig mit experimentellen Arbeiten zum forschungskritischen Selbstmanagement-Teilsystem (3) beginnen zu können, wird zunächst die VM API (für Xen basierend auf libvirt) als Komponente (b) entwickelt, deren Funktionalität später in die standardisierte CIM/WBEM-Umgebung als sogenannter Provider (d) migriert wird, während die Schnittstelle des Selbstmanagers abschließend auf CIM/WBEM umgestellt wird (durchgehende Linie). Das zu entwickelnde Informationsmodell (c) zur Virtualisierung wird in CIM realisiert, als CIMOM stehende mehrere freie Implementierungen zur Auswahl. Als grundlegende Regelungsparadigmen sollen aus heutiger Sicht zunächst Regelmengen wissensbasierter Systeme und Neuronale Netze dienen. Die prototypische Realisierung erfolgt als Control-Module (e), die in den Selbstmanager integriert werden. Die Adäquatheit der Ansätze soll in Form von Fallstudien anhand von realen Management-Szenarien aus dem Rechenbetrieb der Informatik evaluiert werden. Hieraus sollen Ansätze für eine Übertragung auf das IT-Center der FHW gewonnen werden.