Verwenden von Robocopy, um ein Vorab-Dateiseeding für die DFS-Replikation auszuführen

In diesem Thema wird erläutert, wie Sie das Befehlszeilentool Robocopy.exezum Vorabstarten von Dateien verwenden, wenn Sie die Replikation für die DFS-Replikation (auch als DFSR oder DFS-Rbezeichnet) in Windows Server einrichten. Indem du vor dem Einrichten der DFS-Replikation (Distributed File System, verteiltes Dateisystem), dem Hinzufügen eines neuen Replikationspartners oder dem Austauschen eines Servers ein Vorab-Dateiseeding ausführst, kannst du die Erstsynchronisierung beschleunigen und das Klonen der DFS-Replikationsdatenbank in Windows Server 2012 R2 ermöglichen. Die Robocopy-Methode ist eine von mehreren Vorbereitungsmethoden; eine Übersicht finden Sie in Schritt 1: Dateien für die DFS-Replikation vorbereiten.

Das Befehlszeilen-Hilfsprogramm Robocopy (Robust File Copy) ist in Windows Server enthalten. Das Hilfsprogramm bietet umfassende Optionen, beispielsweise das sichere Kopieren, Unterstützung der Sicherungs-API, Wiederholungsfunktionen und Protokollierung. Spätere Versionen umfassen Unterstützung für Multithreading und ungepufferte E/A.

Important

Robocopy kopiert keine exklusiv gesperrten Dateien. Wenn Benutzer auf den Dateiservern häufig viele Dateien für längere Zeit sperren, sollte eine andere Methode für das Vorab-Seeding verwendet werden. Für das Vorab-Seeding ist keine perfekte Übereinstimmung zwischen Dateilisten auf den Quell- und Zielservern erforderlich. Allerdings gilt: Je weniger Dateien bei der Erstsynchronisierung für die DFS-Replikation vorhanden sind, umso geringer ist die Effizienz des Vorab-Seedings. Um Sperrkonflikte zu minimieren, sollte Robocopy außerhalb der Spitzenzeiten in der Organisation verwendet werden. Nach dem Vorab-Seeding sollte anhand der Robocopy-Protokolle immer überprüft werden, welche Dateien aufgrund exklusiver Sperren übersprungen wurden.

Befolge diese Schritte, um mithilfe von Robocopy ein Vorab-Dateiseeding für die DFS-Replikation auszuführen:

  1. Laden Sie die neueste Version von Robocopy herunter, und installieren Sie sie.
  2. Stabilisieren Sie Dateien, die repliziert werden.
  3. Kopieren Sie die replizierten Dateien auf den Zielserver.

Prerequisites

Da das Vorab-Seeding und die DFS-Replikation in keinem direkten Zusammenhang stehen, müssen nur die Anforderungen zum Kopieren von Dateien mit Robocopy erfüllt werden.

  • Du benötigst ein Konto, das Mitglied der lokalen Administratorgruppe auf dem Quell- und dem Zielserver ist.

  • Installiere die neueste Version von Robocopy auf dem Server, der zum Kopieren der Dateien verwendet wird – entweder auf dem Quellserver oder dem Zielserver. Es muss die neueste Version für die Betriebssystemversion installiert werden. Anweisungen finden Sie unter Schritt 2: Stabilisieren von Dateien, die repliziert werden. Robocopy kann auf dem Quell- oder Zielserver ausgeführt werden, es sei denn, das Vorab-Dateiseeding erfolgt auf einem Server mit Windows Server 2003 R2. Der Zielserver, der in der Regel über die neuere Betriebssystemversion verfügt, bietet Zugriff auf die aktuelle Version von Robocopy.

  • Auf dem Ziellaufwerk muss ausreichend Speicherplatz verfügbar sein. Es darf kein Ordner in dem Pfad erstellt werden, in den kopiert werden soll: Der Stammordner muss von Robocopy erstellt werden.

    Note

    Bei der Entscheidung, wie viel Speicherplatz für die Dateien zugewiesen werden soll, für die ein Vorab-Seeding ausgeführt wurde, sollten der zukünftig erwartete Datenzuwachs und die Speicheranforderungen für die DFS-Replikation in Erwägung gezogen werden. Hilfe zur Planung finden Sie unter Bearbeiten der Kontingentgröße des Stagingordners und des Konfliktordners und des gelöschten Ordners bei der Verwaltung der DFS-Replikation.

  • Installiere auf dem Quellserver optional den Prozessmonitor oder den Prozess-Explorer, mit dem du nach Anwendungen suchen kannst, durch die Dateien gesperrt werden. Downloadinformationen finden Sie unter Prozessmonitor und Prozess-Explorer.

Schritt 1: Herunterladen und Installieren der aktuellen Robocopy-Version

Bevor Sie Robocopy für Vorab-Seed-Dateien verwenden, sollten Sie die neueste Version von Robocopy.exeherunterladen und installieren. Dadurch wird verhindert, dass Dateien aufgrund von Problemen in den ausgelieferten Robocopy-Versionen von der DFS-Replikation übersprungen werden.

