Datenmigration über 2 ADs
Guten Morgen,
wir müssen im Zuge einer Umstellung alle DFS Daten (ca. 3-4TB) vom alten DFS auf das neue DFS in einer anderen Domain kopieren. Optimalerweise exklusive Berechtigungen da die neue AD eine andere Berechtigungsstruktur hat. Ich habe einzelne Ordner schonmal per Drag and Drop über Remoteverbindungen kopiert, da wir einige User bereits in die neue AD aufgenommen haben.
Leider war dies unerwartet komplett unperformant. Hat jemand damit Erfahrung bzw. einen Tipp wie ich das ganze schnell und sicher über die Bühne bekomme? Ich würde dies gerne über Nacht machen ohne alle Stunde schauen zu müssen ob er wegen eines Fehlers abgebrochen hat.
Danke im Voraus!!
Grüße
Nyze
wir müssen im Zuge einer Umstellung alle DFS Daten (ca. 3-4TB) vom alten DFS auf das neue DFS in einer anderen Domain kopieren. Optimalerweise exklusive Berechtigungen da die neue AD eine andere Berechtigungsstruktur hat. Ich habe einzelne Ordner schonmal per Drag and Drop über Remoteverbindungen kopiert, da wir einige User bereits in die neue AD aufgenommen haben.
Leider war dies unerwartet komplett unperformant. Hat jemand damit Erfahrung bzw. einen Tipp wie ich das ganze schnell und sicher über die Bühne bekomme? Ich würde dies gerne über Nacht machen ohne alle Stunde schauen zu müssen ob er wegen eines Fehlers abgebrochen hat.
Danke im Voraus!!
Grüße
Nyze
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2702283710
Url: https://administrator.de/contentid/2702283710
Ausgedruckt am: 24.11.2024 um 22:11 Uhr
12 Kommentare
Neuester Kommentar
Guten Morgen,
robocopy?
Damit sollte das recht zügig funktionieren.
Tipp: die Batch nicht robocopy.bat nennen :D
VG
robocopy?
@echo off
SET SOURCEDIR=E:\Quellordner
SET TARGETDIR=\\zielserver\zielfreigabe
SET LOGFILE=C:\Users\xxx\Desktop\Logfile.txt
SET OPTIONS=/E /LOG+:"%LOGFILE%"
@echo on
robocopy "%SOURCEDIR%" "%TARGETDIR%" %OPTIONS%
PAUSE
Damit sollte das recht zügig funktionieren.
Tipp: die Batch nicht robocopy.bat nennen :D
VG
Muss ich da Credentials mitgeben
wäre schon sinnig? :DKann man ja recht bequem via Tresor regeln.
Moin,
oder auf dem Quellserver das Zielverzeichnis mit entsprechendem User mappen.
Bei Robocopy nutze ich für die größeren Migrationen immer dir /MIR Option. D.h. das Script überträgt initial alle Ordner und Dateien. Und ab dem zweiten Start nur noch das Delta, was dann entsprechend schnell durch ist.
Gruß
oder auf dem Quellserver das Zielverzeichnis mit entsprechendem User mappen.
Bei Robocopy nutze ich für die größeren Migrationen immer dir /MIR Option. D.h. das Script überträgt initial alle Ordner und Dateien. Und ab dem zweiten Start nur noch das Delta, was dann entsprechend schnell durch ist.
Gruß
Bei Robocopy nutze ich für die größeren Migrationen immer dir /MIR Option. D.h. das Script überträgt initial alle Ordner und Dateien. Und ab dem zweiten Start nur noch das Delta, was dann entsprechend schnell durch ist.
Das macht robocopy mit dem o.g. Script auch schon.
Genau dafür nutze ich das. Neue Dateien werden übertragen, bereits übertragene werden abgeglichen und übersprungen.
Insgesamt KopiertšbersprungenKeine šbereinstimmung FEHLER Extras
Verzeich.: 209865 351 0 0 0 119
Dateien: 680611 1399 679212 0 0 284
Bytes: 648.147 g 1.804 g 646.343 g 0 0 96.06 m
Zeiten: 0:05:48 0:00:51 0:00:00 0:04:56
Grüße
Moin Zusammen,
folgend eine kleine Korrektur, damit es noch etwas schneller geht.
Wenn du noch zusätzlich auf den Quell- und Zielserver die folgenden Optimierungen per Power-Shell vornimmst ...
dann flutscht es definitiv noch ein Stück besser, vor allem wenn es sich bei dem Quell.- oder Zielserver
um einen Server 2019 oder 2022 handelt. 😉😎
Beste Grüsse aus BaWü
Alex
folgend eine kleine Korrektur, damit es noch etwas schneller geht.
@echo off
SET SOURCEDIR=E:\Quellordner
SET TARGETDIR=\\zielserver\zielfreigabe
SET LOGFILE=C:\Users\xxx\Desktop\Logfile.txt
SET OPTIONS=/E /j /LOG+:"%LOGFILE%"
@echo on
robocopy "%SOURCEDIR%" "%TARGETDIR%" %OPTIONS%
PAUSE
Wenn du noch zusätzlich auf den Quell- und Zielserver die folgenden Optimierungen per Power-Shell vornimmst ...
# SMB CLIENT OPTIMIZATION
Set-SmbClientConfiguration -DirectoryCacheLifetime 0
Set-SmbClientConfiguration -EnableBandwidthThrottling $false
Set-SmbClientConfiguration -FileInfoCacheLifetime 0
Set-SmbClientConfiguration -FileNotFoundCacheLifetime 0
Set-SmbClientConfiguration -WindowSizeThreshold 1
Set-SmbClientConfiguration -EnableLargeMtu $true
Set-SmbClientConfiguration -ConnectionCountPerRssNetworkInterface 4
Set-SmbClientConfiguration -MaxCmds 100
Set-SmbClientConfiguration -EnableSecuritySignature $false
Set-SmbClientConfiguration -RequireSecuritySignature $false
## SMB SERVER OPTIMIZATION
Set-SmbServerConfiguration -CachedOpenLimit 0
Set-SmbServerConfiguration -EnableLeasing $false
Set-SmbServerConfiguration -EnableMultiChannel $false
Set-SmbServerConfiguration -MaxChannelPerSession 32
Set-SmbServerConfiguration -MaxMpxCount 2048
Set-SmbServerConfiguration -MaxThreadsPerQueue 40
Set-SmbServerConfiguration -MaxWorkItems 8192
Set-SmbServerConfiguration -AsynchronousCredits 2048
Set-SmbServerConfiguration -TreatHostAsStableStorage $true
Set-SmbServerConfiguration -EnableSecuritySignature $false
Set-SmbServerConfiguration -RequireSecuritySignature $false
dann flutscht es definitiv noch ein Stück besser, vor allem wenn es sich bei dem Quell.- oder Zielserver
um einen Server 2019 oder 2022 handelt. 😉😎
Beste Grüsse aus BaWü
Alex
Moin,
Robocopy oder Backup&Restore. Und viel Zeit dafür planen. Wenn das über Netzwerk gehen soll, würde im optimalen Fall dafür 4TB/100MB/s =40000s ~= 11,5h benötigt, wenn man davon ausgeht, das ihr ein Gigabit-Ethernet habt. Die Erfahrung zeigt, daß es eher ein großes Vielfaches davon ist, wenn man sehr viele kleine Einzeldateien kopiert. Deswegen hat es sich als schneller erwiesen, sofern in den Systemen deutlich schnellere Platten stecken, die Daten auf eine interne Platte zu kopieren und diese dann im Zielsystem einzuspielen.
Oder wenn man ein regelmäßiges Backup macht, dieses einzuspielen und anschließend noch per Robocopy die fehlenden Dateien zu synchronisieren.
Die Rechte ândert man danach anschließend wie gewünscht.
lks
Robocopy oder Backup&Restore. Und viel Zeit dafür planen. Wenn das über Netzwerk gehen soll, würde im optimalen Fall dafür 4TB/100MB/s =40000s ~= 11,5h benötigt, wenn man davon ausgeht, das ihr ein Gigabit-Ethernet habt. Die Erfahrung zeigt, daß es eher ein großes Vielfaches davon ist, wenn man sehr viele kleine Einzeldateien kopiert. Deswegen hat es sich als schneller erwiesen, sofern in den Systemen deutlich schnellere Platten stecken, die Daten auf eine interne Platte zu kopieren und diese dann im Zielsystem einzuspielen.
Oder wenn man ein regelmäßiges Backup macht, dieses einzuspielen und anschließend noch per Robocopy die fehlenden Dateien zu synchronisieren.
Die Rechte ândert man danach anschließend wie gewünscht.
lks
Hallo,
Unterschied /e zu /mir: gelöschte Dateien an der Quelle werden nicht am Ziel gelöscht. Daher bevorzuge ich bei Migrationen die u.U. über mehrer Tage gehen /mir.
Aber, das ist ja von Fall zu Fall unteschiedlich.
Hier auch noch die Doku von MS:
https://docs.microsoft.com/en-us/windows-server/administration/windows-c ...
Gruß
Zitat von @141986:
Das macht robocopy mit dem o.g. Script auch schon.
Genau dafür nutze ich das. Neue Dateien werden übertragen, bereits übertragene werden abgeglichen und übersprungen.
Stimmt.Das macht robocopy mit dem o.g. Script auch schon.
Genau dafür nutze ich das. Neue Dateien werden übertragen, bereits übertragene werden abgeglichen und übersprungen.
Unterschied /e zu /mir: gelöschte Dateien an der Quelle werden nicht am Ziel gelöscht. Daher bevorzuge ich bei Migrationen die u.U. über mehrer Tage gehen /mir.
Aber, das ist ja von Fall zu Fall unteschiedlich.
Hier auch noch die Doku von MS:
https://docs.microsoft.com/en-us/windows-server/administration/windows-c ...
Gruß
Hi,
rausnehmen aus dem Script
bzw. in ändern.
Dann solltest Du sehen, an welcher File robocopy gerade arbeitet.
VG
Edit: wenn gelöst, bitte auf gelöst setzen (evtl. kannst Du das ja bei deinen anderen Anfragen auch noch umsetzen; die Helfenden wissen es zu schätzen)
@echo off
bzw. in
@echo on
Dann solltest Du sehen, an welcher File robocopy gerade arbeitet.
VG
Edit: wenn gelöst, bitte auf gelöst setzen (evtl. kannst Du das ja bei deinen anderen Anfragen auch noch umsetzen; die Helfenden wissen es zu schätzen)
Moin Nyze,
dafür musst du im Skript die folgende Zeile
nur um den Parameter /tee, sprich,
erweitern.
Beste Grüsse aus BaWü
Alex
Hallo Alex,
kannst du mir evtl. sagen wie der Command ist um zu sehen wo er derzeit kopiert? Es wird zwar alles in Logs ausgegeben aber ich finde nichts dazu, wie ich ihm sage ich will in der CMD stehen was gerade passiert?! Hab jetzt auf ca. 8 Seiten geschaut und nix dazu gefunden.
und Danke für deine Hilfe.
kannst du mir evtl. sagen wie der Command ist um zu sehen wo er derzeit kopiert? Es wird zwar alles in Logs ausgegeben aber ich finde nichts dazu, wie ich ihm sage ich will in der CMD stehen was gerade passiert?! Hab jetzt auf ca. 8 Seiten geschaut und nix dazu gefunden.
und Danke für deine Hilfe.
dafür musst du im Skript die folgende Zeile
SET OPTIONS=/E /j /LOG+:"%LOGFILE%"
SET OPTIONS=/E /j /tee /LOG+:"%LOGFILE%"
Beste Grüsse aus BaWü
Alex