Exchange Server: HowTo zur Installation von Updates

Testen, Testen, Testen und Voraussetzungen prüfen

Da Exchange in vielen Unternehmen ein zentrales und wichtiges System ist, empfiehlt es sich neue Updates in einer Testumgebung zu prüfen. Die Testumgebung sollte so weit wie möglich der produktiven Umgebung entsprechen. Natürlich müssen so weit wie möglich auch andere Anwendungen/Prozesse/Dienste, die von Exchange abhängig sind, mit getestet werden. Wie weit man in den Tests gehen will oder kann muss jeder selbst entscheiden.

Gerade bei größeren Updates oder vielen Änderungen in den Release Notes muss ebenfalls die Kompatibilität aller abhängigen Software geprüft werden (zum Beispiel: Backup Software, Virenscanner, Archiv Lösung etc).

Ebenfalls sehr wichtig: Die Release Notes lesen und prüfen ob es Veränderungen an wichtigen Funktionen gibt, die für das Unternehmen wichtig sind.

Updates runterladen

Exchange 2013/2016 Updates sind recht groß, da es sich immer um die kompletten Installationsquellen handelt. Dies hat zwar den Vorteil, dass die Updates auch zur Neuinstallation genutzt werden können, ohne das erst die RTM-Version, Service Pack, Update Rollup runtergeladen werden muss.

Auf der anderen Seite möchte man nicht unnötig Zeit des Wartungsfensters vertrödeln, weil auf den Download gewartet werden muss. Das CU2 für Exchange 2016 hat immerhin knappe 7 GB.

Backup erstellen

Vor der Installation der Updates sollte ein aktuelles Backup erstellt werden und zwar nicht nur von den Exchange Servern und Datenbanken, sondern auch von den Domain Controllern, bzw des Active Directorys. An dieser Stelle kann man sich auch kurz mal Gedanken machen, ob die Wiederherstellung schon einmal getestet wurde und ob bekannt ist, was im Falle einer Wiederherstellung zu tun ist.

Vorbereitung auf das Update

Die Vorbereitung von Exchange 2013/2016 auf das Einspielen von Updates hängen von der Umgebung ab.

In einer Exchange 2013 Organisation die dedizierte Client Access und Mailbox Server enthält, sollten zunächst alle Mailbox Server aktualisiert werden, danach folgen die Client Access Server.

In einer Exchange 2016 Organisation wird am besten mit dem Server begonnen, der gerade am wenigsten zu tun hat.

Wenn es vorgeschaltete Loadbalancer für die Client Access Server gibt, sollte der zu aktualisierende Server aus dem Loadbalancing Verbund genommen werden. Das Vorgehen hierzu ist je nach eingesetzten Loadbalancer unterschiedlich.

Vor dem Update sollte auch das Event Log auf Einträge geprüft werden, die da nicht hingehören. Fehler im Eventlog die vor dem Updateprozess auftreten sollten behoben oder zumindest notiert werden. Im Problemfall hangelt man sich hier sonst ggf. durch „Unwichtige Events“ die es schon seit Jahren gibt…

Vor dem Start der Update Prozedur sollte auch ein Blick auf die Datenbanken geworfen werden, welche Datenbanken sind gemountet und ist der Index in Ordnung?

Datenbanken

Exchange Maintenance Mode starten

Ab hier wird es dann Ernst. Exchange 2013 / 2016

Set-MailboxServer "SERVERNAME" -DatabaseCopyActivationDisabledAndMoveNow $True
Set-ServerComponentState –Identity "SERVERNAME"  –Component HubTransport –State Draining –Requester Maintenance
Suspend-ClusterNode –Name "SERVERNAME" 
Set-MailboxServer –Identity "SERVERNAME" –DatabaseCopyAutoActivationPolicy Blocked
Set-ServerComponentState "SERVERNAME" –Component ServerWideOffline –State InActive –Requester Maintenance
Maintenace Mode

 

Updates installieren

Der Server ist offline. Bei größeren Umgebungen mit mehreren Standorten und ggf. verteilten Exchange Servern, sollte zuerst das Schema manuell aktualisiert werden, wenn das Update eine Schema Aktualisierung vornimmt. Mit folgendem Befehl lässt sich das Active Directory Schema manuell aktualisieren:

setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms
setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms 

Schema Update

Nach dem Aktualisieren des Schemas muss die Replikation der Domain Controller abgewartet werden.

Hinweis: Die Schema Aktualisierung wird ebenfalls vom Update Prozess durchgeführt, wenn es nur einen Exchange Server gibt und nur ein kleines Active Directory mit einem Standort ist, kann das Schema Update auch direkt via Exchange Update Prozess aktualisiert werden. Ebenfalls muss beim Schema Update der Exchange noch nicht im Maintanance Mode sein, das Schema Update kann also auch im Abschnitt „Vorbereitung auf das Update“ durchgeführt werden.

