Verwenden von Data Box für die Migration von Network Attached Storage (NAS) zu Azure-Dateifreigaben

Dieser Artikel zur Migration ist einer von mehreren Artikeln mit den Schlüsselwörtern „NAS“ und „Azure Data Box“. Überprüfen Sie, ob dieser Artikel für Ihr Szenario zutrifft:

  • Datenquelle: Network Attached Storage (NAS)
  • Migrationsroute: NAS ⇒ Data Box ⇒ Azure-Dateifreigabe
  • Keine lokale Zwischenspeicherung von Dateien: Da das endgültige Ziel darin besteht, die Azure-Dateifreigaben direkt in der Cloud zu verwenden, ist nicht geplant, die Azure-Dateisynchronisierung zu verwenden.

Wenn Ihr Szenario anders ist, sehen Sie sich die Tabelle mit Migrationsleitfäden an.

In diesem Artikel wird Schritt für Schritt der gesamte Prozess für die Planung, Bereitstellung und Netzwerkkonfiguration beschrieben, der erforderlich ist, um die Migration von Ihrer NAS-Appliance zu funktionierenden Azure-Dateifreigaben durchzuführen. In dieser Anleitung wird Azure Data Box für den Massentransport von Daten (Offlinetransport) genutzt.

Gilt für:

Dateifreigabetyp SMB NFS
Standard-Dateifreigaben (GPv2), LRS/ZRS Ja Nein
Standard-Dateifreigaben (GPv2), GRS/GZRS Ja Nein
Premium-Dateifreigaben (FileStorage), LRS/ZRS Ja Nein

Migrationsziele

Das Ziel besteht darin, die Freigaben auf Ihrer NAS-Appliance nach Azure zu verschieben und als native Azure-Dateifreigaben bereitzustellen. Sie können native Azure-Dateifreigaben ohne Windows Server verwenden. Diese Migration muss so erfolgen, dass die Integrität der Produktionsdaten und die Verfügbarkeit während der Migration gewährleistet wird. Letzteres erfordert minimale Ausfallzeiten, damit sie in normalen Wartungsfenstern stattfinden kann oder diese nur geringfügig überschreitet.

Übersicht zur Migration

Der Migrationsprozess besteht aus mehreren Phasen. Sie müssen Azure Storage-Konten und Dateifreigaben bereitstellen und das Netzwerk konfigurieren. Anschließend migrieren Sie Ihre Dateien mithilfe von Azure DataBox und verwenden RoboCopy, um Änderungen zu berücksichtigen. Abschließend stellen Sie Ihre Benutzer und Apps auf die neu erstellten Azure-Dateifreigaben um. In den folgenden Abschnitten werden die Phasen des Migrationsprozesses ausführlich beschrieben.

Tipp

Wenn Sie zu diesem Artikel zurückkehren, wechseln Sie anhand der Navigation auf der rechten Seite zu der Migrationsphase, in der Sie aufgehört haben.

Phase 1: Ermitteln der Anzahl der benötigten Azure-Dateifreigaben

In diesem Schritt ermitteln Sie, wie viele Azure-Dateifreigaben Sie benötigen. Möglicherweise verfügen Sie über weitere Ordner auf Ihren Volumes, die Sie derzeit lokal als SMB-Freigaben für Ihre Benutzer und Apps freigeben. Abhängig von der Anzahl der Dateifreigaben, die Sie zur Cloud migrieren möchten, können Sie entweder eine 1:1-Zuordnung oder eine Freigabegruppierung verwenden.

Verwenden einer 1:1-Zuordnung

Bei einer ausreichend geringen Anzahl von Freigaben wird eine 1:1-Zuordnung empfohlen. Am einfachsten können Sie sich dieses Szenario vorstellen, wenn Sie sich eine lokale Freigabe vorstellen, die sich 1:1 zu einer Azure-Dateifreigabe zuordnen lässt.

Verwenden von Freigabegruppierungen

Wenn Sie über eine große Anzahl von Dateifreigaben verfügen, sollten Sie eine Freigabegruppierung in Erwägung ziehen. Wenn Ihre Personalabteilung z. B. über 15 Freigaben verfügt, können Sie in Erwägung ziehen, alle Personaldaten in einer einzelnen Azure-Dateifreigabe zu speichern. Dadurch wird für diese Gruppe lokaler Freigaben nur eine einzige Azure-Dateifreigabe in der Cloud benötigt.

Phase 2: Bereitstellen von Azure Storage-Ressourcen

In dieser Phase stellen Sie die Azure Storage-Konten und die darin enthaltenen Dateifreigaben bereit.

Denken Sie daran, dass eine Azure-Dateifreigabe in der Cloud in einem Azure Storage-Konto bereitgestellt wird. Bei Standarddateifreigaben macht dies das Speicherkonto zu einem Skalierungsziel für Leistungswerte wie IOPS und Durchsatz. Das Platzieren mehrerer Dateifreigaben in einem einzelnen Speicherkonto bedeutet, dass Sie einen freigegebenen Pool mit IOPS und Durchsatz für diese Freigaben erstellen.

Als allgemeine Regel können Sie mehrere Azure-Dateifreigaben im selben Speicherkonto zusammenfassen, wenn Sie Archivierungsfreigaben verwenden oder nur eine geringe tägliche Aktivität erwarten. Wenn Sie jedoch über sehr aktive Freigaben verfügen (Freigaben, die von vielen Benutzern und/oder Anwendungen verwendet werden), sollten Sie Speicherkonten mit jeweils einer Dateifreigabe bereitstellen. Diese Einschränkungen gelten nicht für File Storage-Konten (Premium), bei denen die Leistung für jede Freigabe explizit bereitgestellt und garantiert wird.

Hinweis

Es gilt ein Grenzwert von 250 Speicherkonten pro Abonnement und Azure-Region. Mit einer Kontingenterhöhung können Sie bis zu 500 Speicherkonten pro Region erstellen. Weitere Informationen finden Sie unter Erhöhen von Azure Storage-Kontokontingenten.

