Mantenimento degli ACL, degli attributi e dei timestamp dei file con Azure Data Box

Azure Data Box consente di mantenere gli elenchi di controllo di accesso (ACL), i timestamp e gli attributi di file durante l'invio di dati ad Azure. Questo articolo descrive i metadati che è possibile trasferire durante la copia dei dati in Data Box tramite Server Message Block (SMB) per caricarli in File di Azure.

Metadati trasferiti

ACL, timestamp e attributi di file sono i metadati trasferiti quando i dati da Data Box vengono caricati in File di Azure. In questo articolo gli elenchi di controllo di accesso, i timestamp e gli attributi di file vengono definiti collettivamente metadati.

I metadati possono essere copiati con gli strumenti di copia dei dati di Windows e Linux. I metadati non vengono mantenuti durante il trasferimento dei dati nell'archivio BLOB. I metadati non vengono trasferiti anche durante la copia dei dati su NFS.

Le sezioni successive dell'articolo illustrano in dettaglio come i timestamp, gli attributi di file e gli ACL vengono trasferiti quando i dati da Data Box vengono caricati in File di Azure.

Timestamp

Vengono trasferiti i timestamp seguenti:

  • CreationTime
  • LastWriteTime

Il timestamp seguente non viene trasferito:

  • LastAccessTime

Attributi di file

Gli attributi dei file in entrambi i file e le directory vengono trasferiti, se non diversamente specificato.

Vengono trasferiti gli attributi di file seguenti:

  • FILE_ATTRIBUTE_READONLY (solo file)
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY (solo directory)
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_TEMPORARY (solo file)
  • FILE_ATTRIBUTE_NO_SCRUB_DATA

Gli attributi di file seguenti non vengono trasferiti:

  • FILE_ATTRIBUTE_OFFLINE
  • FILE_ATTRIBUTE_NOT_CONTENT_INDEXED

Gli attributi di sola lettura nelle directory non vengono trasferiti.

Flussi di dati alternativi e attributi estesi

I flussi di dati alternativi e gli attributi estesi non sono supportati in File di Azure, BLOB di pagine o archiviazione BLOB in blocchi, quindi non vengono trasferiti durante la copia dei dati.

ACL

A seconda del metodo di trasferimento usato e se si usa un client Windows o Linux, alcuni o tutti gli elenchi di controllo di accesso discrezionali e predefiniti (ACL) nei file e nelle cartelle possono essere trasferiti durante la copia dei dati in File di Azure.

Il trasferimento degli elenchi di controllo di accesso è abilitato per impostazione predefinita. È possibile disabilitare questa impostazione nell'interfaccia utente Web locale di Data Box. Per altre informazioni, vedere Usare l'interfaccia utente Web locale per amministrare Data Box e Data Box Heavy.

Nota

I file con ACL contenenti stringhe ace (Conditional Access Control Entry) non vengono copiati. Questo è un problema noto Per risolvere questo problema, copiare questi file nella condivisione File di Azure manualmente montando la condivisione e quindi usando uno strumento di copia che supporta la copia degli elenchi di controllo di accesso.

Trasferimento di elenchi di controllo di accesso tramite SMB

Durante un trasferimento di file SMB, vengono trasferiti gli ACL seguenti:

  • ACL discrezionali (DACL) e ACL di sistema (SACLs) per directory e file copiati in Data Box.
  • Se si usa un client Linux, vengono trasferiti solo gli ACL di Windows NT.

Trasferimento di elenchi di controllo di accesso tramite il servizio copia dati

Durante il trasferimento di file del servizio di copia dei dati, vengono trasferiti gli ACL seguenti:

  • ACL discrezionali (DACL) e ACL di sistema (SACLs) per directory e file copiati in Data Box.

Per copiare sacche dai file, è necessario specificare le credenziali per un utente con SeBackupPrivilege. Gli utenti nel gruppo Amministrazione istrators o Backup Operators avranno questo privilegio per impostazione predefinita

Se non si dispone di SeBackupPrivilege:

  • Non sarà possibile copiare sacche per i processi del servizio di copia File di Azure.
  • È possibile che si verifichino problemi di accesso e si riceva questo errore nel log degli errori: impossibile leggere sacche dalla condivisione a causa di privilegi insufficienti.

Per altre informazioni, vedere SeBackupPrivilege.

Trasferimento di ACL su NFS

Gli ACL (e gli attributi dei metadati) non vengono trasferiti quando si copiano dati su NFS.

Trasferimento ACL predefinito

