DFSR-Ereignis-ID 2213 in Windows Server 2008 R2

In diesem Artikel wird ein Problem beschrieben, das die Ereignis-ID 2213 in Windows 2008 oder Windows 2012 auslöst.

Gilt für: Windows Server 2008 R2 Service Pack 1
Ursprüngliche KB-Nummer: 2846759

Zusammenfassung

Microsoft hat neue Funktionen für den DFS-Replikationsdienst (DFSR) für Windows Server 2008 R2 über Hotfix-2663685 eingeführt. Nach der Installation von Hotfix 2663685 oder einer höheren Version von Dfsrs.exe in Windows Server 2008 R2 führt der DFSR-Dienst keine automatische Wiederherstellung der ESE-Datenbank (Extensible Storage Engine) mehr durch, nachdem die Datenbank modifiziert heruntergefahren wurde. Wenn das neue DFSR-Verhalten ausgelöst wird, wird stattdessen die Ereignis-ID 2213 im DFSR-Protokoll protokolliert. Ein DFSR-Administrator muss die Replikation manuell fortsetzen, nachdem ein modifiziert das Herunterfahren von DFSR erkannt wurde.

Windows Server 2012 weist dieses Verhalten standardmäßig auf.

Der DFSR-Dienst verwaltet eine ESE-Datenbank pro Volume auf Volumes, die einen replizierten Ordner hosten. DFSR verwendet diese Datenbank, um Metadaten zu jeder Datei und jedem Ordner im replizierten Ordner zu speichern. Die Integrität der Datenbank muss beibehalten werden, um sicherzustellen, dass der Dienst weiterhin ordnungsgemäß funktioniert.

Wenn DFSR benachrichtigt wird, dass der Dienst heruntergefahren werden muss, beginnt es mit dem Committen aller ausstehenden Änderungen an der ESE-Datenbank. Das fehlerhafte Herunterfahren in DFSR tritt auf, wenn der DFSR-Dienst nicht alle ausstehenden Änderungen an der DSFR ESE-Datenbank committen kann, bevor der DFSR-Dienst heruntergefahren wird. Während des Starts überprüft der DFSR-Dienst die Integrität der Datenbank.

Die Wiederherstellung des fehlerhaften Herunterfahrens kann zu großen Backlogs führen, die wiederum Replikationskonflikte verursachen können. In einigen Fällen, bevor der Fix in Hotfix 2780453 veröffentlicht wurde, ist die gewinnende Datei möglicherweise nicht die Version, die der Endbenutzer wünscht. Das Update zum Beenden der Replikation während modifiziert Herunterfahrens war als Schutzmaßnahme gedacht, mit der Administratoren die Daten sichern können, um Deltas zu erfassen, da die letzte Sicherung vor dem Fortsetzen der Replikation erstellt wurde.

Nachdem Sie Hotfix 2780453 installiert haben, müssen Sie die Replikation während eines modifiziert Herunterfahrens nicht mehr anhalten. Der Fix aus hotfix 2780453 ist auf allen Windows 2012-Standardmedien enthalten.

Bewährte Methoden

Bewährte Methoden für AutoWiederherstellen basierend auf Serverrolle, Betriebssystem und Patchebene:

Rolle Windows Server 2008 R2 Windows Server 2008 R2 mit installierter KB-2780453 Windows Server 2012
Gleichstrom Ein Ein Ein
Clusterknoten Ein Ein Ein
Beschreibbarer DFSR-Server Off Ein Ein
Schreibgeschützter DFSR-Server Ein Ein Ein

Deaktivieren der Funktion "Replikation beenden" in AutoWiederherstellen

Damit DFSR autoWiederherstellen durchführen kann, wenn ein modifiziert Datenbank heruntergefahren wird, bearbeiten Sie den folgenden Registrierungswert, nachdem der Hotfix 2780453 in Windows Server 2008 R2 installiert wurde. Sie können diese Änderung für alle Versionen von Windows Server 2012 bereitstellen. Wenn der Wert nicht vorhanden ist, müssen Sie ihn erstellen.

  • Schlüssel: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DFSR\Parameters
  • Wert: StopReplicationOnAutoRecovery
  • Typ: Dword
  • Data: 0