Ein weiterer Aspekt, den Sie bei der Bereitstellung eines Speicherkontos berücksichtigen sollten, ist die Redundanz. Weitere Informationen finden Sie unter Azure Files-Redundanz.

Azure-Dateifreigaben werden standardmäßig mit einem Grenzwert von 5 TiB erstellt. Wenn Sie mehr Kapazität benötigen, können Sie eine große Dateifreigabe (bis zu 100 TiB) erstellen. Diese Freigabe kann jedoch nur die Redundanzoptionen mit lokal redundantem Speicher oder zonenredundantem Speicher nutzen. Daher sollten Sie Ihre Speicherredundanzanforderungen berücksichtigen, bevor Sie Dateifreigabe mit 100 TiB verwenden.

Nachdem Sie eine Liste Ihrer Freigaben erstellt haben, sollten Sie jede Freigabe dem Speicherkonto zuordnen, in dem sie erstellt wird.

Auch die Namen Ihrer Ressourcen sind wichtig. Wenn Sie z.B. mehrere Freigaben für die Personalabteilung in einem Azure-Speicherkonto gruppieren, sollten Sie einen entsprechenden Namen für das Speicherkonto wählen. Gleichermaßen sollten Sie beim Benennen Ihrer Azure-Dateifreigaben Namen verwenden, die denen der lokalen Entsprechungen ähneln.

Stellen Sie nun die entsprechende Anzahl von Azure Storage-Konten mit der entsprechenden Anzahl von Azure-Dateifreigaben bereit, indem Sie die Anweisungen unter Erstellen einer SMB-Dateifreigabe befolgen. In den meisten Fällen sollten Sie sicherstellen, dass die Region der einzelnen Speicherkonten identisch ist.

Phase 3: Bestimmen der Anzahl der benötigten Azure DataBox-Appliances

Starten Sie diesen Schritt nur, wenn Sie die vorherige Phase abgeschlossen haben. Ihre Azure Storage-Ressourcen (Speicherkonten und Dateifreigaben) sollten zu diesem Zeitpunkt erstellt werden. Bei der DataBox-Bestellung müssen Sie angeben, in welche Speicherkonten die DataBox Daten verschieben soll.

In dieser Phase müssen Sie die Ergebnisse des Migrationsplans aus der vorherigen Phase den Grenzwerten der verfügbaren DataBox-Optionen zuordnen. Diese Überlegungen helfen Ihnen bei der Planung, welche DataBox-Optionen Sie auswählen sollten, und wie viele sie davon benötigen, um Ihre NAS-Freigaben in Azure-Dateifreigaben zu verschieben.

Um zu ermitteln, wie viele Geräte welchen Typs Sie benötigen, sollten Sie die folgenden wichtigen Grenzwerte beachten:

  • Beliebige Azure DataBox-Geräte können Daten in bis zu 10 Speicherkonten verschieben.
  • Jede DataBox-Option verfügt über eine eigene nutzbare Kapazität. Siehe DataBox-Optionen.

Entnehmen Sie Ihrem Migrationsplan die Anzahl der Speicherkonten, die Sie erstellen möchten, und die Freigaben in jedem einzelnen. Sehen Sie sich dann die Größe der einzelnen Freigaben in Ihrem NAS an. Die Kombination dieser Informationen erlaubt Ihnen, zu optimieren und zu entscheiden, welche Appliance Daten an welche Speicherkonten senden soll. Sie können zwei DataBox-Geräte verwenden, um Dateien in dasselbe Speicherkonto zu verschieben, aber teilen Sie den Inhalt einer einzelnen Dateifreigabe nicht auf zwei DataBox-Geräte auf.

DataBox-Optionen

Für eine Standardmigration sollte eine DataBox-Option oder eine Kombination dieser beiden DataBox-Optionen ausgewählt werden:

  • DataBox: Dies ist die gängigste Option. Eine robuste DataBox-Appliance, die ähnlich wie ein NAS funktioniert, wird Ihnen geliefert. Sie verfügt über eine verwendbare Kapazität von 80 TiB. Weitere Informationen finden Sie unter Was ist Azure DataBox?.
  • DataBox Heavy: Diese Option bietet eine robuste DataBox-Appliance auf Rädern, die ähnlich wie ein NAS mit einer Kapazität von 1 PiB funktioniert. Die nutzbare Kapazität ist aufgrund der Verschlüsselung und des Dateisystemoverheads 20 % niedriger. Weitere Informationen finden Sie unter Was ist Azure Data Box Heavy?.

Warnung

Data Box Disks werden für Migrationen in Azure-Dateifreigaben nicht empfohlen. Data Box Disks behalten keine Dateimetadaten bei, z. B. Zugriffsberechtigungen (ACLs) und andere Attribute.

Phase 4: Bereitstellen einer temporären Windows Server-Instanz

Während Sie auf das Eintreffen Ihrer Azure Data Box warten (eine oder auch mehrere), können Sie bereits die Windows Server-Instanzen bereitstellen, die Sie zum Ausführen von Robocopy-Aufträgen benötigen.

  • Die erste Aufgabe für diese Server ist das Kopieren von Dateien auf die Data Box.
  • Die zweite Aufgabe dieser Server ist die Bereitstellung der Änderungen, die auf der NAS-Appliance während des Data Box-Transports vorgenommen wurden. Mit diesem Ansatz wird die Downtime aufseiten der Quelle auf ein Mindestmaß reduziert.

Die Geschwindigkeit, mit der Ihre Robocopy-Aufträge ausgeführt werden, hängt hauptsächlich von den folgenden Faktoren ab:

  • IOPS im Quell- und Zielspeicher
  • Verfügbare Bandbreite zwischen Quelle und Ziel
    Ausführlichere Informationen finden Sie im Abschnitt zur Problembehandlung unter IOPS- und Bandbreitenaspekte.
  • Schnelle Verarbeitung von Dateien und Ordnern in einem Namespace
    Ausführlichere Informationen finden Sie im Abschnitt zur Problembehandlung unter Verarbeitungsgeschwindigkeit.
  • Anzahl von Änderungen zwischen Robocopy-Ausführungen
    Ausführlichere Informationen finden Sie im Abschnitt zur Problembehandlung unter Vermeiden von unnötigem Arbeitsaufwand.

