Server-Virtualisierung im Einsatz

06.10.2005
Von Peter Pötschulat 
Was Mainframes schon seit Jahrzehnten können, wird nun auch für Unix- oder PC-Server interessant.
Den virtuellen Servern können je nach Bedarf die erforderlichen Ressourcen zugeteilt werden.
Den virtuellen Servern können je nach Bedarf die erforderlichen Ressourcen zugeteilt werden.

Von Peter Pötschulat*

Was spricht für die Virtualisierung?

• Durch die Virtualisierungsschicht wird die starre Verbindung der Hardware zum Betriebssystem und zur Applikation aufgetrennt. Vorteil: eine höhere Rechnerverfügbarkeit.

• Virtualisierung schafft hohe Flexibilität. Rechnerressourcen lassen sich dort einsetzen, wo sie gebraucht werden, und zusätzliche Server können ganz einfach virtuell erstellt werden.

• Mit Virtualisierungstechnik lassen sich die Rechenressourcen erheblich besser nutzen. So können bei größeren Konsolidierungsprojekten die Kosten auch für große Server klein gehalten werden.

Drei Konzepte

Software Virtual Machine: Eine solche Softwarelösung legt eine Virtualisierungsschicht über die Hardware und partitioniert die Ressourcen. Dies erzeugt einen relativ hohen Overhead und ist in der Verteilung der Ressourcen limitiert. In der Regel kommen solche Lösungen für die Partitionierung von PC-Systemen zum Einsatz. Die Isolierung der Partitionen ist dabei gegeben, aber alle Partitionen sind von der übergeordneten Softwareschicht abhängig.

OS-Partitionierung: Als Softwarelösung steuert die OS-Partitionierung ausgehend von einem Betriebssystem mehrere Applikationsinstanzen. Jede Anwendung bekommt die Hardwareressourcen vom Betriebssystem zugewiesen. Hier gibt es keine direkten Partitionen, die Isolierung der Softwareapplikationen erfolgt mit softwaredefinierten Grenzen, ist also kaum vorhanden. Außerdem sind alle Applikationsinstanzen von dem einen Betriebssystem mit seinem Release-Stand abhängig. Die OS-Partitionierung kommt bei Unix-Systemen zum Einsatz (zum Beispiel Sun Container, HP WLM/PRM, IBM Workload-Manager).

Hardware Virtual Machine: Bei dieser Hardwarelösung kann der Server über eine Firmware (Hypervisor) logisch partitioniert werden (in logische Partitionen, so genannte LPARs). Diese Lösung hat wenig Overhead und keine Limitationen. Jede Partition hat ein eigenes Betriebssystem, ist komplett isoliert und fungiert so als unabhängiger Server. Die Verteilung der Hardware wird vom Hypervisor gesteuert, der als Virtualisierungsschicht die Hardware mit dem Betriebssystem verbindet. So werden auch Mainframes partitioniert.

Die Idee ist bestechend: Auf einem Rechner können ungeachtet der vorhandenen Hardware viele Betriebssysteme unabhängig voneinander installiert werden, oder ein großer Rechner kann viele kleinere virtuelle Rechner enthalten. Der typische Mainframe bleibt sicher großen Firmen vorbehalten. Doch neue Virtualisierungslösungen können auch in kleineren Unternehmen sinnvoll eingesetzt werden.

Vorteil: Server-Auslastung

Attraktiv geworden ist die Virtualisierung nicht zuletzt vor dem wirtschaftlichen Hintergrund der letzten Jahre. Der Kostendruck in vielen Unternehmen führte zu einer steigenden Anzahl kleinerer bis mittlerer Projekte, die auf kleinen und mittleren Computersystemen abgewickelt wurden. Aber mit der steigenden Anzahl von Systemen sank deren Auslastung, da jeder Projekt-Server auf die notwendige Spitzenleistung ausgelegt werden musste. So arbeiten heute viele Systeme im Durchschnitt mit Auslastungswerten von fünf bis 25 Prozent, um vielleicht einmal pro Tag für wenige Minuten an ihre Leistungsgrenze vorzustoßen. Server-Virtualisierung kann und wird hier Verbesserungen schaffen.

Die Server-Virtualisierung funktioniert ähnlich wie bei virtualisierten Festplattensystemen, die über einen Controller virtuelle Raid-Platten bereitstellen. Bei den Servern werden virtuelle Komponenten wie Prozessoren, Hauptspeicher und auch I/O-Verbindungen eingerichtet, auf denen ein Betriebssystem installiert werden kann. Die virtualisierten Komponenten haben dabei dieselben Eigenschaften wie die physischen Ressourcen, aus denen sie entstehen. Die Herausforderung bei der Implementierung besteht darin, transparente Virtualisierungsschichten zu erreichen und zu gewährleisten, dass die virtuellen Server oder Partitionen untereinander möglichst getrennt bleiben.

Die Firmware macht es

