Sharepoint 2010 wird virtuell
Die Server-Virtualisierung ist für viele Firmen und deren IT-Abteilungen zur Standardtechnik beim Einsatz ihrer Windows-Server geworden. War es früher eher die Ausnahme, dass ein Server nicht auf echter Hardware, sondern virtualisiert betrieben wurde, so ist es heute eher die Regel. Doch wie steht es um die Virtualisierung der Anwendungsserver – etwa Sharepoint 2010?
Von Michael Noel und Frank-Michael Schlede
Doch es bedarf genauer Überlegungen im Vorfeld, ehe man sich auf einzelne Applikationen oder Dienste stürzt und sie virtualisiert. Speziell bei der Kollaborations-Plattform »Sharepoint« aus dem Hause Microsoft sind einige Fragen zu klären.
Sharepoint-Umgebungen – vor allem die der aktuellen Version 2010 – lassen sich sehr gut auf virtuellen Servern einsetzen und betreiben. Das trifft allerdings nur dann zu, wenn die Administratoren den virtuellen Gastsystemen genügend Ressourcen zuweisen und zudem darauf achten, dass die virtuellen Host-Systeme richtig skalieren. Ansonsten werden die Administratoren und Anwender mit sehr langsamen Systemen und weiteren massiven Leistungsproblemen der kompletten Infrastruktur zu kämpfen haben.
Die Infrastruktur für die Virtualisierung
Der Schlüssel für eine stabile und virtualisierte Sharepoint-Umgebung ist in der richtigen Architektur für die Virtualisierungs-Hosts zu finden. Es mag noch angehen, eine »Out-of-Box«-Installation in Kombination mit langsamen Festplatten einzusetzen, wenn es nur um eine Testinstallation (Bild 1) geht: Wer aber ein Host-System mit gutem Durchsatz und hoher Geschwindigkeit aufbauen möchte, sollte bestimmte Voraussetzungen erfüllen:
- Die eingesetzten 64-Bit-Prozessoren müssen eine hardwarebasierte Virtualisierung unterstützen. Es müssen also entweder Intel-CPUs mit der »Virtualization Technology« (Intel VT) oder AMD-Prozessoren mit Virtualisierungstechnik (»AMD-V«) in den entsprechenden Maschinen zum Einsatz kommen.
- Die Schutzmaßnahme »Data Execution Prevention« (DEP) muss ebenfalls in der CPU-Hardware implementiert und eingeschaltet sein.
- Die Sharepoint-Gastsysteme müssen entweder auf dem »Hyper-V« oder dem Hypervisor eines Drittanbieters wie von VMware oder Citrix laufen, der Teil von »Microsofts Hardware Virtualization Validation Program« (SVVP) ist. Dieses Programm von Microsoft soll sicherstellen, dass die verschiedenen Anwendungsserver aus Redmond auch auf den Hypervisor-Produkten anderer Anbieter arbeiten.
- Für das Host-Betriebssystem muss genügend Hauptspeicher zur Verfügung stehen: Kommt dabei der Hyper-V zum Einsatz, so sollte der Administrator mindestens 1 GByte DRAM für den Einsatz des Hyper-V-Host reservieren. Beim Hypervisor eines Drittanbieters sollte unbedingt zuvor der Hauptspeicherbedarf genau verifiziert werden.
- Für das Host-Management muss unbedingt eine dedizierte Netzwerkschnittstelle (NIC) zur Verfügung stehen, die total getrennt von den NICs sein muss, die von den virtuellen Maschinen verwendet werden.
- Administratoren sollten verschiedene Speicher-Arrays oder Sets von Festplatten einsetzen: Es hat sich als »Best Practice« herausgestellt, ein dediziertes Array oder Festplatten-Set für das Host-Betriebssystem einzusetzen, eines für die Gastsysteme und mindestens zwei weitere Arrays beziehungsweise Sets, auf denen die Log-Dateien und die Volumen in den virtualisierten Sessions des SQL-Servers abgespeichert werden.
- Bei den virtuellen Festplatten (VHDs) müssen entweder solche vom Typ »feste Größe« oder »Pass-Through«-Disks (Raw) Verwendung finden. Alle VHD-Dateien, die vom Sharepoint-Server eingesetzt werden, müssen einem dieser beiden Typen entsprechen. Da die Pass-Through-Disks direkt mit einem Volumen auf dem Host-Speicher verbunden sind, können sie eine weitaus größere Geschwindigkeit erreichen, was in einer Sharepoint-Umgebung sehr wichtig ist. Auch die VHD-Dateien mit festen Größen (Fixed Sized Disk) sind schneller als die dynamisch erweiterbaren VHD-Dateien, die gerade bei einer Größenveränderung (dem Resizing) die Gesamtgeschwindigkeit negativ beeinflussen.
- Das Verhältnis der virtuellen Prozessoren zu den echten Prozessorkernen sollte immer 2:1 betragen! Ein virtueller Host, der zu viele virtuelle CPUs zuweist, kann »überladen« sein und wird dann einen entsprechend schlechten Durchsatz bieten. Ein Beispiel: Ein Zwei-Prozessor-System mit Quadcore-Prozessoren besitzt acht physikalische Prozessorkerne. Die maximale Anzahl von virtuellen Prozessoren, die hier zu jeder Zeit aktiv sein kann, ist damit auf 16 Stück begrenzt. Bekommt jede virtuelle Maschine dann vier virtuelle Prozessoren zugeteilt, so ist die Zahl der laufenden VMs für dieses Host-System auf insgesamt vier virtuelle Maschinen beschränkt.
Virtualisierungsumgebung und die Software
Zusätzlich sollte ein Administrator aber noch eine Reihe von Anforderungen im Hinterkopf behalten, die er an seine Virtualisierungs-Umgebung in der Firma stellen muss: Generell gilt es, unbedingt eine weitere dedizierte Netzwerkschnittstelle für ein Failover zur Verfügung zu stellen. Das ist speziell dann angeraten, wenn in der Umgebung ein virtuelles Failover für die Host-Systeme wie etwa die Live-Migration vorgesehen ist.
Weiterhin hat der Systembetreuer bei seiner Planung immer zu versuchen, den virtuellen Host-Systemen so viel Hauptspeicher und so viele Prozessorkerne zuzuordnen, wie das Budget erlaubt. Virtuelle Host-Systeme mit mehreren Multicore-Prozessoren und sehr großem RAM-Speicher (64 GByte und mehr) werden immer mehr zum Standard. Denn die Software der virtuellen Host-Systeme ist mittlerweile dazu in der Lage, diese Menge an Ressourcen vollständig zu nutzen, und Lösungen für ein Host-Failover benötigen diese zusätzlichen Ressourcen auf jeden Fall.
Wenn es darum geht, die Größe von Virtualisierungs-Hosts festzulegen, gibt es sicher einen optimalen Punkt, an dem sich die Kosten für die zusätzlichen Komponenten mit dem Bedürfnis eigentlich lieber weniger Host-Systeme im Rechenzentrum zu betreiben, ziemlich genau die Waage halten. Grundsätzlich beträgt der Virtualisierungs-Overhead, der beim Betrieb der virtuellen Server entsteht, nur etwa fünf Prozent: Deshalb werden in der Regel die Kosten, die durch das Hinzufügen von Hauptspeicher und Prozessorkernen entstehen, durch die Vorteile mehr als aufgewogen, die der Administrator dadurch besitzt, dass seine Systeme über dieses »Mehr an Ressourcen« verfügen können.Auf den virtuellen Host-Systemen sollten nur die Virtualisierungs-Software und die Virtualisierungs-Rolle betrieben werden. Ausnahmen gibt es dabei nur für eine Antivirus-Lösung und die Backup-Software, aber für keine weiteren aktiven Anwendungen: Eine Überlastung eines virtuellen Host-Systems mit anderer Software oder mit anderen Server-Rollen kann Geschwindigkeit und Durchsatz der Gastsysteme dramatisch verringern. Vom Standpunkt der Lizenzierung her kommt erschwerend hinzu, dass der Betrieb jeder anderen als der Virtualisierungs-Rolle auf einem Windows-Server eine zusätzliche Lizenz erfordert.
Der Administrator sollte zudem auf keinen Fall die Sharepoint-Rollen und die Rolle des SQL-Servers auf der gleichen virtuellen Maschine (VM) betreiben, weil dies ebenfalls die Performance negativ beeinflussen kann. Auch sehr kleine Systemumgebungen sollten wenigstens zwei VM einsetzen: Eine kommt dabei für die Rolle des SQL-Datenbankservers zum Einsatz, während auf der anderen die Rollen für das Sharepoint-Frontend und die Anwendungsrollen aktiv sind.
Selbstverständlich empfiehlt sich die jeweils aktuellste Virtualisierungs-Software des entsprechenden Herstellers. Hyper-V ist ein gutes Beispiel dafür, wie unterschiedlich diese Versionen sein können: So kann die aktuelle Version 2.0, die auch Teil des »Windows Servers 2008 Release 2« ist, im Vergleich zur Version 1.0 mit einer weitaus höheren Geschwindigkeit aufwarten.
Dazu gehören beispielsweise auch deutliche Steigerungen des Ein/Ausgabe-Durchsatzes bei den VHD-Dateien mit fester Größe und neue Features wie »Core Parking«, Live Migration, »TCP Offload«, »Jumbo Frames« und die direkte Unterstützung von Prozessoren, die eine »Second-Level Address Translation« (SLAT) anbieten können. Wer Hyper-V verwendet, um seine Sharepoint-Server zu virtualisieren, sollte zudem darüber nachdenken, ob er seine virtuellen Hostsysteme nicht auf einem Server-Core-System ausrollt. Auf diese Weise lässt sich nicht nur die Angriffsfläche der Server, sondern auch der Plattenbedarf des Betriebssystems (zwei GByte im Vergleich zu zehn GByte beim vollständigen Windows-Server) und der Hauptspeicherbedarf deutlich reduzieren.
Zentrales Management für die Host-Systeme
Kommen mehrere virtuelle Host-Systeme zum Einsatz, so wird man meist nicht um den Einsatz eines zentralen Managements herumkommen. Wer mit einer Microsoft-Umgebung arbeitet, kann hier beispielsweise auf den »System Center Virtual Machine Manager« (VMM) 2008 Release 2 zurückgreifen, der speziell die Verwaltung virtueller Umgebungen erleichtert: So können mit seiner Hilfe nicht nur Server-Migrationen »P2V« (also die Umwandlung physikalischer Server in virtuelle Maschinen) durchgeführt werden, sondern die Software bietet auch Bibliotheken für Server-Vorlagen (Templates) und erlaubt vor allen Dingen die Verwaltung der Hyper-V- und VMware-Host-Systeme sowie der Gastsysteme direkt aus einer Konsole heraus. Das ist für Administratoren auf jeden Fall eine große Arbeitserleichterung.
Virtualisierung Schritt für Schritt: Die Web-Rolle
Ohne Zweifel ist es möglich, jede Rolle des Sharepoint-Servers entsprechend zu virtualisieren: Gehen die IT-Verantwortlichen an die Planung in Bezug auf Kapazitätsauslastung und Durchsatz ihrer Sharepoint-Farm heran, so dürfen sie aber auf keinen Fall die Reihenfolge aus dem Auge lassen, in der sie ihre Sharepoint-Umgebung in die virtuelle Welt überführen. Die meisten Fachleute sind dieser Meinung und sehen einhellig die Web-Rolle des Servers als die Rolle an, die am besten für einen ersten Schritt in die Richtung einer virtualisierten Sharepoint-Umgebung geeignet ist.
In dieser Rolle ist dann selbstverständlich auch der IIS (Internet Information Service) in der virtuellen Umgebung aktiv. Er bearbeitet alle Web-Anfragen, die an das Sharepoint-Portal gerichtet werden. Die Tabelle in Bild 2 bietet einen Anhalt, welche Ressourcen für welche Rolle benötigt werden. Die Web-Rolle eignet sich auch deshalb besonders gut für einen ersten Schritt in Richtung der Virtualisierung, da sie weniger Hardware-Ressourcen benötigt als andere. Zudem kann der Administrator diese Rolle relativ gut und mit geringem Aufwand über mehrere virtuelle Maschinen hinweg skalieren.
Wer die »MOSS-Enterprise-Version« (Sharepoint 2007) in seiner Umgebung einsetzt, kann in den ersten Schritten auch schon über einer Virtualisierung der Excel-Rolle seines Portals nachdenken: Zwar werden gerade die Excel-Anwendungen immer wieder als die großen Ressourcen-Fresser hingestellt – aber wenn in der eigenen Firma nicht grundsätzlich nur aufwendige Kalkulationen und entsprechende aufwendige Rendering-Projekte laufen, ist diese Rolle ein guter Kandidat für die frühzeitige Virtualisierung. Denn auch sie kann mit geringem Aufwand so konfiguriert werden, dass sie auf mehreren virtuellen Maschinen aktiv ist und dadurch entsprechend skaliert.