Es ist wichtig, die obigen Details zu berücksichtigen, wenn Sie die Entscheidungen in Bezug auf den RAM und die Threadanzahl für Ihre temporären Windows Server-Instanzen treffen.

Phase 5: Vorbereiten der Nutzung von Azure-Dateifreigaben

Um Zeit zu sparen, sollten Sie mit der Arbeit an dieser Phase bereits beginnen, während Sie auf das Eintreffen Ihrer Data Box warten. Anhand der Informationen dieser Phase können Sie entscheiden, wie Ihre Server und Benutzer inner- und außerhalb von Azure Ihre Azure-Dateifreigaben nutzen können. Wichtigste Entscheidungen:

  • Netzwerk: Ermöglichen Sie für Ihre Netzwerke das Weiterleiten von SMB-Datenverkehr.
  • Authentifizierung: Konfigurieren Sie Azure-Speicherkonten für die Kerberos-Authentifizierung. Wenn AD Connect genutzt und für Ihr Speicherkonto der Domänenbeitritt durchgeführt wird, können Ihre Apps und Benutzer ihre eigene AD-Identität für die Authentifizierung verwenden.
  • Autorisierung: ACLs auf Freigabeebene für jede Azure-Dateifreigabe ermöglichen AD-Benutzern und -Gruppen den Zugriff auf eine Freigabe, und innerhalb einer Azure-Dateifreigabe werden dann native NTFS-ACLs genutzt. Die auf Datei- und Ordner-ACLs basierende Autorisierung funktioniert anschließend wie bei lokalen SMB-Freigaben.
  • Geschäftskontinuität: Für die Integration von Azure-Dateifreigaben in eine vorhandene Umgebung ist es häufig erforderlich, vorhandene Freigabeadressen beizubehalten. Falls Sie DFS-Namespaces nicht bereits verwenden, sollten Sie dies für Ihre Umgebung erwägen. Sie haben dann die Möglichkeit, Freigabeadressen, die von Ihren Benutzern und Skripts verwendet werden, unverändert beizubehalten. Sie nutzen hierbei DFS-N als Namespace-Routingdienst für SMB, indem Sie DFS-Namespaceziele nach deren Migration auf Azure-Dateifreigaben umleiten.

Dieses Video ist eine Anleitung und Demo dazu, wie Azure-Dateifreigaben in fünf einfachen Schritte für Information-Worker und Apps auf sichere Weise direkt verfügbar gemacht werden können.
Das Video verweist auf die dedizierte Dokumentation für die folgenden Themen. Beachten Sie, dass Azure Active Directory jetzt Microsoft Entra-ID ist. Weitere Informationen finden Sie unter Neuer Name für Azure AD.

Phase 6: Kopieren von Dateien auf Ihre Data Box

Nachdem Ihre Data Box eingetroffen ist, müssen Sie sie mit uneingeschränkter Netzwerkverbindung mit Ihrer NAS-Appliance einrichten. Befolgen Sie die Installationsdokumentation für den DataBox-Typ, den Sie bestellt haben.

Abhängig vom DataBox-Typ sind möglicherweise DataBox-Kopiertools verfügbar. An diesem Punkt werden sie nicht für Migrationen zu Azure-Dateifreigaben empfohlen, da sie Ihre Dateien nicht mit voller Genauigkeit in die DataBox kopieren. Verwenden Sie stattdessen Robocopy.

Wenn Ihre DataBox eintrifft, weist sie für jedes Speicherkonto, das Sie zum Zeitpunkt der Bestellung angegeben haben, vorab bereitgestellte SMB-Freigaben auf.

  • Wenn Ihre Dateien in einer Azure-Premium-Dateifreigabe gespeichert werden, steht eine SMB-Freigabe pro Premium-File Storage-Speicherkonto zur Verfügung.
  • Wenn Ihre Dateien in einem Standardspeicherkonto gespeichert werden, stehen drei SMB-Freigaben pro Standardspeicherkonto (GPv1 und GPv2) bereit. Nur die Dateifreigaben, die mit _AzFiles enden, sind für Ihre Migration relevant. Ignorieren Sie alle Block- und Seitenblobfreigaben.

Führen Sie die Schritte in der Azure DataBox-Dokumentation aus:

  1. Herstellen einer Verbindung mit der Data Box
  2. Kopieren von Daten auf die Data Box
  3. Vorbereiten Ihrer DataBox für den Versand zu Azure

In der verknüpften DataBox-Dokumentation wird ein Robocopy-Befehl angegeben. Der Befehl eignet sich jedoch nicht für die Beibehaltung der vollständigen Datei- und Ordnergenauigkeit. Verwenden Sie stattdessen diesen Befehl:

Robocopy /MT:32 /NP /NFL /NDL /B /MIR /IT /COPY:DATSO /DCOPY:DAT /UNILOG:<FilePathAndName> <SourcePath> <Dest.Path> 
  • Weitere Informationen zu den Details der einzelnen Robocopy-Flags finden Sie in der Tabelle, die unten im Robocopy-Abschnitt enthalten ist.
  • Weitere Informationen zum richtigen Dimensionieren der Threadanzahl /MT:n, Optimieren der Robocopy-Geschwindigkeit und Einfügen von Robocopy als problemlose Komponente in Ihrem Rechenzentrum finden Sie im Abschnitt zur Problembehandlung für Robocopy.

Tipp

