Beibehalten von ACLs, Attributen und Zeitstempeln für Dateien mit Azure Data Box

Azure Data Box ermöglicht es Ihnen, Zugriffssteuerungslisten (Access Control Lists, ACLs), Zeitstempel und Dateiattribute beim Senden von Daten an Azure beizubehalten. In diesem Artikel werden die Metadaten beschrieben, die Sie beim Kopieren von Daten zu Data Box über Server Message Block (SMB) für den Upload zu Azure Files übertragen können.

Übertragene Metadaten

ACLs, Zeitstempel und Dateiattribute sind die Metadaten, die übertragen werden, wenn die Daten aus Data Box in Azure Files hochgeladen werden. In diesem Artikel werden die ACLs, Zeitstempel und Dateiattribute zusammengefasst als Metadaten bezeichnet.

Die Metadaten können mit Tools für das Kopieren von Daten unter Windows und Linux kopiert werden. Metadaten werden beim Übertragen von Daten in Blobspeicher nicht beibehalten. Metadaten werden auch beim Kopieren von Daten über NFS nicht übertragen.

In den nachfolgenden Abschnitten des Artikels wird ausführlich erläutert, wie die Zeitstempel, Dateiattribute und ACLs übertragen werden, wenn die Daten aus Data Box in Azure Files hochgeladen werden.

Zeitstempel

Die folgenden Zeitstempel werden übertragen:

  • CreationTime
  • LastWriteTime

Die folgenden Zeitstempel werden nicht übertragen:

  • LastAccessTime

Dateiattribute

Dateiattribute sowohl von Dateien als auch von Verzeichnissen werden übertragen, sofern dies nicht anders angegeben wird.

Die folgenden Dateiattribute werden übertragen:

  • FILE_ATTRIBUTE_READONLY (nur für Dateien)
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY (nur für Verzeichnisse)
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_TEMPORARY (nur für Dateien)
  • FILE_ATTRIBUTE_NO_SCRUB_DATA

Die folgenden Dateiattribute werden nicht übertragen:

  • FILE_ATTRIBUTE_OFFLINE
  • FILE_ATTRIBUTE_NOT_CONTENT_INDEXED

Nur-Lese-Attribute in Verzeichnissen werden nicht übertragen.

Alternative Datenströme und erweiterte Attribute

Alternative Datenströme und erweiterte Attribute werden in Azure Files, Seitenblob oder Blockblobspeicher nicht unterstützt, sodass sie beim Kopieren von Daten nicht übertragen werden.

ACLs

Abhängig von der verwendeten Übertragungsmethode und davon, ob Sie einen Windows- oder Linux-Client verwenden, können beim Kopieren von Daten nach Azure Files einige oder alle besitzerverwaltete oder Standardzugriffssteuerungslisten (Discretionary and Default Access Control Lists, ACLs) für Dateien und Ordner übertragen werden.

Die Übertragung von ACLs ist standardmäßig aktiviert. Sie sollten diese Einstellung auf der lokalen Webbenutzeroberfläche in Ihrer Data Box deaktivieren. Weitere Informationen finden Sie unter Verwalten von Data Box und Data Box Heavy über die lokale Webbenutzeroberfläche.

Hinweis

Dateien mit ACLs, die Zeichenfolgen des Eintrags für die Steuerung des bedingten Zugriffs (Access Control Entry, ACE) enthalten, werden nicht kopiert. Dies ist ein bekanntes Problem. Als Problemumgehung können Sie diese Dateien manuell in die Azure Files-Freigabe kopieren, indem Sie die Freigabe einbinden und dann ein Tool zum Kopieren der Daten verwenden, das das Kopieren von ACLs unterstützt.

Übertragung von ACLs über SMB

Bei einer SMB-Dateiübertragung werden die folgenden ACLs übertragen:

  • Besitzerverwaltete ACLs (Discretionary ACLs, DACLs) und System-ACLs (SACLs) für Verzeichnisse und Dateien, die Sie in Ihre Data Box kopieren.
  • Wenn Sie einen Linux-Client verwenden, werden nur Windows NT-ACLs übertragen.