Fortsetzen der Replikation nach der Protokollierung des Ereignisses 2213

Nachdem ereignis 2213 protokolliert wurde, muss ein Administrator einen WMIC-Befehl ausführen, um die Replikation fortzusetzen. Die Befehlsspezifischen Werden im Text der Ereignis-ID 2213 angegeben.

Schritt 1: Wiederherstellungsschritte für ereignis-ID 2213, die auf Ihrem DFSR-Server angemeldet sind

  1. Sichern Sie die Dateien in allen replizierten Ordnern auf dem Volume. Wenn dies nicht der Fall ist, kann dies zu Datenverlusten aufgrund einer unerwarteten Konfliktlösung während der Wiederherstellung der replizierten Ordner führen.

  2. Verwenden Sie die WMI-Methode der DfsrVolumeConfig -Klasse, um die ResumeReplication Replikation für dieses Volume fortzusetzen. Führen Sie beispielsweise an einer Eingabeaufforderung mit erhöhten Rechten den folgenden Befehl aus:

wmic /namespace:\\root\microsoftdfs path dfsrVolumeConfig where volumeGuid="E18D8280-2379-11E2-A5A0-806E6F6E6963" call ResumeReplication

Schritt 2: Kopieren Sie den WMIC-Befehl aus Schritt 2 in den Wiederherstellungsschritten der Ereignis-ID 2213, und fügen Sie ihn dann in eine Eingabeaufforderung mit erhöhten Rechten ein.

Wenn der Befehl erfolgreich ausgeführt wird, werden die folgenden Ergebnisse zurückgegeben:

wmic /namespace:\\root\microsoftdfs pathdfsrVolumeConfig where volumeGuid="F1CF316E-6A40-11E2-A826-00155D41C919" call ResumeReplication