Als Alternative zu Robocopy hat Data Box einen Datenkopierdienst erstellt. Sie können diesen Dienst nutzen, um Dateien mit vollständiger Genauigkeit in Ihre Data Box zu laden. Folgen Sie diesem Lernprogramm zum Datenkopierdienst, und stellen Sie sicher, dass Sie das richtige Ziel für die Azure-Dateifreigabe festlegen.

Phase 7: Bereitstellen der Änderungen in Ihrem NAS mit Robocopy

Nachdem für Ihre Data Box gemeldet wurde, dass alle Dateien und Ordner auf den geplanten Azure-Dateifreigaben platziert wurden, können Sie mit dieser Phase fortfahren. Der Vorgang zum Bereitstellen von Änderungen mit Robocopy ist nur erforderlich, wenn sich die Daten im NAS seit dem Start des Data Box-Kopiervorgangs ggf. geändert haben. In bestimmten Szenarien, in denen Sie eine Freigabe für Archivierungszwecke verwenden, können Sie das Vornehmen von Änderungen auf der Freigabe Ihres NAS unter Umständen so lange zurückhalten, bis die Migration abgeschlossen ist. Möglicherweise können Sie Ihre geschäftlichen Anforderungen auch erfüllen, indem Sie für die NAS-Freigaben während der Migration den Schreibschutz aktivieren.

In Fällen, in denen bei Ihnen für eine Freigabe während der Migration der Schreibschutz aktiviert sein muss und nur ein kleines Downtimefenster zur Verfügung steht, muss die Ausführung dieses Robocopy-Schritts zum Bereitstellen der Änderungen vollständig abgeschlossen sein, bevor für den Benutzerzugriff das Failover direkt auf die Azure-Dateifreigabe erfolgt.

In diesem Schritt führen Sie Robocopy-Aufträge aus, um Ihre Cloudfreigaben mit den neuesten Änderungen Ihres NAS, seitdem Sie Ihre Freigaben auf die DataBox verschoben haben, zu aktualisieren. Diese Aktualisierung mit Robocopy kann je nach Menge der Änderungen, die auf Ihren NAS-Freigaben aufgetreten sind, schnell beendet sein oder eine Weile dauern.

Erstellen Sie die erste lokale Kopie in Ihrem Windows Server-Zielordner:

  1. Identifizieren Sie den ersten Speicherort auf Ihrer NAS-Appliance.
  2. Ermitteln Sie die übereinstimmende Azure-Dateifreigabe.
  3. Binden Sie die Azure-Dateifreigabe als lokales Netzlaufwerk auf Ihrer temporären Windows Server-Instanz ein.
  4. Starten Sie den Kopiervorgang wie beschrieben mit Robocopy.

Einbinden einer Azure-Dateifreigabe

Bevor Sie Robocopy verwenden können, müssen Sie die Azure-Dateifreigabe per SMB zugänglich machen. Die einfachste Möglichkeit besteht darin, die Freigabe als lokales Netzlaufwerk für die Windows Server-Instanz einzubinden, die Sie für Robocopy verwenden möchten.

Wichtig

Bevor Sie eine Azure-Dateifreigabe erfolgreich auf einer lokalen Windows Server-Instanz einbinden können, müssen Sie die Phase „Vorbereiten der Nutzung von Azure-Dateifreigaben“ abgeschlossen haben!

Lesen Sie sich anschließend den Artikel Verwenden einer Azure-Dateifreigabe mit Windows durch, und binden Sie die Azure-Dateifreigabe ein, für die Sie das Bereitstellen der NAS-Änderungen mit Robocopy starten möchten.

Robocopy

Mit dem folgenden Robocopy-Befehl werden nur die Unterschiede (aktualisierte Dateien und Ordner) aus Ihrem NAS-Speicher auf Ihre Azure-Dateifreigabe kopiert.