Übertragung von ACLs über den Datenkopierdienst

Während einer Dateiübertragung über den Datenkopierdienst werden die folgenden ACLs übertragen:

  • Besitzerverwaltete ACLs (Discretionary ACLs, DACLs) und System-ACLs (SACLs) für Verzeichnisse und Dateien, die Sie in Ihre Data Box kopieren.

Um SACLs aus Ihren Dateien zu kopieren, müssen Sie Anmeldeinformationen für einen Benutzer mit SeBackupPrivilege angeben. Benutzer in der Gruppe „Administratoren“ oder „Sicherungsoperatoren“ verfügen standardmäßig über diese Berechtigung.

Wenn Sie nicht über SeBackupPrivilege verfügen:

  • Sie können keine SACLs für Kopierdienstaufträge in Azure Files kopieren.
  • Möglicherweise treten Zugriffsprobleme auf, und Sie erhalten den folgenden Fehler im Fehlerprotokoll: Could not read SACLs from share due to insufficient privileges (SACLs konnten aufgrund unzureichender Berechtigungen nicht aus der Freigabe gelesen werden).

Weitere Informationen finden Sie unter SeBackupPrivilege.

Übertragung von ACLs über NFS

ACLs (und Metadatenattribute) werden nicht übertragen, wenn Sie Daten über NFS kopieren.

Übertragung von Standard-ACLs

Auch wenn Ihr Tool zum Kopieren von Daten ACLs nicht kopiert, werden die Standard-ACLs in Verzeichnissen und Dateien zu Azure Files übertragen, wenn Sie einen Windows-Client verwenden. Bei Verwendung eines Linux-Clients werden die Standard-ACLs nicht übertragen.

Die folgenden Standard-ACLs werden übertragen:

  • Kontoberechtigungen:

    • Das integrierte Administratorkonto
    • Systemkonto
    • SMB-Freigabebenutzerkonto zum Einbinden und Kopieren von Daten in Data Box
  • Sicherheitsbeschreibungen mit folgenden Eigenschaften: DACL, Besitzer, Gruppe, SACL

Kopieren von Daten und Metadaten

Verwenden Sie zum Übertragen der ACLs, Zeitstempel und Attribute für Ihre Daten die folgenden Prozeduren, um Daten in die Data Box zu kopieren.

Tool zum Kopieren von Daten unter Windows

Verwenden Sie zum Kopieren von Daten in Ihre Data Box über SMB ein SMB-kompatibles Dateikopiertool wie robocopy. Der folgende Beispielbefehl kopiert alle Dateien und Verzeichnisse und überträgt dabei die Metadaten zusammen mit den Daten.

Wenn die Option /copyall oder /dcopy:DAT verwendet wird, sollten Sie dafür sorgen, dass die erforderlichen Sicherungsoperatorberechtigungen nicht deaktiviert sind. Weitere Informationen finden Sie unter Verwalten von Data Box und Data Box Heavy über die lokale Webbenutzeroberfläche.

robocopy <Source> <Target> * /copyall /e /dcopy:DAT /B /r:3 /w:60 /is /nfl /ndl /np /MT:32 or 64 /fft /log+:<LogFile>

where