Executing(file://ww2008r2dc1/root/microsoftdfs:DfsrVolumeConfig.VolumeGuid=%22F1CF316E-6A40-11E2-A826-00155D41C919%22)-%3EResumeReplication()">\WW2008R2DC1\root\microsoftdfs:DfsrVolumeConfig.VolumeGuid="F1CF316E-6A40-11E2-A826-00155D41C919")->ResumeReplication()
Methodenausführung erfolgreich. Out Parameters:instance of __PARAMETERS{ ReturnValue = 0;};

Für PowerShell-Benutzer müssen Sie dem WMIC-Befehl einfache Anführungszeichen hinzufügen, um ihn über PowerShell auszuführen, wie folgt:

wmic /namespace:\\root\microsoftdfs pathdfsrVolumeConfig where 'volumeGuid="F1CF316E-6A40-11E2-A826-00155D41C919"' call ResumeReplication

Schritt 3: Überprüfen, ob die Ereignis-IDs 2212 und 2214 protokolliert wurden

Überprüfen Sie, ob die Ereignis-IDs 2212 und 2214 auf dem Server protokolliert wurden, auf dem Sie den Befehl zum Fortsetzen der Replikation ausgeführt haben. Wenn Sie einen replizierten Ordner nach einem modifiziert Herunterfahren erneut initialisieren (oder eine Erstsynchronisierung durchführen müssen) müssen, gehen Sie wie folgt vor:

  1. Deaktivieren Sie den replizierten Ordner.
  2. Aktivieren Sie die Replikation, indem Sie die Schritte in den vorherigen Wiederherstellungsschritten für die Ereignis-ID 2213 ausführen, die auf Ihrem DFSR-Server angemeldet ist .
  3. Aktivieren Sie den replizierten Ordner.

Wenn Sie den replizierten Ordner deaktivieren und aktivieren, bevor Sie den WMIC-Befehl ausführen, erfolgt die Erstsynchronisierung nicht, da der Volume-Manager offline ist.

Schritte zur Verringerung der Wahrscheinlichkeit eines modifiziert Herunterfahrens

Unter Windows hat ein Dienst 30 Sekunden Zeit, um herunterzufahren, nachdem er eine Benachrichtigung zum Herunterfahren erhalten hat. Nach 30 Sekunden erzwingt der Dienststeuerungs-Manager das Herunterfahren des Diensts. Wenn es sich um den DFSR-Dienst handelt, benötigt ein ausgelastetem Hubserver möglicherweise mehr als 30 Sekunden, um ausstehende Änderungen an die Datenbank zu committen. Wenn der DFSR-Dienst nicht alle Änderungen in den 30 Sekunden committet, die vom Dienststeuerungs-Manager zugewiesen werden, wird der Dienst zwangsweise geschlossen, und dies löst eine modifiziert Wiederherstellung aus.

Stromausfälle oder ein anderer harter Neustart eines DFSR-Servers können ebenfalls eine modifiziert Wiederherstellung auslösen. Um die Wahrscheinlichkeit eines modifiziert Herunterfahrens zu verringern, stellen Sie sicher, dass Ihre DFSR-Server an eine unterbrechungsfreie Stromversorgung (USV) angeschlossen sind, damit sie ordnungsgemäß heruntergefahren werden können.

Verlängern der Zeiten für das Herunterfahren des Diensts

Auf DFSR-Servern, deren Herunterfahren länger als 30 Sekunden dauert, können Sie den WaitToKillServiceTimeout-Wert verwenden, um den Zeitraum zu verlängern, der für das Herunterfahren aller Dienste zulässig ist.

Ein DSFR-Server, der mehr Zeit zum Herunterfahren benötigt, protokolliert in der Regel die Ereignisse 2212 und 2214 bei den meisten Serverneustarts oder Neustarts des Diensts. Wenn autoWiederherstellen aus einem modifiziert Herunterfahren aktiviert ist, wird bei jedem Serverneustart oder Neustart des DFSR-Diensts das Ereignis 2213 protokolliert.

  • Pfad: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  • Wert: WaitToKillServiceTimeout
  • Typ: Zeichenfolge
  • Daten: 300000

Dieser Wert liegt in Millisekunden. In diesem Beispiel wird die Herunterfahrdauer von fünf Minuten angezeigt. Der Wert kann bei Bedarf erhöht oder verringert werden. Dieser Wert wirkt sich auf alle Dienste aus, nicht nur auf DFSR. Es wird empfohlen, diesen Wert auf den niedrigsten Wert festzulegen, der DFSR immer noch genügend Zeit zum sauberen Herunterfahren gibt. Verwenden Sie den folgenden Prozess, um zu bestimmen, wie lange Ihr DFSR-Dienst heruntergefahren werden muss:

  1. Fügen Sie den Registrierungswert WaitToKillServiceTimeout mit einer Einstellung von 300000 Millisekunden (5 Minuten) hinzu. Starten Sie den Server neu, um die Einstellung zu aktivieren.

    Wichtig

    Weitere Informationen zur Installation von 2549760 finden Sie im folgenden Abschnitt Hinweise zu WaitToKillServiceTimeOut .)

  2. Überwachen Sie die nächsten Neustarts des Servers für DIE DFSR-Ereignisse 1006 (DFSR wird beendet) und 1008 (DFSR Beendet). Beachten Sie die Zeit, die zwischen den Ereignissen 1006 und 1008 verstrichen ist.

  3. Passen Sie die für das Herunterfahren zulässige Zeit durch die Überarbeitung des WaitToKillServiceTimeout-Werts so an, dass er die tatsächliche Zeit, die DSFR zum sauberen Herunterfahren benötigt, genauer widerspiegelt.

Hinweise zu WaitToKillServiceTimeOut

  • Wenn Sie den Server oder DFSR mehrmals hintereinander neu starten, wird kein angemessenes Beispiel für die Zeit bereitgestellt, die DFSR zum Herunterfahren benötigt. Sie müssen die Ausführung des Diensts eine Weile zulassen, um ausstehende Datenbanktransaktionen zu akkumulieren.

  • Die Einstellung WaitToKillServiceTimeout hat einen Höchstwert von einer Stunde. Wenn die Einstellung eine Stunde überschreitet, wird SCM auf die Standardeinstellung von 30 Sekunden für das Herunterfahren des Diensts zurückgesetzt.

  • Stellen Sie sicher, dass der Hotfix 2549760 unter Windows Server 2008 R2 installiert ist, um sicherzustellen, dass SCM bei der Einstellung WaitToKillServiceTimeout ordnungsgemäß funktioniert.