robocopy <SourcePath> <Dest.Path> /MT:20 /R:2 /W:1 /B /MIR /IT /COPY:DATSO /DCOPY:DAT /NP /NFL /NDL /XD "System Volume Information" /UNILOG:<FilePathAndName> 
Schalter Bedeutung
/MT:n Hiermit kann Robocopy mit mehreren Threads ausgeführt werden. Der Standardwert für n ist 8. Das Maximum beträgt 128 Threads. Eine hohe Anzahl von Threads trägt zwar dazu bei, die verfügbare Bandbreite auszuschöpfen, aber dies bedeutet nicht, dass Ihre Migration mit mehr Threads immer schneller ist. Tests mit Azure Files zeigen, dass mit einer Anzahl von 8 bis 20 Threads eine ausgewogene Leistung für einen ersten Kopierlauf erzielt wird. Nachfolgende Ausführungen von /MIR werden zunehmend durch die verfügbare Computeleistung und nicht durch die verfügbare Netzwerkbandbreite beeinflusst. Stimmen Sie bei nachfolgenden Ausführungen den Wert für die Threadanzahl genauer auf die Prozessorkernanzahl und die Threadanzahl pro Kern ab. Überprüfen Sie, ob Kerne für andere Tasks reserviert werden müssen, über die ein Produktionsserver verfügen könnte. Tests mit Azure Files haben gezeigt, dass bis zu 64 Threads eine gute Leistung liefern, aber nur, wenn Ihre Prozessoren sie gleichzeitig aktiv halten können.
/R:n Dies ist die maximale Anzahl der Wiederholungsversuche für eine Datei, bei der beim ersten Kopierversuch ein Fehler auftritt. Robocopy führt n Versuche durch, bevor bei der Ausführung für die Datei ein dauerhafter Kopierfehler auftritt. Sie können die Leistung Ihres Durchlaufs optimieren: Wählen Sie einen Wert von 2 oder 3, wenn Sie annehmen, dass Timeouts in der Vergangenheit zu Fehlern geführt haben. Dies kann bei WAN-Verbindungen häufiger vorkommen. Wählen Sie keine Wiederholung oder den Wert 1, wenn Sie glauben, dass die Datei nicht kopiert werden konnte, weil sie aktiv in Verwendung war. Ein erneuter Versuch ein paar Sekunden später reicht möglicherweise nicht aus, um den Status der Datei zu ändern. Benutzer oder Apps, die die Datei geöffnet haben, benötigen möglicherweise einige Stunden mehr Zeit. Wenn Sie in diesem Fall akzeptieren, dass die Datei nicht kopiert wurde, und dies in einem späteren geplanten Robocopy-Lauf nachholen, kann die Datei möglicherweise erfolgreich kopiert werden. So kann der aktuelle Durchlauf schneller abgeschlossen werden, ohne sich durch zahlreiche Wiederholungsversuche in die Länge zu ziehen, die letztlich dazu führen, dass ein Großteil der Kopiervorgänge fehlschlägt, weil die Dateien nach Ablauf des Zeitlimits für Wiederholungsversuche weiterhin geöffnet sind.
/W:n Hiermit wird die Zeit angegeben, die Robocopy vor dem Versuch wartet, eine Datei zu kopieren, die bei einem vorherigen Versuch nicht erfolgreich kopiert wurde. n entspricht der Anzahl der zwischen Wiederholungsversuchen zu wartenden Sekunden. /W:n wird häufig in Verbindung mit /R:n verwendet.
/B Führt Robocopy in dem Modus aus, den auch eine Sicherungsanwendung verwenden würde. Diese Option ermöglicht Robocopy das Verschieben von Dateien, für die der aktuelle Benutzer keine Berechtigungen hat. Die Sicherungsoption ist abhängig von der Ausführung des Robocopy-Befehls in einer Konsole mit Administratorrechten oder einem PowerShell-Fenster. Wenn Sie Robocopy für Azure Files verwenden, stellen Sie sicher, dass Sie die Azure-Dateifreigabe mit dem Zugriffsschlüssel des Speicherkontos und nicht mit einer Domänenidentität einbinden. Andernfalls führen Sie die Fehlermeldungen möglicherweise nicht intuitiv zu einer Lösung des Problems.
/MIR (Quelle im Ziel spiegeln) Hiermit hat Robocopy die Möglichkeit, nur Deltas zwischen der Quelle und dem Ziel zu kopieren. Leere Unterverzeichnisse werden kopiert. Elemente (Dateien oder Ordner), die geändert wurden oder nicht im Ziel vorhanden sind, werden kopiert. Elemente, die im Ziel, aber nicht in der Quelle vorhanden sind, werden aus dem Ziel gelöscht. Wenn Sie diese Option verwenden, passen Sie die Quell- und Zielordnerstrukturen genau an. Übereinstimmung bedeutet, dass aus der richtigen Quelle und Ordnerebene in die entsprechende Ordnerebene im Ziel kopiert wird. Nur dann kann ein Kopiervorgang zum „Aufholen“ erfolgreich durchgeführt werden. Wenn die Quelle und das Ziel nicht übereinstimmen, können mithilfe von /MIR umfassende Lösch- und wiederholte Kopiervorgänge durchgeführt werden.
/IT Sorgt dafür, dass die Genauigkeit in bestimmten Spiegelungsszenarien beibehalten wird.
Wenn beispielsweise bei einer Datei zwischen zwei Robocopy-Ausführungen eine ACL-Änderung und ein Attributupdate durchgeführt werden, wird diese als „ausgeblendet“ gekennzeichnet. Ohne /IT bemerkt Robocopy die ACL-Änderung möglicherweise nicht und führt daher auch keine Übertragung an den Zielspeicherort aus.
/COPY:[copyflags] Dies ist die Genauigkeit der Dateikopie. Standardwert: /COPY:DAT. Kopierflags: D = Daten, A = Attribute, T = Zeitstempel, S = Sicherheit = NTFS-ACLs, O = Besitzerinformationen, U = Überwachungsinformationen Überwachungsinformationen können nicht in einer Azure-Dateifreigabe gespeichert werden.
/DCOPY:[copyflags] Dies ist die Genauigkeit für die Kopie von Verzeichnissen. Standardwert: /DCOPY:DA. Kopierflags: D = Daten, A = Attribute, T = Zeitstempel.
/NP Hiermit wird angegeben, dass der Kopierfortschritt für alle Dateien und Ordner nicht angezeigt wird. Das Anzeigen des Fortschritts reduziert die Kopierleistung erheblich.
/NFL Gibt an, dass Dateinamen nicht protokolliert werden. Hiermit wird die Kopierleistung verbessert.
/NDL Gibt an, dass Verzeichnisnamen nicht protokolliert werden. Hiermit wird die Kopierleistung verbessert.
/XD Gibt die auszuschließenden Verzeichnisse an. Wenn Sie Robocopy im Stammverzeichnis eines Volumes ausführen, erwägen Sie den Ausschluss des ausgeblendeten Ordners System Volume Information. Bei bestimmungsgemäßer Verwendung gelten alle darin enthaltenen Informationen für genau dieses Volume auf genau diesem System und können bei Bedarf wiederhergestellt werden. Das Kopieren dieser Informationen in die Cloud oder das Zurückkopieren der Daten auf ein anderes Windows-Volume hat keinen Nutzen. Der Wegfall dieser Inhalte sollte nicht als Datenverlust betrachtet werden.
/UNILOG:<file name> Hiermit wird der Status als Unicode in die Protokolldatei geschrieben. (Überschreibt das vorhandene Protokoll.)
/L Nur für einen Testlauf
Dateien sollen nur aufgelistet werden. Sie werden nicht kopiert, nicht gelöscht und nicht mit einem Zeitstempel versehen. Wird häufig mit /TEE für die Konsolenausgabe verwendet. Flags aus dem Beispielskript, z. B. /NP, /NFL und /NDL, müssen möglicherweise entfernt werden, um ordnungsgemäß dokumentierte Testergebnisse zu erzielen.
/Z Vorsicht:
Kopiert Dateien im Neustartmodus. Diese Option wird nur in einer instabilen Netzwerkumgebung empfohlen. Sie reduziert die Kopierleistung aufgrund der zusätzlichen Protokollierung erheblich.
/ZB Vorsicht:
Verwendet den Neustartmodus. Wenn der Zugriff verweigert wird, wird der Sicherungsmodus verwendet. Diese Option reduziert die Kopierleistung aufgrund der Prüfpunkte erheblich.

