Zero-Downtime bei Update- und Wartungsarbeiten ist der Wunsch aller SharePoint Administratoren und Anwender, bei denen der SharePoint Server zum Arbeitsalltag gehört. Leider musste bis zur Version SharePoint Server 2013 Abstriche gemacht werden, wenn die neusten Sicherheitsupdates oder Funktionserweiterungen eingespielt werden.
Die Administratoren mussten einen Kompromiss zwischen der Erreichbarkeit der Anwendung, dem aktuellen Updatestatus und der Zufriedenheit der Anwender machen, leider meist zum Nachteil der üblichen Arbeits- bzw. Geschäftszeiten.
Microsoft hat mit seiner neuen Version des SharePoint Servers 2016 ein neues Feature eingebaut, welches diese Kompromisse aus der Welt schaffen soll und allen Beteiligten das Arbeitsleben erleichtert - das Zero-Downtime Patching. Wir von Communardo haben uns das Feature einmal angeschaut und wollten wissen was die Infrastruktur dafür benötigt und wie viel ZERO wirklich in der Downtime steckt.
Allgemeines zum Update-Prozess
Der allgemeine Prozess eines Updates im SharePoint Server 2016 unterscheidet sich kaum von dem des SharePoint Server 2013 . Weiterhin wird ein Update in 2 Phasen durchgeführt.
Patch Phase
In dieser Phase des Prozessen werden die binären Dateien bereitgestellt und die .DLL Files auf den SharePoint kopiert.
Wichtig: In dieser Phase werden alle SharePoint Dienste angehalten, welche aktualisiert werden.
Durch das Anhalten der Dienste ist ein Neustart des Server meist nicht mehr mehr notwendig.
Build To Build Phase
Die Build to Build Phase ist auch als der Teil bekannt, in dem der SharePoint Wizard ausgeführt wird. Dabei werden folgende Änderungen vorgenommen:
- Modifizierung von Datenbankschemas
- Objekte aus der Farm werden aktualisiert
- Webseitensammlungen werden aktualisiert
Zyklus der Bereitstellung
Wenn ein Update durchgeführt werden soll, dann läuft dieses in der Regelfällen in einem gewissen Zyklus ab. Zeitlich unterscheidet sich dieser Zyklus abhängig von der Organisation und deren Abläufen, inhaltlich gibt es eher selten Abweichungen.
Im Folgenden ist dargestellt, welche Schritte bei einem Update durchlaufen werden:
Quelle: https://technet.microsoft.com/de-de/library/ff806329(v=office.16).aspx
Zero-Downtime im Detail
Eine direkte Dokumentation zu der Zero-Downtime ist aktuell nicht im Technet zu finden, aber es sind die Artikel für die Installation eines Softwareupdates vorhanden. Genau mit diesem Artikel beschreibt der Microsoft Senior Escalation Engineer, Stefan Goßner, das Zero Downtime Patching.
Infrastruktur
Die Anforderungen an die Infrastruktur waren nach dem Erscheinen des Artikels doch überraschend, aber nicht unbekannt. Microsoft gibt vor, eine Hochverfügbarkeit (HA) des SharePoint Servers bereitzustellen.
Im Detail bedeutet dies, die Farm besteht mindestens aus einem Loadbalancer, 2 Wen-Front-End Server, 2 Application Servern und einem SQL Spiegel (wobei dieser für die HA notwendig ist, aber nicht für das Patching).
Quelle: https://technet.microsoft.com/de-de/library/ff806338(v=office.16).aspx
Update Prozess (Patch Phase)
In der Update Phase werden im ersten Schritt die Web-Front-End Server aktualisiert. Dabei wird die Erreichbarkeit über den Load Balancer gesteuert.
- Load Balencing nur auf die Server Web-3 und Web-4 ermöglichen
- auf den Servern Web-1 und Web-2 werden die binären Dateien installiert
- anschließend werden Web-1 und Web-2 für die Anfragen verwendet und Web-3 und Web-4 werden aktualisiert
Nachdem die Web-Front-End Server mit den neuesten binären Dateien versorgt sind, können die Application Server (App-1 und App-2) aktualisiert werden.
Hier ist auf beiden Server nur die exe Datei auszuführen (nacheinander).
Upgrade Phase (Build To Build Phase)
Für diese Phase werden nun die Anpassungen in den Datenbanken vorgenommen. Dabei wird wie folgt vorgegangen:
- Von einem Web Front End Server oder Application Server werden die Datenbanken mit dem Befehl Upgrade-SPContentDatabase auf den neusten Stand aktualisiert
- Ist die Datenbank erfolgreich aktualisiert, werden als nächstes die Application Server mit Hilfe von psconfig.exe aktualisiert. Es ist darauf zu achten, dass die Server mit der CA als erstes die Build to Build Phase durchlaufen
- Im nächsten Schritt werden alle Web Front End Server aktualisiert. Dabei wird Web-1 aus dem Load Balencing entfernt und über psconfig.exe aktualisiert.
- Anschließend wird dieser wieder in das Load Balancing eingebunden
- Schritt 3 und 4 wird für alle Web Front End Server einzeln wiederholt
Nachdem auch diese Phase abgeschlossen wurde, ist der Update Prozess beendet. Natürlich sollte nach jedem Update die Anwendung geprüft werden und vor jedem Update der Verlauf auf einem Testsystem durchgespielt werden.
Mein Fazit
Microsoft bietet mit diesem Updateverfahren den Administratoren eine Möglichkeit, die SharePoint Farm aktuell zu halten, ohne aber die Benutzer einzuschränken.
Persönlich habe ich mir bei der Ankündigung des Features eine etwas elegantere Lösung vorgestellt. Der hohe Planungsaufwand wird einige Admins abschrecken. Unternehmen welche schon über eine HA Lösung nachgedacht haben, werden jedoch mit dieser erweiterten Funktion sicherlich weitere Argumente haben diese umzusetzen.
Ich freue mich darauf mit Ihnen eine Zero-Downtime Infrastruktur zu planen, aufzubauen und dabei Ihre IT-Landschaft weiter mit zu optimieren.
weiterführende Links:
- Zero Downtime Patching in SharePoint Server 2016
- SharePoint Server 2016 Zero-Downtime Patching demystified
- Install a software update for SharePoint Server 2016
- Software updates overview for SharePoint Server 2016
Als Microsoft Gold-Partner unterstützen wir Sie in allen Phasen Ihres Projektes mit SharePoint: von der IT-Strategie-Beratung, über die Konzeption und Entwicklung bis hin zur Schulung Ihrer Mitarbeiter. Sprechen Sie uns gern an. Ihr SharePoint hat Performance-Probleme? Auch hier haben wir mit unseren Health-Check die passende Lösung für Sie.