Preservar as ACLs, os atributos e os carimbos de data/hora dos arquivos com o Azure Data Box

O Azure Data Box permite preservar as listas de controle de acesso (ACLs), os carimbos de data/hora e os atributos dos arquivos ao enviar dados para o Azure. Este artigo descreve os metadados que você pode transferir ao copiar dados para o Data Box por meio do protocolo SMB para carregá-los nos Arquivos do Azure.

Metadados transferidos

As ACLs, os carimbos de data/hora e os atributos de arquivo são os metadados transferidos quando os dados do Data Box são carregados nos Arquivos do Azure. Neste artigo, as ACLs, os carimbos de data/hora e os atributos dos arquivos são coletivamente chamados de metadados.

Os metadados podem ser copiados com as ferramentas de cópia de dados do Windows e do Linux. Os metadados não são preservados ao transferir os dados para o armazenamento de blobs. Os metadados também não são transferidos ao copiar dados pelo NFS.

As seções subsequentes do artigo discutem detalhadamente como os carimbos de data/hora, os atributos de arquivo e as ACLs são transferidos quando os dados do Data Box são carregados nos Arquivos do Azure.

Carimbos de data/hora

Os seguintes carimbos de data/hora são transferidos:

  • CreationTime
  • LastWriteTime

O carimbo de data/hora a seguir não é transferido:

  • LastAccessTime

Atributos dos arquivos

Os atributos dos arquivo em arquivos e diretórios são transferidos, salvo indicação em contrário.

Os seguintes atributos dos arquivos são transferidos:

  • FILE_ATTRIBUTE_READONLY (somente arquivo)
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY (somente diretório)
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_TEMPORARY (somente arquivo)
  • FILE_ATTRIBUTE_NO_SCRUB_DATA

Os seguintes atributos dos arquivos não são transferidos:

  • FILE_ATTRIBUTE_OFFLINE
  • FILE_ATTRIBUTE_NOT_CONTENT_INDEXED

Os atributos somente leitura nos diretórios não são transferidos.

Fluxos de dados alternativos e atributos estendidos

Como não há suporte para fluxos de dados alternativos e atributos estendidos nos Arquivos do Azure, em blobs de páginas ou no armazenamento de blobs de blocos, eles não são transferidos ao copiar dados.

ACLs

Dependendo do método de transferência escolhido e do uso de um cliente Windows ou Linux, algumas ou todas as ACLs (listas de controle de acesso) discricionário e padrão em arquivos e pastas podem ser transferidas durante a cópia de dados para os Arquivos do Azure.

A transferência de ACLs está habilitada por padrão. Você pode desejar desabilitar essa configuração na IU da Web local do Data Box. Para obter mais informações, veja Usar a IU da Web local para administrar o Data Box e o Data Box Heavy.

Observação

Os arquivos com ACLs contendo cadeias de caracteres de entrada de controle de acesso condicional (ACE) não são copiados. Esse é um problema conhecido. Para contornar isso, copie esses arquivos para o compartilhamento dos Arquivos do Azure manualmente, montando o compartilhamento e, em seguida, usando uma ferramenta compatível com a cópia de ACLs.

Transferência de ACLs por SMB

Durante uma transferência de arquivos SMB, as seguintes ACLs são transferidas:

  • DACLs (ACLs discricionárias) e as SACLs (ACLs do sistema) para diretórios e arquivos que você copia para seu Data Box.
  • Se você usar um cliente Linux, somente ACLs do Windows NT serão transferidas.

Transferência de ACLs pelo serviço de cópia de dados

Durante uma transferência de arquivo do serviço de cópia de dados, as seguintes ACLs são transferidas:

  • DACLs (ACLs discricionárias) e as SACLs (ACLs do sistema) para diretórios e arquivos que você copia para seu Data Box.

Para copiar as SACLs dos seus arquivos, você deve fornecer credenciais para um usuário com SeBackupPrivilege. Os usuários do grupo de Administradores ou de Operadores de Backup terão esse privilégio por padrão

Se você não tiver SeBackupPrivilege:

  • Você não poderá copiar as SACLs para trabalhos de serviço de cópia dos Arquivos do Azure.
  • Você pode ter problemas de acesso e receber este erro no log de erros: Não foi possível ler as SACLs do compartilhamento devido a privilégios insuficientes.

Para obter mais informações, saiba mais sobre SeBackupPrivilege.

Transferência de ACLs por NFS

As ACLs (e os atributos de metadados) não são transferidas quando você copia dados por meio de NFS.