Wichtig

Es wird empfohlen, Windows Server 2022 zu verwenden. Stellen Sie bei Verwendung von Windows Server 2019 sicher, dass die neueste Patchebene angewendet wurde oder mindestens das Betriebssystemupdate KB5005103 installiert ist. Dieses Update enthält wichtige Korrekturen für bestimmte Robocopy-Szenarien.

Tipp

Lesen Sie sich den Abschnitt zur Problembehandlung durch, wenn Robocopy Ihre Produktionsumgebung beeinträchtigt, viele Fehler meldet oder nicht so schnell wie erwartet ausgeführt wird.

Benutzerübernahme

Wenn Sie den RoboCopy-Befehl zum ersten Mal ausführen, greifen Ihre Benutzer und Anwendungen weiterhin auf Dateien auf dem NAS zu und ändern sie möglicherweise. Es kann vorkommen, dass Robocopy ein Verzeichnis verarbeitet und mit dem nächsten fortfährt und dann ein Benutzer am Quellspeicherort (NAS) eine Datei hinzufügt, ändert oder löscht. Diese wird dann während dieser aktuellen Robocopy-Ausführung nicht verarbeitet. Dies ist das erwartete Verhalten.

Bei der ersten Ausführung wird der Großteil der geänderten Daten auf Ihre Azure-Dateifreigabe verschoben. Dieser erste Kopiervorgang kann eine Weile dauern. Weitere Informationen dazu, wie die Robocopy-Geschwindigkeit ggf. beeinträchtigt werden kann, finden Sie im Abschnitt zur Problembehandlung.

Nachdem die erste Ausführung beendet wurde, führen Sie den Befehl erneut aus.

Wenn Sie Robocopy zum zweiten Mal für dieselbe Freigabe ausführen, wird der Vorgang schneller abgeschlossen, da nur Änderungen, die seit der letzten Ausführung aufgetreten sind, übertragen werden müssen. Sie können wiederholte Aufträge für dieselbe Freigabe ausführen.

Wenn die Ausfallzeit für Sie akzeptabel ist, müssen Sie den Benutzerzugriff auf Ihre NAS-basierten Freigaben aufheben. Dazu können Sie jeden beliebigen Schritt ausführen, mit dem Benutzer daran gehindert werden, die Datei- und Ordnerstruktur sowie den Inhalt zu ändern. Ein Beispiel hierfür: Ihr DFS-Namespace verweist auf einen nicht vorhandenen Speicherort, oder Sie ändern die Stamm-ACLs auf der Freigabe.

Führen Sie einen letzten Robocopy-Durchgang aus. Dadurch werden alle Änderungen übernommen, die möglicherweise ausgelassen wurden. Wie lange dieser letzte Schritt dauert, hängt von der Geschwindigkeit des RoboCopy-Scans ab. Sie können die Zeit (gleich der Ausfallzeit) schätzen, indem Sie messen, wie lange die vorherige Ausführung gedauert hat.

Erstellen Sie eine Freigabe für den Windows Server-Ordner, und passen Sie Ihre DFS-N-Bereitstellung ggf. so an, dass sie auf diese zeigt. Stellen Sie sicher, dass Sie die gleichen Berechtigungen auf Freigabeebene wie auf Ihrer NAS-SMB-Freigabe festlegen. Wenn Sie einen NAS hatten, der in eine Domäne eingebunden war, stimmen die Benutzer-SIDs automatisch überein, da die Benutzer in Active Directory vorhanden sind und Robocopy Dateien und Metadaten in voller Genauigkeit kopiert. Wenn Sie lokale Benutzer in Ihrem NAS verwendet haben, müssen Sie diese Benutzer als lokale Windows Server-Benutzer erstellen und die vorhandenen SIDs, die Robocopy auf Ihre Windows Server-Instanz verschoben hat, den SIDs der neuen lokalen Benutzer von Windows Server zuordnen.

Sie haben die Migration einer Freigabe/Gruppe von Freigaben zu einem gemeinsamen Stamm oder Volume abgeschlossen.

Sie können einige dieser Kopiervorgänge parallel ausführen. Es wird empfohlen, jeweils eine Azure-Dateifreigabe auf einmal zu verarbeiten.

Problembehandlung

Die Geschwindigkeit und die Erfolgsrate einer bestimmten Robocopy-Ausführung hängt von mehreren Faktoren ab:

  • IOPS im Quell- und Zielspeicher
  • Verfügbare Netzwerkbandbreite zwischen Quelle und Ziel
  • Schnelle Verarbeitung von Dateien und Ordnern in einem Namespace
  • Anzahl von Änderungen zwischen Robocopy-Ausführungen
  • Größe und Anzahl der Dateien, die Sie kopieren müssen

IOPS- und Bandbreitenaspekte

In dieser Kategorie geht es um die Leistung des Quellspeichers, des Zielspeichers und des für die Verbindung verwendeten Netzwerks. Der maximal mögliche Durchsatz wird durch die langsamste dieser drei Komponenten bestimmt. Stellen Sie sicher, dass Ihre Netzwerkinfrastruktur so konfiguriert ist, dass optimale Übertragungsgeschwindigkeiten unterstützt werden und die bestmögliche Leistung erzielt wird.

Achtung

Schnellstmögliche Kopiervorgänge sind zwar oft wünschenswert, aber Sie sollten auch die Auslastung Ihres lokalen Netzwerks und der NAS-Appliance in Bezug auf andere – oft unternehmenskritische – Aufgaben berücksichtigen.

