Bundesamt für Sicherheit in der Informationstechnik

G 4.77 Ressourcenengpässe durch fehlerhafte Funktion der Gastwerkzeuge in virtuellen Umgebungen

Bei vielen Virtualisierungsprodukten können so genannte Gastwerkzeuge in den virtuellen IT -Systemen installiert werden. Diese dienen einerseits dazu, spezielle, optimierte Gerätetreiber für die virtuellen Hardwarekomponenten einer virtuellen Maschine bereitzustellen. Andererseits kann der Virtualisierungsserver bei bestimmten Produkten über diese Gastwerkzeuge den Ressourcenverbrauch eines virtuellen IT-Systems steuern. Dies ist insbesondere dann notwendig, wenn das verwendete Virtualisierungsprodukt die Überbuchung von Ressourcen wie Arbeitsspeicher oder Festplattenplatz ermöglicht. Konkurrieren beispielsweise zwei virtuelle IT-Systeme um Arbeitsspeicher, kann das Hostbetriebssystem oder der Hypervisor die Gastwerkzeuge anweisen, virtuelles RAM und damit dessen physische Entsprechung in einem der virtuellen IT-Systeme zu reservieren. Die physische Repräsentation dieses Speichers wird nun durch das virtuelle IT-System nicht genutzt und steht über die Gastwerkzeuge unter der Kontrolle des Hypervisors. Der Hypervisor kann nun diesen physischen Speicher dem anderen virtuellen IT-System als virtuelles RAM zur Verfügung stellen. Andersherum kann ein virtuelles IT-System über die Gastwerkzeuge auch Hauptspeicher anfordern. Eine solche Technik wird zum Beispiel bei dem Produkt ESX des Herstellers VMware genutzt. Hier wird die Speicherreservierung über einen so genannten Ballooning-Treiber realisiert. Dieser ist in den Gastwerkzeugen (VMware Tools) enthalten.

Weiterhin kann bei einigen Virtualisierungsprodukten über die Gerätetreiber der Gastwerkzeuge der Zugriff auf Ressourcen eingeschränkt werden. So ist es zum Beispiel möglich, die Bandbreite, mit der ein virtuelles IT-System auf das Netz oder das Speichernetz zugreift, zu begrenzen.

Programmierfehler in den Gastwerkzeugen können daher auf Grund ihrer vielfältigen Funktionen weitreichende Folgen für den Betrieb der davon betroffenen virtuellen IT-Systeme haben, da meist eine Vielzahl von IT-Systemen gleichzeitig davon betroffen ist.

Gerätetreiber

Der häufigste Anwendungszweck der Gastwerkzeuge ist es, optimierte Gerätetreiber für die vom Virtualisierungsserver bereitgestellte emulierte Hardware (Grafikkarte, Netzkarte, Massenspeicher) der virtuellen IT-Systeme bereitzustellen. Die emulierte Hardware kann vom virtuellen IT-System zwar meist auch mit den im Lieferumfang der gängigsten Betriebssysteme enthaltenen Treibern genutzt werden, jedoch ist eine optimale Nutzung erst mit speziell angepassten Treibern möglich. Da diese in der Regel in allen virtuellen IT-Systemen genutzt werden, sind von einem Fehler in diesen Treibern auch alle virtuellen Maschinen betroffen.

Überbuchung von Speicherressourcen

Werden der Hauptspeicher des Virtualisierungsservers überbucht und Speicheranforderungen innerhalb eines virtuellen IT-Systems durch die Gastwerkzeuge fehlerhaft verarbeitet, kann es passieren, dass Prozessen zu wenig Speicher zur Verfügung steht.

Fehler im Bandbreitenmanagement

Sind die Funktionen zum Bandbreitenmanagement in den Gastwerkzeugen fehlerhaft programmiert, können die hierfür definierten Richtlinien wirkungslos sein. Genauso kann es aber dazu kommen, dass einem virtuellen IT-System viel zu wenig oder gar keine Bandbreite zur Verfügung gestellt wird.

