Ich habe letzte Woche einen Anruf eines Kunden bekommen, der Probleme mit einer VM unter Hyper-V hatte. Das System hat die Netzwerkkarte nicht mehr erkannt, da es sich bei dem betroffenen System um ein Windows Server 2008 R2 mit Exchange Server 2007 SP3 handelt war hier ein Fehler beim Netzwerk besonders kritisch. Das System startete wie gewohnt, nach der Anmeldung reagierte das System aber erst einmal mehrere Minuten überhaupt nicht, selbst sich sonst drehende Icons standen still. Ich habe erst versucht die Ursache für dieses Problem zu finden, es ließ sich aber nicht abschätzen wie lange dies dauern wird und ob sich das Problem überhaupt lösen lässt. Damit der Exchange Server und somit die Konnektivität per Email schnell wieder laufen musste, haben wir uns zu einer Reparaturinstallation des Exchange Server 2007 entschieden. Da ich selbst noch nie einen Exchange Server komplett verloren habe (bzw. das System als verloren gekennzeichnet werden musste) habe ich mich erst einmal in die Thematik eingelesen und dann die Reparatur gestartet.
Eine kleine Info vorab: Die hier gezeigten Screenshots wurden im Nachhinein erstellt, um diverse Beschreibungen einfacher zu gestalten, während dem Rettungsversuch hatte ich andere Sorgen :)
Als erstes haben wir eine neue VM mit Windows Server 2008 R2 installiert und updatetechnisch auf den aktuellen Stand gebracht. Danach wurden die benötigten Features und Rollen auf dem System installiert. Nachdem dies abgeschlossen war, musste das Computerkonto in der Active Directory resetet werden.
Nachdem dies gemacht wurde, bekam das neue System die gleiche IP-Adresse, den gleichen Namen und wurde in die Domäne aufgenommen. Danach wurde das Exchange 2007 SP3-Setup gestartet, und zwar aus einer administrativen Kommandozeile heraus mit dem Befehl:
Setup.com /M:RecoverServer /DoNotStartTransport
Das Setup startet nun innerhalb der Kommandozeile und zeigt in Textform an, an welcher Stelle sich das Setup gerade befindet. Die Dateien werden extrahiert und die Informationen wurden aus der Active Directory gelesen, danach begann die Wiederherstellung. Die erste Rolle “Hub Transport Server Role” wurde erfolgreich installiert, bei der zweiten Rolle brach die Installation bei 98% ab und brachte die folgende Fehlermeldung:
Fehler beim Erreichen des Status "Running" auf diesem Server durch den Dienst "MSExchangeTransport"
Ein Blick in die Dienste zeigte, dass der Transport-Dienst nicht gestartet war und sich auch nicht manuell starten ließ. Bei der Suche nach der Lösung haben wir die folgende Lösung gefunden:
Erstellen von zwei Registry-Einträgen unter
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter
EnableTCPChimney => Zeichenfolge => 0
EnableRSS => Zeichenfolge => 0
Quelle: Microsoft TechNet Forum
Weiterhin haben wir überprüft, ob auf dem Domänencontroller in der lokalen Sicherheitsgruppe “Verwalten von Uberwachungs- und Sicherheitsprotokollen” unter “Lokale Sicherheitsrichtlinie” => “Lokale Richtlinien” => “Zuweisen von Benutzerrechten” die Einträge “Administratoren”, “Exchange Servers” und “Exchange Enterprise Servers” vorhanden sind. Die Einträge sahen wie folgt aus, wir haben die dritte Gruppe dann noch hinzugefügt.
Ob dies wirklich notwendig ist weiß ich nicht, wir haben leider mehrere Änderungen gleichzeitig gemacht, welche genau die richtige Schraube in Bewegung gesetzt müsste man bei Bedarf ausprobieren.
Die letzte Anpassung, die wir vorgenommen haben, war die Umstellung des Anmeldekontos im Dienst (von Netzwerkdienst auf lokales System und wieder zurück, jeweils mit einem Neustart des Dienstes), dies ist der letzte Kommentar in dem Thema.
Quellen (mit direktem Sprung zu den betreffenden Beiträgen): portal.msxforum.de und portal.msxforum.de
Nach der Übernahme dieser Änderungen wollten wir die Installation durch einen erneuten Aufruf des Befehls in der Kommandozeile fortsetzen, das Setup hat sich aber verweigert und gesagt das die betreffenden Rollen bereits installiert sind. Dieses Verhalten kann man anpassen, indem man sowohl mit ADSIEdit als auch mit Regedit bestimmte Einträge manipuliert:
ADSIEdit.msc
An der im Bild definierten Stelle muss der Wert für “msExchCurrentServerRoles” angepasst werden. An dieser Stelle muss man errechnen, welche Zahl hier eingetragen werden muss. Die Zahlen bekommt man hier:
Standardmäßig steht hier eine 38, man muss die Zahl(en) der erfolgreich installierten Rollen von dieser Zahl abziehen. In meinem Fall war die Rolle “Hub Transport Role” mit dem Wert 32 erfolgreich installiert, d.h. 38-32 = 6.
Wichtig: Die Zahl merken, sie muss nach erfolgreicher Installation wieder eingetragen werden.
Regedit:
Im Pfad
HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\v8.0
wird pro Rolle ein Ordner erstellt. Die Ordner der erfolgreich installierten Rollen müssen umbenannt werden, damit sie später bei der Installation erneut angelegt werden können.
Nachdem diese Änderungen vorgenommen wurden kann das Setup erneut gestartet werden, und wenn es keine weiteren Probleme gibt läuft die Installation nun fehlerfrei durch und stellt den Exchange Server wieder her. Nach der Installation wurden die Datenbanken und die Logfiles aus dem alten System heraus auf das neue kopiert und die Datenbank wurde wieder angehangen. Dies hat fehlerfrei funktioniert und das Outlook der Mitarbeiter hat direkt eine erfolgreiche Verbindung hergestellt. Durch die Installation hat sich das System ein neues Zertifikat ausgestellt und die Clients haben sich über ein nicht vertrauenswürdiges Zertifikat beschwert, hier kann nun entweder das gekaufte Zertifikat wieder eingespielt werden, alternativ kann das selbst erstellte Zertifikat per Gruppenrichtlinie in den Zertifikatsspeicher des Clients importiert werden (Vertrauenswürdige Stammzertifizierungsstellen).
Ich habe festgestellt, das die Datenbanken in den Eigenschaften die Option “Datenbank beim Start nicht bereitstellen” aktiviert hatten, diese Option muss noch geändert werden, da sonst die Datenbanken nach einem Neustart nicht verfügbar sind.