Unter Umständen sind schnellstmögliche Kopiervorgänge nicht wünschenswert, wenn das Risiko besteht, dass die verfügbaren Ressourcen von der Migration „monopolisiert“ werden.

  • Überlegen Sie sich, welche Zeiten für die Durchführung von Migrationen in Ihrer Umgebung am besten geeignet sind: tagsüber, außerhalb der Geschäftszeiten oder an Wochenenden.
  • Erwägen Sie auch, die QoS-Funktion (Quality of Service) für das Netzwerk auf einer Windows Server-Instanz zu nutzen, um die Robocopy-Geschwindigkeit zu drosseln.
  • Vermeiden Sie für die Migrationstools unnötigen Arbeitsaufwand.

Mit Robocopy können Verzögerungen zwischen Paketen eingefügt werden. Hierzu wird der Switch /IPG:n angegeben, bei dem n für den Abstand zwischen Robocopy-Paketen in Millisekunden steht. Mit diesem Switch können Sie die Monopolisierung von Ressourcen sowohl auf Geräten mit E/A-Einschränkungen als auch auf überlasteten Netzwerkverknüpfungen vermeiden.

/IPG:n kann nicht verwendet werden, um eine präzise Netzwerk-Bandbreiteneinschränkung auf einen bestimmten MBit/s-Wert zu erreichen. Verwenden Sie stattdessen Netzwerk-QoS für Windows Server. Bei Robocopy wird für alle Netzwerkanforderungen ausschließlich das SMB-Protokoll verwendet. Die Verwendung von SMB ist der Grund dafür, warum der Netzwerkdurchsatz von Robocopy selbst nicht beeinflusst werden kann, es aber ggf. zu einer Verlangsamung bei der Nutzung kommt.

Ein ähnlicher Ansatz gilt für den IOPS-Wert von Network Attached Storage (NAS). Die Clustergröße auf dem NAS-Volume, die Paketgrößen und einige andere Faktoren wirken sich auf den IOPS-Wert aus. Die Nutzung von Verzögerungen zwischen Paketen ist häufig die einfachste Möglichkeit zum Steuern der Last für NAS. Führen Sie Tests mit mehreren Werten durch, z. B. für ca. 20 Millisekunden (n=20) und dann für entsprechende Vielfache dieses Werts. Nach der Einführung einer Verzögerung können Sie auswerten, ob Ihre anderen Apps nun wie erwartet funktionieren. Mit dieser Optimierungsstrategie können Sie die optimale Robocopy-Geschwindigkeit für Ihre Umgebung ermitteln.

Verarbeitungsgeschwindigkeit

Robocopy durchläuft den Namespace, auf den jeweils verwiesen wird, und wertet jede Datei und jeden Ordner in Bezug auf den Kopiervorgang aus. Für jede Datei werden ein erstmaliger Kopiervorgang und dann weitere Kopiervorgänge ausgewertet. Ein Beispiel hierfür sind wiederholte Ausführungen der Robocopy-Option „/MIR“ für dieselben Quell- und Zielspeicherorte. Diese wiederholten Ausführungen sind hilfreich, um die Downtime für Benutzer und Apps gering zu halten und die allgemeine Erfolgsrate für die migrierten Dateien zu verbessern.

Häufig wird die Bandbreite als der am stärksten einschränkende Faktor bei der Migration angesehen – und dies kann auch tatsächlich der Fall sein. Die Möglichkeit zum Enumerieren eines Namespace kann aber dazu führen, dass sich die Gesamtkopierdauer für größere Namespaces mit kleineren Dateien noch weiter erhöht. Beachten Sie, dass das Kopieren von 1 TiB an kleinen Dateien erheblich länger dauert als das Kopieren einer Datenmenge von 1 TiB, die aus einer geringeren Anzahl von größeren Dateien besteht. Dabei wird vorausgesetzt, dass alle anderen Variablen unverändert bleiben. Deshalb kann die Übertragung langsam sein, wenn Sie eine große Anzahl von kleinen Dateien migrieren. Dies entspricht dem erwarteten Verhalten.

Die Ursache für diesen Unterschied ist die Verarbeitungsleistung, die für das Durchlaufen eines Namespace erforderlich ist. Robocopy unterstützt Multithreadkopien über den Parameter /MT:n, wobei n für die Anzahl der zu verwendenden Threads steht. Wenn Sie einen Computer speziell für Robocopy bereitstellen, sollten Sie also auf die Anzahl von Prozessorkernen und deren Beziehung zur jeweiligen Threadanzahl achten. Eine gängige Vorgehensweise ist die Nutzung von zwei Threads pro Kern. Die Anzahl von Kernen und Threads eines Computers stellt einen wichtigen Datenpunkt dar, der hilfreich beim Treffen der Entscheidung ist, welche Multithread-Werte (/MT:n) Sie angeben sollten. Berücksichtigen Sie auch, wie viele Robocopy-Aufträge Sie auf einem bestimmten Computer parallel ausführen möchten.

Bei einer höheren Anzahl von Threads verläuft der Kopiervorgang für die kleinen Dateien aus dem Beispiel mit 1 TiB erheblich schneller als bei einer geringeren Anzahl von Threads. Gleichzeitig kann es sein, dass die zusätzliche Investition in Ressourcen beim Beispiel mit 1 TiB an größeren Dateien nicht zu proportionalen Vorteilen führt. Bei einer höheren Anzahl von Threads wird versucht, eine größere Zahl von großen Dateien gleichzeitig über das Netzwerk zu kopieren. Durch diese zusätzliche Netzwerkaktivität erhöht sich die Wahrscheinlichkeit, dass es zu Einschränkungen in Bezug auf den Durchsatz oder den Speicher-IOPS-Wert kommt.