Jetzt können die Updates auf dem ersten Server installiert werden.

Exchange Maintenance Mode beenden

Nach der Installation der Updates muss der Maintenance Mode beendet werden.

Wichtig: Nicht vergessen den Maintenance Mode zu beenden! Spätentens beim letzten Server sind sonst alle Datenbanken offline

Set-MailboxServer –Identity "SERVERNAME" –DatabaseCopyAutoActivationPolicy Unrestricted
Resume-ClusterNode –Name "SERVERNAME"
Set-ServerComponentState –Identity "SERVERNAME" –Component HubTransport –State Active –Requester Maintenance 
Set-MailboxServer –Identity "SERVERNAME" –DatabaseCopyActivationDisabledAndMoveNow $False
Set-ServerComponentState "SERVERNAME" –Component ServerWideOffline –State Active –Requester Maintenance

 

Der Server ist jetzt wieder im Normalbetrieb. Jetzt sollte ebenfalls das Event Log auf Einträge kontrolliert werden. Auch ist wieder ein Blick auf die Datenbanken und deren Index ratsam.

Wenn der Server vorher aus einem Loadbalancing Verbund genommen wurde, kann er wieder aufgenommen werden.

Weitere Server aktualisieren / Server parallel aktualisieren

Updates auf Exchange Servern können parallel auf mehreren Servern installiert werden. Jedoch ist bei Exchange 2013 darauf zu achten, dass erst die Mailbox Server aktualisiert werden, wenn die Exchange Rollen auf getrennten Servern laufen. Bringt das Update ein Schema Update mit, muss das Schema zuerst aktualisiert werden und anschließend die Replikation abgewartet werden, erst dann sollten weitere Server aktualisiert werden. Je nach Umgebung, muss auf die Datenbanken und Mailbox Server geachtet werden. Bei 10 Servern ist es sicherlich nicht ratsam 9 gleichzeitig zu aktualisieren und die komplette Last auf einem Exchange Server zu konzentrieren.

Mögliche Fehler während des Updates

Bei dem Update Prozess können natürlich auch Fehler auftauchen, hier eine kleine Auswahl von häufigen Problemen und deren Lösung:

Updates

Error:
Setup can’t continue with the upgrade because the powershell (15352) has open files. Close the process, and then restart Setup.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.ProcessNeedsToBeClosedOnUpgrade.aspx

Error:
All Unified Messaging language packs other than US English (en-US) must be uninstalled before you can upgrade the Mailbox server role. Detected language packs: de-DE“
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.AdditionalUMLangPackExists.aspx

Warning:
Setup can’t verify that the ‚Host‘ (A) record for this computer exists within the DNS database on server 172.16.14.10.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.HostRecordMissing.aspx

Der erste Fehler lässt sich schnell beheben, da hier schon alle relevanten Informationen genannt werden. Ein PowerShell Prozess mit der ID 15352 läuft noch und stört das Update. Also wird der Prozess beendet:

PowerShell

Stop-Process -Id "Prozess ID aus Fehlermeldung"

PowerShell

Der zweite Fehler ist schon ein bisschen kniffliger. Exchange Setup erwartet das alle UM-Sprachpakete außer en-US deinstalliert werden. In diesem Fall stört das Sprachpaket de-DE. Mit dem folgenden Befehl lassen sich alle Sprachpakete anzeigen:

Get-UMService

image

Zur Deinstallation wird allerdings das ISO bzw. das Setup der momentan installierten Exchange Version benötigt. Wenn der Exchange Server wie in diesem Fall auf dem Patch Level CU1 ist, werden die Installationssourcen von CU1 benötigt um das Sprachpaket zu deinstallieren. Es ist also ratsam die entsprechenden CUs aufzubewahren. In meinem Fall benötige ich also das CU1 um das Sprachpaket zu deinstallieren. Die Deinstallation kann dann mit folgenden Befehl angestoßen werden:

setup.exe /RemoveUMLanguagePack:Sprachpaket

image

Beim letzten Eintrag handelt es sich um eine Warnung. Das Setup kann nicht festellen, ob es einen HOST-A Eintrag für diesen Server am DNS Server gibt. Hier sollte also kontrolliert werden, ob der DNS Server einen entsprechenden Eintrag hat:

image

Der Screenshot oben zeigt meine Testumgebung, der Eintrag existiert, Exchange ist in diesem Fall auf einen Domain Controller installiert, ich kann die Warnung also überspringen. Probleme gibt es allerdings, wenn in der DNS Konfiguration des Exchange Servers ein alternative DNS Server hinterlegt ist, der kein Domain Controller ist, also beispielsweise ein Router oder öffentlicher DNS Server:

image

Dieser Eintrag sollte vorher entfernt und später auch nicht wieder gesetzt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.