Fileservermigration mit Robocopy

Für die Migration der Windows basierten Fileserver wurde folgende »robocopy«1) Syntax verwendet:

C:\> robocopy \\192.168.111.2\e$ e:\ /E /R:1 /W:1 /MIR /COPYALL /MT:16 /SECFIX /ZB /XJ /DCOPY:T /XD "$RECYCLE.BIN" "System Volume Information" /LOG:C:\orgfiles\cpfiles.log

Warnung: Das og Kommando löscht im Ziel alle Daten, welche sich nicht auf der Quelle befinden. Sie sollten am Ziel ein leeres Zielverzeichnis erstellen und dieses dem Kommando übergeben!

Parameter Bedeutung
\\192.168.111.2\e$ Quelle
e:\ Ziel
/E Kopiert Unterverzeichnisse, auch die leeren
/R:1 Es wird bei einem Fehler 1x versucht, die Datei erneut zu kopieren.
/W:1 Es wird 1 Sekunde gewartet, bevor ein erneuter Kopierversuch gestartet wird.
/MIR Spiegelt einen gesamten Verzeichnisbaum und löscht am Ziel Daten, welche auf der Quelle nicht vorhanden sind. (Entspricht: /e und /PURGE).
/COPYALL Kopiert alle Dateiinformationen (Entspricht: D Data; A Attributes; T Time stamps; S NTFS access control list (ACL); O Owner information; U Auditing information).
/MT:16 Multi Tasking; Die Zahl gibt an, wieviele Kopiervorgänge gleichzeitig ausgeführt werden. Bei der Angabe von nur MT wird das Default 8 verwendet. Steigert die Performance uU erheblich
/SECFIX Repariert die Dateiberechtigungen auch an Dateien, die sich nicht geändert haben2)
/ZB Dadurch kann ein Administrator auch Dateien kopieren, auf die er normalerweise keinen Zugriff hat, sofern er das für Administratoren voreingestellte Recht für Backups besitzt.
/XJ überpringt sogenannte Junctions; dabei handelt es sich um spezielle Ordnerverknüpfungen im NTFS-Dateisystem. Lässt man den Schalter weg, kopiert Robocopy den Inhalt des Ordners, auf den die Junction verweist. Auch Hard Links, eine weitere NTFS-Spezialität, kann Robocopy als solche nicht kopieren und behandelt sie wie herkömmliche Dateien
/DCOPY:T Es werden auch die Zeitstempel für Verzeichnisse kopiert.
/XD Exclude Directory. Die angebenen Verzeichnisse werden nicht synchronisiert
/LOG:C:\cpfiles.log Schreibt ein Log der Kopiervorgänge in die Datei C:\cpfiles.log. Es werden keine Logs in die Konsole geschrieben.

Die Vorgehensweise sieht eine Replikation der Daten auf den neuen Fileserver während der Arbeitszeit vor. Danach werden die Login-Skripte angepasst und ein finaler robocopy-Lauf wird angestoßen, um die Änderungen des Tages am neuen Server zu aktualisieren.

Note: Quell- und Zielverzeichnis können mit einem Backslash abgeschlossen werden, dann wird nur der Inhalt des Quellverzeichnisses synchronisiert. Wird der Backslash dagegen weggelassen, wird das Quellverzeichnis als Ganzes synchronisiert.

Troubleshooting

  • /SECFIX: Als langfristige Maßnahme synchronisieren wir jede Nacht den Inhalt unseres Fileservers auf einen Spiegelserver, um im Bedarfsfall schneller wieder online zu sein. Aus irgendwelchen Gründen wurden dabei zT die Berechtigungen vieler (nicht allen) Dateien nicht übernommen, ebenfalls der Besitzer vieler Dateien wurde nicht übernommen. Um dieses Problem zu fixen haben wir den Schalter »/secfix« verwendet. Dieser kopiert auch Sicherheitsinformationen, wenn sich die Datei ansonsten nicht geändert hat. Robocopy synchronisiert anderfalls nur dann Informationen, wenn die Datei geändert wurde.
  • Priority Problem: Der tägliche Sync wird über die Aufgabenplanung des Zielservers (W2K8R2) ausgeführt und die Übertragungsgeschwindigkeit war im Vergleich zur direkten Ausführung in einer Konsole (cmd) fast schon unterirdisch. Wir hatten teilweise gerade mal eine Geschwindigkeit die in etwa 30% - 40% eines 100MBit/s Netzwerkes entsprach. Die gleiche Batchdatei direkt in einem Konsolenfenster gestartet, konnte wenigstens mit ca. 25% eines Gigabit LANs aufwarten. Gefunden haben wir dazu ein bekanntes Prioritätsproblem bzgl der Auftragsabwicklung3). Im Verzeichnis »%WINDIR%\System32\Tasks« befindet sich die Konfigurationsdatei der geplanten Aufgabe, ändern Sie dort den Tag »<Priority>7</Priority>« ab in »<Priority>5</Priority>«4)
  • /MT:16: Die bislang erzielte Übertragungsgeschwindigkeit war allerdings mit ca. 25% bis 35% eines Gigabit Netzwerkes immer noch nicht zufriedenstellend, so haben wir noch den Multi Tasking Parameter »/MT« ausgegraben. »MT:n« gibt an, dass n Kopiervorvorgänge gleichzeitig ausgeführt werden. Ohne Angabe von n ist default 8 für »MT« eingestellet. Wir haben den Schalter »/MT:16« verwendet und konnten damit ein Gigabit Netzwerk vollständig sättigen. Bei einer neuerlichen Migration des gesamten Fileservers wurden insgesamt über 4TB locker in den Abendstunden bis zum nächsten Morgen übertragen. Das rockt jetzt richtig… ;-)




Verwandte Artikel:
-> Freigaben/Shares auf einen anderen Rechner übertragen
-> Printserver Migration mit Print Migrator 3.1


pronto 2010/11/22 18:23
pronto 2014/10/02 15:51 (edit)

win/robocopy.txt (61407 views) · Zuletzt geändert: 2014/10/02 16:04 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0