Beim ersten Kopieren in ein leeres Ziel mithilfe von RoboCopy oder bei einem differenziellen Vorgang mit zahlreichen geänderten Dateien ist Ihr Netzwerkdurchsatz wahrscheinlich ein limitierender Faktor. Beginnen Sie mit einer hohen Threadanzahl für eine erste Ausführung. Eine hohe Threadanzahl, die über die derzeit verfügbaren Threads auf dem Computer hinausgeht, hilft bei der Auslastung der verfügbaren Netzwerkbandbreite. Nachfolgende /MIR-Ausführungen werden progressiv durch die Verarbeitung von Elementen beeinflusst. Weniger Änderungen bei einem differenziellen Vorgang bedeuten weniger Datentransporte über das Netzwerk. Ihre Geschwindigkeit hängt nun weniger von der Übertragungsgeschwindigkeit über die Netzwerkverbindung und vielmehr von der Verarbeitungsgeschwindigkeit für Namespaceelemente ab. Stimmen Sie bei nachfolgenden Ausführungen den Threadanzahlwert auf die Prozessorkernanzahl und die Threadanzahl pro Kern ab. Berücksichtigen Sie, ob Kerne für andere Aufgaben reserviert werden müssen, die ein Produktionsserver möglicherweise hat.

Tipp

Faustregel: Die erste RoboCopy-Ausführung, bei der viele Daten über ein Netzwerk mit höherer Latenz verschoben werden, profitiert von einer Überbereitstellung bei der Anzahl der Threads (/MT:n). Bei nachfolgenden Ausführungen werden weniger Unterschiede kopiert, und es ist wahrscheinlicher, dass Sie vom eingeschränkten Netzwerkdurchsatz auf eingeschränkten Computeressourcen umschalten. Unter diesen Umständen ist es oft besser, die RoboCopy-Threadanzahl an die tatsächlich verfügbaren Threads auf dem Computer anzupassen. Eine Überbereitstellung in diesem Szenario kann zu mehr Kontextverschiebungen im Prozessor führen, was Ihren Kopiervorgang möglicherweise verlangsamt.

Vermeiden von unnötigem Arbeitsaufwand

Vermeiden Sie es, in Ihrem Namespace umfangreiche Änderungen vorzunehmen. Beispiele hierfür sind das Verschieben von Dateien zwischen Verzeichnissen und das Ändern von Eigenschaften im großen Stil oder von Berechtigungen (NTFS-ACLs). Insbesondere ACL-Änderungen können starke Auswirkungen haben, weil diese häufig zu kaskadierenden Änderungen von Dateien führen, die sich in den untergeordneten Ordnern der Hierarchie befinden. Dies kann die folgenden Konsequenzen haben:

  • Längere Ausführungsdauer für Robocopy-Aufträge, weil jede Datei und jeder Ordner, die bzw. der von einer ACL-Änderung betroffen ist, aktualisiert werden muss
  • Wiederverwendete Daten, die vorher verschoben wurden, müssen ggf. erneut kopiert werden Es müssen beispielsweise mehr Daten kopiert werden, wenn sich die Ordnerstrukturen ändern, nachdem Dateien zuvor bereits kopiert wurden. Bei einem Robocopy-Auftrag kann eine Namespaceänderung nicht „wiedergegeben“ werden. Die Dateien, die zuvor in die alte Ordnerstruktur übertragen wurden, müssen beim nächsten Auftrag bereinigt und in die neue Ordnerstruktur hochgeladen werden.

Ein weiterer wichtiger Aspekt ist die effektive Nutzung des Robocopy-Tools. Mit dem empfohlenen Robocopy-Skript erstellen und speichern Sie eine für Fehler bestimmte Protokolldatei. Das etwaige Auftreten von Kopierfehlern ist hierbei normal. Diese Fehler machen es häufig erforderlich, ein Kopiertool wie Robocopy mehrfach auszuführen. Ein Beispiel hierfür ist eine erstmalige Ausführung, z. B. aus NAS auf eine Data Box oder von einem Server auf eine Azure-Dateifreigabe. Anschließend werden mit dem Switch „/MIR“ zusätzlich eine oder mehrere weitere Ausführungen durchgeführt, um den Vorgang für nicht kopierte Dateien zu wiederholen.

Sie sollten darauf vorbereitet sein, Robocopy für einen bestimmten Namespacebereich mehrfach auszuführen. Aufeinanderfolgende Ausführungen können schneller abgeschlossen werden, weil weniger Daten kopiert werden müssen. Einschränkungen ergeben sich hierbei aber vermehrt aus der Geschwindigkeit bei der Verarbeitung des Namespace. Bei mehreren Ausführungen können Sie jeden Durchlauf beschleunigen, indem Sie festlegen, dass Robocopy nicht mit unnötig hohem Aufwand versuchen soll, bei einem Durchlauf alles zu kopieren. Die folgenden Robocopy-Switches können einen signifikanten Unterschied ausmachen:

  • /R:n: „n“ steht hierbei dafür, wie oft Sie versuchen, eine nicht kopierte Datei erneut zu kopieren.
  • /W:n: Mit „n“ wird angegeben, wie viele Sekunden lang zwischen den Wiederholungen gewartet werden soll.

/R:5 /W:5: Eine gängige Einstellung, die Sie je nach Ihren Anforderungen anpassen können. Bei dieser Beispieleinstellung werden für eine nicht kopierte Datei fünf Wiederholungsversuche durchgeführt, und zwischen den Wiederholungen wird jeweils fünf Sekunden gewartet. Falls die Datei immer noch nicht kopiert werden kann, wird dies beim nächsten Robocopy-Auftrag erneut versucht. Mit diesem Ansatz ist der Kopiervorgang für Dateien, die aufgrund einer gegenwärtigen Nutzung oder von Timeoutproblemen nicht kopiert werden können, in vielen Fällen schließlich erfolgreich.

Nächste Schritte

Erkunden Sie die weiteren Informationen zu Azure-Dateifreigaben. In den folgenden Artikeln werden erweiterte Optionen, bewährte Methoden und auch Ansätze zur Problembehandlung erläutert. Diese Artikel sind mit der entsprechenden Dokumentation zur Azure-Dateifreigabe verlinkt.