Skaliertalent
Microsofts Virtual-Server-2005 verteilt Applikationen über eine Virtual-Machine, die auf einem Host konsolidiert.

Produkt: Virtual Server 2005
Hersteller: Microsoft
Web: www.microsoft.com/virtualserver
Preis: auf Anfrage
Durch Erhöhung der Prozessoranzahl eines Rechners skaliert man Applikationsarchitekturen hinauf, durch Verteilung der Applikationen auf mehrere Lowend-Server skaliert man heraus. Microsofts Virtual-Server-2005 (VS) kombiniert beide Ansätze und skaliert hinein. Durch Nutzung von Virtual-Machine-(VM-)Technologie verteilt VS Applikationen und deren Ressourcenlasten kostengünstig über mehrere VMs, die auf einem einzelnen Host laufen. Wir testeten VS und waren beeindruckt. Mit leichtgängigen Operationen, Active-Diretory-Integration, zentralisiertem Web-Management und Remote-Control der VMs ist VS ein ernst zu nehmender Rivale für Vmwares ESX- und GSX-Server.
Wir installierten VS auf einem Windows-Server-2003 mit IIS 6. Der Host-Server erfordert mindestens einen 550-MHz-Prozessor, 256 MByte RAM und 2 GByte Plattenplatz. Für jede zusätzliche VM ist weiterer Speicher und Plattenplatz hinzuzufügen. Microsofts VMs unterstützen lediglich Windows-Betriebssysteme, aber andere x86-Betriebssysteme, beispielsweise BSD und Linux, können in VMs laufen. Allerdings lässt sich weder die Zeit zwischen dem Host-Computer und Non-Windows-Betriebssystemen synchronisieren, noch lassen sich Maus-Controls mit Active-X-Komponenten integrieren. VS nutzt Zugriffssteuerungslisten (ACLs), die NTFS verlangen – FAT- oder FAT32-Volumes können demnach eine VM-Umgebung nicht sicher verwalten. Einige VMs nutzen außerdem dynamisch expandierende Platten (virtuelle Dateien), die größer als 4 GByte werden können – solche Volumes unterstützt nur NTFS.
Die Installation beinhaltet einen Virtual-Server-Service, der VMs ausführt, einen VMRC-Client für den Zugriff auf die VMs und eine Virtual-Server-Web-Applikation, die einen Administrations-Web-Server unter IIS zur Verfügung stellt. Wir führten alle VS-Komponenten auf einem Server aus, obwohl sie sich auf mehrere Server verteilen lassen. Über den Administrations-Server erzeugten wir per Web-Form mehrere VMs mit konfigurierbaren Speicher-, Platten- und Netzwerkparametern für Windows, Linux und FreeBSD. Die Web-Form enthält Abschnitte für die Konfiguration des VM-Names, Speichers, der virtuellen Festplatte und des virtuellen Netzwerkadapters. Der für jede VM verfügbare Speicher richtet sich nach dem physischen Speicher des Hosts. Wir teilten jeder VM 128 MByte zu und konnten so sehr viele VMs ausführen, ohne den physischen Speicher zu erschöpfen.
Zur Skalierung von Applikationen auf einer Maschine benötigt man ein Ressourcenzuteilungswerkzeug, weil die VMs sonst um Prozessorzeit konkurrieren würden. Mit VS lassen sich VMs priorisieren und Minimal- und Maximal-Prozentsätze der Prozessorzeit für jede VM konfigurieren. Wir stellten die Prozentsätze auf 12,5 und 23,75 Prozent ein. Nachdem die Prozessorregeln eingestellt waren, starteten wir auf einem Windows-2000-Rechner das CPU-Stress-Utility des Windows-Resource-Kits. Nach einer Weile fügten wir bis zu vier ausgeführte Threads hinzu und erhöhten die Thread-Prioritäts- und -Aktivitäts-Level von gering auf hoch. Auch als wir die Maximalanzahl der Threads mit ihren höchsten Prioritäts- und Aktivitäts-Leveln erreichten, nutzte die VM nie mehr als durchschnittlich 25 Prozent der Gesamt-Prozessorressourcen. Mit seinem Prozessorressourcen-Zuteilungswerkzeug und seiner zentralisierten, Web-basierten Administration ist Microsofts VS ein starkes Produkt für die Server-Konsolidierung. [ nwc, dj ]