Von den drei Virtualisierungskonzepten, die momentan am Markt verfügbar sind, steht die "Hardware Virtual Machine" technisch auf der höchsten Stufe. Ausschlaggebend für die Partitionierung ist hier der "Hypervisor". In IBMs "Power-5"-Systemen ist diese Virtualisierungsschicht als Firmware vorhanden und verwaltet die Hardware in Bezug auf die logisch auf dem System definierten Partitionen. Welche Hardwarekomponenten zu welchen Partitionen gehören sollen, wird vom Administrator über eine Hardware-Management-Konsole definiert. Die Steuerung des vordefinierten Gesamtsystems und etwaige Veränderungen erledigt im laufenden Betrieb ausschließlich der Hypervisor.

Im Glanz der Souveränität

Die auf den Partitionen installierten Betriebssysteme "glauben", sie befänden sich alleine auf dem Gesamtsystem. Wie bei Lösungen ohne Hypervisor stellt das Betriebssystem den installierten Applikationen die vordefinierten und somit bekannten Ressourcen in den logischen Partitionen (LPARs) zur Verfügung. Dabei bleibt jedem Betriebssystem vollkommen verborgen, dass sich noch weitere logische Partitionen mit anderen Ressourcen auf demselben System befinden. Das Betriebssystem in einer LPAR wendet sich beispielsweise mit Memory-Zugriffen ausschließlich an den Hypervisor. Dieser kennt die Hardware, die der LPAR zugeordnet ist, und nimmt dann eine Umsetzung von den realen Adressen des Gesamtsystems zu den virtuellen Adressen des einzelnen Betriebssystems vor. So kann jedes Betriebssystem in der LPAR auch nur die ihm zugewiesene Hardware steuern.

Erst wenn über den Hypervisor einer logischen Partition eine weitere Hardwareressource zugeordnet wurde, erkennt das Betriebssystem diese und kann sie nutzen - ganz wie beim Einbau neuer Hardware in ein "Stand-alone"-System.

Der Einsatz von Servern mit Virtualisierungsfunktionen in den Unternehmen ist keine schwierige Angelegenheit. Wichtig ist allerdings zu verstehen, welches Konzept die Virtualisierung verfolgt. Alle Ressourcen werden dabei vom Server zur Verfügung gestellt. Beim Partitionieren des Rechners ist nun wichtig, mit welcher Granularität die physischen Ressourcen verteilt werden können. Bei den "p5"- Rechnern von IBM beispielsweise kann ein Zehntel eines physischen Prozessors als kleinste Einheit für eine Partition ("Micro-Partitioning") gewählt werden. So erreicht man bei 16 Prozessoren schon bis zu 160 Einheiten, die als Ressourcen verteilt werden können.

Die Aufteilung übernimmt eine Hardware-Management-Konsole (HMC). Bei IBM läuft sie unter Linux und ist über ein privates Administrations-Ethernet mit dem Serviceprozessor des Rechners verbunden. Die HMC zeigt über eine grafische Oberfläche alle Potenziale des Rechners an. So kann der Administrator die Ressourcen unterteilen und verteilen (partitionieren) und anschließend die Betriebssysteme auf den Partitionen installieren. Natürlich müssen die Betriebssysteme Kenntnis vom Hypervisor haben und ihn "verstehen". Deshalb ist eine der Voraussetzungen ein Betriebssystem auf dem aktuellen Release-Stand.

Sind die virtuellen Server, die Partitionen, einmal definiert und installiert, so können sie wie Stand-alone-Workstations behandelt werden. Die Applikation kann übertragen werden und im Betrieb bei Bedarf mehr Ressourcen des Servers anfordern oder bei weniger Last wieder abgeben.

Virtuelle Server im Betrieb

Der Administrator konfiguriert die LPARs auf der Hardware-Management-Konsole über eine übersichtliche, grafische Oberfläche oder in einer Kommandozeile. Für den Betrieb ist diese Konsole nicht zwingend notwendig, allerdings sind Definitionsveränderungen immer über sie vorzunehmen.

Dank der Virtualisierung lassen sich alle Partitionen im laufenden Betrieb verändern. Das gilt für alle virtualisierten Komponenten wie Prozessoranteile, Memory oder I/O, die manuell oder auch automatisch vom System angepasst werden können. IBM nutzt bei der Hardwarevirtualisierung in jedem System einen "Shared Processor Pool", aus dem sich die Partitionen bedienen können. Auch neue Server lassen sich mit der Virtualisierung einfach und schnell erzeugen und nach einem Testlauf auch genauso schnell wieder entfernen - oder, wenn der Test erfolgreich war, als neue Produktionsumgebung nutzen.

Fazit

Durch die neuen Möglichkeiten der Virtualisierung bekommt auch die Server-Konsolidierung einen neuen Stellenwert. Große Server können so sinnvoll eingesetzt werden, denn sie haben meist viele Ressourcen, die sich die Partitionen teilen können. Durch Server-Konsolidierung vermögen Unternehmen die Komplexität ihrer IT-Infrastruktur zu reduzieren und die Flexibilität zu steigern. Letztendlich können so die Server wirtschaftlicher genutzt werden. (kk)