Die Quelle für die neueste kompatible Robocopy-Version hängt von der Windows Server-Version ab, die auf dem Server ausgeführt wird. Informationen zum Herunterladen des Hotfixes mit der neuesten Version von Robocopy für Windows Server 2008 R2 oder Windows Server 2008 finden Sie unter Liste der derzeit verfügbaren Hotfixes für DFS-Technologien (Distributed File System) in Windows Server 2008 und windows Server 2008 R2.

Mit den folgenden Schritten kannst du alternativ den aktuellen Hotfix für ein Betriebssystem suchen und installieren.

Suchen und Installieren der aktuellen Version von Robocopy für eine bestimmte Windows Server-Version

  1. Öffne in einem Webbrowser https://support.microsoft.com.

  2. Geben Sie in der Suchunterstützung die folgende Zeichenfolge ein, die durch das entsprechende Betriebssystem ersetzt <operating system version> wird, und drücken Sie dann die EINGABETASTE:

    robocopy.exe kbqfe "<operating system version>"

    Geben Sie beispielsweise robocopy.exe kbqfe "Windows Server 2008 R2" ein.

  3. Suche und lade den Hotfix mit der höchsten ID (d. h. die aktuelle Version) herunter.

  4. Installiere den Hotfix auf dem Server.

Schritt 2: Stabilisieren von Dateien, die repliziert werden

Nachdem du die aktuelle Version von Robocopy auf dem Server installiert hast, solltest du mithilfe der in der folgenden Tabelle beschriebenen Methoden verhindern, dass Kopiervorgänge durch gesperrte Dateien blockiert werden. Bei den meisten Anwendungen werden Dateien nicht exklusiv gesperrt. Während des normalen Betriebs kann es jedoch vorkommen, dass ein geringer Prozentsatz von Dateien auf Dateiservern gesperrt wird.

Ursprung der Sperre Explanation Mitigation
Benutzer öffnen Dateien im Remotemodus auf Freigaben. Mitarbeiter stellen eine Verbindung mit einem Standarddateiserver her und bearbeiten Dokumente, Multimediainhalte oder andere Dateien. Werden zeitweise auch als herkömmlicher Basisordner oder als freigegebene Datenworkloads bezeichnet. Robocopy-Vorgänge sollten nur außerhalb der Spitzen- und Geschäftszeiten ausgeführt werden. Dadurch wird die Anzahl der Dateien minimiert, die von Robocopy während des Vorab-Seedings übersprungen werden müssen.

Erwägen Sie das vorübergehende Festlegen des schreibgeschützten Zugriffs auf die Dateifreigaben, die mithilfe der Cmdlets Windows PowerShell Grant-SmbShareAccess und Close-SmbSession repliziert werden. Wenn du Berechtigungen für eine allgemeine Gruppe wie „Jeder“ oder „Authentifizierte Benutzer“ auf Lesezugriff festlegst, ist es weniger wahrscheinlich, dass Standardbenutzer Dateien mit exklusiven Sperren öffnen (wenn der Schreibschutz beim Öffnen der Dateien von ihren Anwendungen erkannt wird).

Sie können auch eine temporäre Firewallregel für SMB-Port 445 für diesen Server festlegen, um den Zugriff auf Dateien zu blockieren oder das Cmdlet Block-SmbShareAccess zu verwenden. Allerdings haben beide Methoden starke Auswirkungen auf die Benutzerfreundlichkeit.
Dateien werden von Anwendungen lokal geöffnet. Dateien werden manchmal von Anwendungsworkloads gesperrt, die auf einem Dateiserver ausgeführt werden. Die Anwendungen, durch die Dateien gesperrt werden, sollten vorübergehend deaktiviert oder deinstalliert werden. Um zu ermitteln, durch welche Anwendungen Dateien gesperrt werden, kannst du den Prozessmonitor oder Prozess-Explorer verwenden. Informationen zum Herunterladen des Prozessmonitors oder des Prozess-Explorers finden Sie auf den Seiten "Prozessmonitor " und "Prozess-Explorer ".

Schritt 3: Kopieren der replizierten Dateien auf den Zielserver

Nachdem du die Anzahl der Sperren für die zu replizierenden Dateien verringert hast, kannst du ein Vorab-Dateiseeding vom Quellserver auf den Zielserver durchführen.

Note

Robocopy kann entweder auf dem Quellcomputer oder auf dem Zielcomputer ausgeführt werden. Im folgenden Verfahren wird die Ausführung von Robocopy auf dem Zielserver beschrieben, auf dem normalerweise ein aktuelleres Betriebssystem ausgeführt wird. So können alle zusätzlichen Robocopy-Funktionen genutzt werden, die das neuere Betriebssystem möglicherweise bereitstellt.