Transferência de ACLs padrão

Mesmo que a ferramenta de cópia de dados não copie as ACLs, as ACLs padrão em diretórios e arquivos serão transferidas para os Arquivos do Azure quando você usar um cliente Windows. As ACLs padrão não são transferidas quando você usa um cliente Linux.

As seguintes ACLs padrão são transferidas:

  • Permissões de conta:

    • Conta de administrador interno
    • Conta do sistema
    • Conta de usuário de compartilhamento SMB usada para montar e copiar dados no Data Box
  • Descritores de segurança com estas propriedades: DACL, Proprietário, Grupo, SACL

Copiar dados e metadados

Para transferir as ACLs, os carimbos de data/hora e os atributos de seus dados, use os procedimentos a seguir para copiar os dados para o Data Box.

Ferramenta de cópia de dados do Windows

Para copiar os dados para o Data Box via SMB, use uma ferramenta de cópia de arquivo compatível com o SMB, como robocopy. O comando de exemplo a seguir copia todos os arquivos e diretórios, transferindo os metadados junto com os dados.

Ao usar a opção /copyall ou /dcopy:DAT, verifique se os privilégios do Operador de Backup necessários não estão desabilitados. Para obter mais informações, veja Usar a IU da Web local para administrar o Data Box e o 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>

onde

Opção Descrição
/copyall Copia todos os atributos.
/e Copia os subdiretórios, inclusive os diretórios vazios.
/dcopy:DAT Copia os dados, os atributos e os carimbos de data/hora. Observação: a opção /dcopy:DAT deve ser usada para transferir CreationTime nos diretórios.
/B Copia os arquivos no modo de Backup.
/r:3 Especifica três tentativas em cópias com falha.
/w:60 Especifica um tempo de espera de 60 segundos entre as repetições.
/is Inclui os mesmos arquivos.
/nfl Não registra os nomes de arquivo.
/ndl Não registra os nomes de diretório.
/np Não exibe o progresso da operação de cópia.
/MT:32 or 64 Usa o multithreading, com 32 ou 64 threads.
/fft Reduz a granularidade do registro de data/hora de qualquer sistema de arquivos.
/log+:<LogFile> Acrescenta a saída ao arquivo de log existente.

Para obter mais informações sobre os parâmetros robocopy, veja Tutorial: Copiar dados para o Azure Data Box via SMB

Observação

Se você usar /copyall para copiar seus dados, as ACLs de origem nos diretórios e arquivos serão transferidas para os Arquivos do Azure. Se você tiver acesso de leitura apenas nos dados de origem e não puder modificar os dados de origem, você terá acesso de leitura somente nos dados no Data Box. Use /copyall somente se você pretende copiar todas as ACLs nos diretórios e arquivos junto com os dados.

Usar o robocopy para listar, copiar e modificar arquivos no Data Box

Aqui estão alguns dos cenários comuns que você usa ao copiar dados usando robocopyo .

  • Copiar somente dados para o Data Box, sem ACLs nos diretórios e arquivos

    Use a opção /dcopy:DAT para copiar somente dados, atributos, carimbos de data/hora. ACLs em diretórios e arquivos não são copiadas.

  • Copiar dados e ACLs nos diretórios e arquivos para o Data Box

    Use /copyall para copiar todos os dados de origem, incluindo todas as ACLs nos diretórios e arquivos.

  • Listar o filesystem no Data Box usando o robocopy

    Use este comando para listar o conteúdo do diretório:

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

    Observe que o Explorador de Arquivos não permite que você liste esses arquivos.

  • Copiar ou excluir pastas e arquivos no Data Box

    Use este comando para copiar um único arquivo:

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

    Use este comando para excluir um único arquivo:

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

    No comando acima, o <source-dir> não deve ter o arquivo: <file-name>. Em seguida, o comando acima sincroniza o destino com a origem, resultando na remoção do arquivo do destino.

    Observe que o Explorador de Arquivos pode não permitir que você execute as operações acima.

Para obter mais informações, consulte Usando os comandos do Robocopy.

Ferramentas de cópia de dados do Linux

A transferência de metadados no Linux é um processo de duas etapas. Primeiro, você copia os dados de origem usando uma ferramenta como rsync, que não copia metadados. Depois de copiar os dados, será possível copiar os metadados usando uma ferramenta como smbcacls ou cifsacl.

Os comandos de exemplo a seguir fazem a primeira etapa, copiando os dados usando rsync.

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

Próximas etapas