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 rsync
dem, 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)