Verwenden von Robocopy, um für die replizierten Dateien ein Vorab-Seeding auf den Zielserver auszuführen

  1. Melde dich mit einem Konto beim Zielserver an, das Mitglied der lokalen Administratorgruppe auf dem Quell- und dem Zielserver ist.

  2. Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten.

  3. Führe den folgenden Befehl aus, um ein Vorab-Dateiseeding vom Quell- auf den Zielserver auszuführen. Ersetze dabei die Werte in Klammern durch die Pfade für deinen eigenen Quell- und Zielserver und die Protokolldatei:

    robocopy "<source replicated folder path>" "<destination replicated folder path>" /e /b /copyall /r:6 /w:5 /MT:64 /xd DfsrPrivate /tee /log:<log file path> /v
    

    Mit diesem Befehl und den folgenden Parametern wird der gesamte Inhalt des Quellordners in den Zielordner kopiert:

    Parameter Description
    „<Pfad des replizierten Quellordners>“ Gibt den Quellordner an, für den ein Vorab-Seeding auf den Zielserver ausgeführt wird.
    „<Pfad des replizierten Zielordners>“ Gibt den Pfad zu dem Ordner an, in dem die Dateien nach dem Vorab-Seeding gespeichert werden.

    Der Zielordner darf noch nicht auf dem Zielserver vorhanden sein. Um übereinstimmende Dateihashes zu erhalten, muss der Stammordner von Robocopy erstellt werden, wenn das Vorab-Dateiseeding ausgeführt wird.
    /e Kopiert Unterverzeichnisse und die enthaltenen Dateien sowie leere Unterverzeichnisse.
    /b Kopiert Dateien im Sicherungsmodus.
    /copyall Kopiert alle Dateiinformationen, einschließlich Daten, Attribute, Zeitstempel, NTFS-Zugriffssteuerungsliste sowie Informationen zum Besitzer und zur Überwachung.
    /r:6 Wiederholt den Vorgang sechsmal, wenn ein Fehler auftritt.
    /w:5 Wartet 5 Sekunden zwischen den Wiederholungen.
    MT:64 Kopiert 64 Dateien gleichzeitig.
    /xd DfsrPrivate Schließt den Ordner „DfsrPrivate“ aus.
    /tee Schreibt die Statusausgabe in das Konsolenfenster sowie in die Protokolldatei.
    /log <Protokolldateipfad> Gibt die zu schreibende Protokolldatei an. Überschreibt den vorhandenen Inhalt der Datei. (Verwende /log+ <log file path>, um Einträge an die vorhandene Protokolldatei anzufügen.)
    /v Erzeugt eine ausführliche Ausgabe, die übersprungene Dateien einschließt.

    Beispiel: Mit dem folgenden Befehl werden Dateien vom replizierten Quellordner „E:\RF01“ auf das Datenlaufwerk „D“ auf dem Zielserver repliziert:

    robocopy.exe "\\srv01\e$\rf01" "d:\rf01" /e /b /copyall /r:6 /w:5 /MT:64 /xd DfsrPrivate /tee /log:c:\temp\pre-seedsrv02.log
    

    Note

    Es wird empfohlen, die oben beschriebenen Parameter zu verwenden, wenn mit Robocopy ein Vorab-Dateiseeding für die DFS-Replikation ausgeführt wird. Allerdings können einige Parameterwerte geändert oder weitere Parameter hinzugefügt werden. Sie können z. B. durch Tests feststellen, dass Sie die Kapazität haben, einen höheren Wert (Threadanzahl) für den Parameter "/MT " festzulegen. Wenn Sie in erster Linie größere Dateien replizieren, können Sie möglicherweise die Kopierleistung erhöhen, indem Sie die Option "/j " für nicht entbufferte E/A hinzufügen. Weitere Informationen zu Robocopy-Parametern finden Sie in der Befehlszeilenreferenz von Robocopy .

    Warning

    Um potenzielle Datenverluste zu vermeiden, wenn Robocopy zum Vorab-Dateiseeding für die DFS-Replikation verwendet wird, sollten an den empfohlenen Parametern keine der folgenden Änderungen vorgenommen werden:

    • Verwenden Sie nicht den Parameter "/mir " (der eine Verzeichnisstruktur spiegelt) oder den Parameter "/mov " (der die Dateien verschiebt, und löscht sie dann aus der Quelle).
    • Entfernen Sie nicht die Optionen "/e", "/b" und "/copyall ".
  4. Nachdem der Kopiervorgang abgeschlossen ist, überprüfe das Protokoll auf Fehler oder übersprungene Dateien. Verwende Robocopy, um übersprungene Dateien einzeln zu kopieren, anstatt den gesamten Dateisatz erneut zu kopieren. Wenn Dateien aufgrund exklusiver Sperren übersprungen wurden, solltest du später versuchen, einzelne Dateien mit Robocopy zu kopieren, oder akzeptieren, dass diese Dateien während der Erstsynchronisierung per DFS-Replikation über das Netzwerk repliziert werden müssen.

Nächster Schritt

Nachdem Sie die ursprüngliche Kopie abgeschlossen und Robocopy verwendet haben, um Probleme mit so vielen übersprungenen Dateien wie möglich zu beheben, verwenden Sie das Cmdlet "Get-DfsrFileHash " in Windows PowerShell oder den Befehl "Dfsrdiag ", um die vorab seedierten Dateien zu überprüfen, indem Sie Dateihashes auf den Quell- und Zielservern vergleichen. Ausführliche Anweisungen finden Sie in Schritt 2: Überprüfen von vorab seedierten Dateien für die DFS-Replikation.