Wenn beispielsweise ein virtuelles System ständig sehr viel Netzverkehr verursacht und dadurch die physikalisch vorhandenen Ressourcen stark ausnutzt, können die Verbindungen anderer virtueller IT-Systeme in Mitleidenschaft gezogen werden, so dass in der Folge Verbindungen dieser IT-Systeme abbrechen und damit deren Verfügbarkeit gefährdet ist.

Über die Gastwerkzeuge könnte nun der Administrator des Virtualisierungsservers entweder die nutzbare Bandbreite des ersten virtuellen IT-Systems beschränken oder den anderen Systemen eine gewisse Mindestbandbreite garantieren. Sind die Richtlinien zur Bandbreitensteuerung beispielsweise nach einer Aktualisierung der Gastwerkzeuge auf Grund eines Programmierfehlers wirkungslos, werden die Ziele, die mit diesen Richtlinien verfolgt wurden, nicht erreicht. Die Verfügbarkeit der Systeme ist also weiterhin eingeschränkt.

Führt der Fehler in den Gastwerkzeugen trotz korrekter Richtlinien im genannten Szenario dazu, dass zu wenig Bandbreite für das erste IT-System zur Verfügung steht, kann dieses System in der Verfügbarkeit eingeschränkt sein, da es nicht mit der erforderlichen Bandbreite auf das Netz zugreifen kann. Gleiches gilt für die anderen IT-Systeme, deren Kommunikation geschützt werden sollte.

Beispiel:

Ein mittelständisches Unternehmen betreibt eine Reihe von Virtualisierungsservern, um auf diesen Virtualisierungsservern seine sonstige Server-Infrastruktur effizient bereitstellen zu können. Alle im Unternehmen genutzten Dienste hängen direkt oder indirekt von den virtuellen IT-Systemen in der virtuellen Infrastruktur ab. Dort laufen Systeme wie der Verzeichnisdienst, der zentrale Mailserver sowie das ERP -System. Weiterhin werden Datei- und Druckserver als virtuelle IT-Systeme betrieben.

Die Systeme laufen einige Zeit störungsfrei. Nachdem eine Aktualisierung der Virtualisierungssoftware auf den Virtualisierungsservern durchgeführt wurde, zeigte die zentrale Verwaltungssoftware der Virtualisierungsserver an, dass die Gastwerkzeuge der virtuellen IT-Systeme nicht mehr aktuell seien. Der zuständige Administrator entscheidet sich, die Gastwerkzeuge in den virtuellen IT-Systemen zu aktualisieren. Er hat mit dieser Aktualisierung in der Vergangenheit keine schlechten Erfahrungen gemacht. Da er selbst nicht auf allen virtuellen IT-Systemen Administratorrechte besitzt, benutzt für die Aktualisierung eine Funktion der Virtualisierungsserver, die es ermöglicht, die Werkzeuge auf allen Virtualisierungsservern ohne Interaktion mit den einzelnen virtuellen IT-Systemen zu erneuern. Er beginnt an einem Arbeitstag zwei Stunden vor allgemeinem Arbeitsbeginn mit dem Update. Er beobachtet, wie die Gastwerkzeuge in den virtuellen IT-Systemen neu installiert werden und stellt zunächst keine offensichtlichen Fehler fest, da auf der Konsole der virtuellen Systeme keine Fehlermeldungen protokolliert werden.

Nachdem aber eine gewisse Anzahl virtueller IT-Systeme aktualisiert wurde, bemerkt er, dass diese nicht mehr mit dem Netz verbunden sind. Er untersucht das Problem und stellt fest, dass die Netzkarten-Treiber der virtuellen IT-Systeme als Bestandteil der Gastwerkzeuge ebenfalls aktualisiert worden sind. Hierbei ist dem Hersteller ein Fehler unterlaufen, der dazu führt, dass die Betriebssysteme der virtuellen IT-Systeme die virtuelle Netzkarte als neue Hardware erkennen. Hierdurch ist die Netzkarte unkonfiguriert. Erst nachdem die anderen Administratoren im Unternehmen eingetroffen sind, können die Netzkarten neu konfiguriert werden. Bis dahin können viele Mitarbeiter in der Verwaltung des Unternehmens zunächst nicht auf ihre Daten zugreifen. Dadurch geht viel Arbeitszeit verloren.

Stand: 12. EL Stand 2011