Option Beschreibung
/copyall Hiermit werden alle Attribute kopiert.
/e Hiermit werden Unterverzeichnisse einschließlich leerer Verzeichnisse kopiert.
/dcopy:DAT Hiermit werden Daten, Attribute und Zeitstempel kopiert. Hinweis: Die Option "/dcopy:DAT" muss für die Übertragung CreationTime in Verzeichnissen verwendet werden.
/B Kopiert Dateien im Sicherungsmodus.
/r:3 Hiermit werden drei Wiederholungsversuche für Kopien angegeben, wenn ein Fehler beim Kopiervorgang aufgetreten ist.
/w:60 Hiermit wird eine Wartezeit von 60 Sekunden angegeben, bevor ein Wiederholungsversuch gestartet wird.
/is Schließt die gleichen Dateien ein.
/nfl Hierbei werden Dateinamen nicht protokolliert.
/ndl Hierbei werden Verzeichnisnamen nicht protokolliert.
/np Hierbei wird der Fortschritt des Kopiervorgangs nicht angezeigt.
/MT:32 or 64 Hierbei wird Multithreading mit 32 oder 64 Threads verwendet.
/fft Hierbei wird die Zeitstempelgranularität für ein beliebiges Dateisystem reduziert.
/log+:<LogFile> Fügt die Ausgabe an die vorhandene Protokolldatei an.

Weitere Informationen zu diesen robocopy-Parametern finden Sie unter Tutorial: Kopieren von Daten zu Azure Data Box über SMB.

Hinweis

Wenn Sie /copyall zum Kopieren Ihrer Daten verwenden, werden die Quell-ACLs für Verzeichnisse und Dateien an Azure Files übertragen. Wenn Sie nur Lesezugriff auf Ihre Quelldaten hatten und die Quelldaten nicht ändern konnten, haben Sie nur Lesezugriff auf die Daten in Data Box. Verwenden Sie /copyall nur, wenn Sie beabsichtigen, alle ACLs für die Verzeichnisse und Dateien zusammen mit den Daten zu kopieren.

Verwenden von Robocopy zum Auflisten, Kopieren und Ändern von Dateien in Data Box

Im Folgenden finden Sie einige der gängigen Szenarien, die Sie beim Kopieren von Daten verwenden robocopy.

  • Nur Daten in Data Box kopieren, keine ACLs für Verzeichnisse und Dateien

    Wählen Sie die Option /dcopy:DAT, um nur Daten, Attribute und Zeitstempel zu kopieren. ACLs in Verzeichnissen und Dateien werden nicht kopiert.

  • Daten und ACLs für Verzeichnisse und Dateien in Data Box kopieren

    Wählen Sie /copyall, um alle Quelldaten einschließlich aller ACLs für Verzeichnisse und Dateien zu kopieren.

  • Dateisystem in Data Box mit robocopy auflisten

    Listen Sie mit diesem Befehl den Inhalt von Verzeichnissen auf:

    robocopy <source-dir> NULL /l /s /xx /njh /njs /fp /B

    Beachten Sie, dass Sie diese Dateien im Datei-Explorer nicht auflisten können.

  • Ordner und Dateien in Data Box kopieren oder löschen

    Kopieren Sie mit diesem Befehl eine einzelne Datei:

    robocopy <source-dir> <destination-dir> <file-name> /B

    Löschen Sie mit diesem Befehl eine einzelne Datei:

    robocopy <source-dir> <destination-dir> <file-name> /purge /B

    Im obigen Befehl darf <source-dir> nicht die Datei <file-name> enthalten. Anschließend synchronisiert der obige Befehl das Ziel mit der Quelle, was dazu führt, dass die Datei aus dem Ziel entfernt wird.

    Beachten Sie, dass der Datei-Explorer die oben genannten Vorgänge möglicherweise nicht zulässt.

Weitere Informationen finden Sie unter Verwenden von robocopy-Befehlen.

Tools zum Kopieren von Daten unter Linux

Das Übertragen von Metadaten unter Linux erfolgt in zwei Schritten. Zuerst kopieren Sie die Quelldaten mit einem Tool wie rsyncdem, das keine Metadaten kopiert. Nachdem Sie die Daten kopiert haben, können Sie die Metadaten mithilfe eines Tools wie smbcacls oder cifsacl kopieren.

Die folgenden Beispielbefehle führen den ersten Schritt aus, indem die Daten mithilfe von rsync kopiert werden.

cp -aR /etc /opt/ 
rsync -avP /etc /opt (-a copies a directory)

Nächste Schritte