Anche se lo strumento di copia dei dati non copia gli elenchi di controllo di accesso predefiniti nelle directory e nei file vengono trasferiti a File di Azure quando si usa un client Windows. Gli ACL predefiniti non vengono trasferiti quando si usa un client Linux.

Vengono trasferiti gli ACL predefiniti seguenti:

  • Autorizzazioni dell'account:

    • Account Administrator predefinito
    • Account SYSTEM
    • Account utente di condivisione SMB usato per montare e copiare i dati in Data Box
  • Descrittori di sicurezza con queste proprietà: DACL, Owner, Group, SACL

Copia di dati e metadati

Per trasferire gli elenchi di controllo di accesso, i timestamp e gli attributi per i dati, usare le procedure seguenti per copiare i dati in Data Box.

Strumento di copia dei dati di Windows

Per copiare dati in Data Box tramite SMB, usare uno strumento di copia file compatibile con SMB, robocopyad esempio . Il comando di esempio seguente copia tutti i file e le directory, trasferendo i metadati insieme ai dati.

Quando si usa l'opzione /copyall o /dcopy:DAT , assicurarsi che i privilegi dell'operatore di backup richiesti non siano disabilitati. Per altre informazioni, vedere Usare l'interfaccia utente Web locale per amministrare Data Box e Data Box Heavy.

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

dove

Opzione Descrizione
/copyall Copia tutti gli attributi.
/e Copia le sottodirectory, incluse le directory vuote.
/dcopy:DAT Copia dati, attributi e timestamp. Nota: l'opzione /dcopy:DAT deve essere usata per il trasferimento CreationTime nelle directory.
/B Copia i file in modalità di backup.
/r:3 Specifica 3 tentativi per le copie non riuscite.
/w:60 Specifica un tempo di attesa di 60 secondi tra i tentativi.
/is Include gli stessi file.
/nfl Non registra i nomi dei file.
/ndl Non registra i nomi delle directory.
/np Non visualizza lo stato di avanzamento dell'operazione di copia.
/MT:32 or 64 Usa il multithreading, con 32 o 64 thread.
/fft Riduce la granularità del timestamp per qualsiasi file system.
/log+:<LogFile> Accoda l'output al file di log esistente.

Per altre informazioni su questi robocopy parametri, vedere Esercitazione: Copiare dati in Azure Data Box tramite SMB

Nota

Se si usa /copyall per copiare i dati, gli elenchi di controllo di accesso di origine nelle directory e nei file vengono trasferiti a File di Azure. Se si dispone solo dell'accesso in lettura ai dati di origine e non è stato possibile modificare i dati di origine, si avrà accesso in sola lettura ai dati in Data Box. Usare /copyall solo se si intende copiare tutti gli elenchi di controllo di accesso nelle directory e nei file insieme ai dati.

Usare robocopy per elencare, copiare, modificare i file in Data Box

Ecco alcuni degli scenari comuni usati per copiare i dati usando robocopy.

  • Copiare solo i dati in Data Box, senza ACL nelle directory e nei file

    Usare l'opzione /dcopy:DAT per copiare solo dati, attributi, timestamp. Gli ACL nelle directory e nei file non vengono copiati.

  • Copiare dati e ACL in directory e file in Data Box

    Usare /copyall per copiare tutti i dati di origine, inclusi tutti gli elenchi di controllo di accesso nelle directory e nei file.

  • Elencare il file system in Data Box usando robocopy

    Usare questo comando per elencare il contenuto della directory:

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

    Si noti che il Esplora file non consente di elencare questi file.

  • Copiare o eliminare cartelle e file in Data Box

    Usare questo comando per copiare un singolo file:

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

    Usare questo comando per eliminare un singolo file:

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

    Nel comando precedente l'oggetto <source-dir> non deve avere il file : <file-name>. Il comando precedente sincronizza quindi la destinazione con l'origine, con conseguente rimozione del file dalla destinazione.

    Si noti che il Esplora file potrebbe non consentire l'esecuzione delle operazioni precedenti.

Per altre informazioni, vedere Uso dei comandi robocopy.

Strumenti di copia dei dati Linux

Il trasferimento dei metadati in Linux è un processo in due passaggi. Prima di tutto, copiare i dati di origine usando uno strumento come rsync, che non copia i metadati. Dopo aver copiato i dati, è possibile copiare i metadati usando uno strumento come smbcacls o cifsacl.

I comandi di esempio seguenti eseguono il primo passaggio, copiando i dati usando rsync.

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

Passaggi successivi