Aparentemente, o Robocopy não entende a desduplicação do Windows Server 2016. Existe uma maneira de fazê-lo funcionar sem corromper o volume?

14

Cenário:

  • Realizando uma migração de servidor do antigo Server 2008 R2 para o novo Server 2016, seguindo este guia de falhas do servidor: Migração do servidor de arquivos usando o Robocopy

  • Após a conclusão do Robocopy, ative a deduplicação no Server 2016 para o volume copiado e, em seguida, use o PowerShell para começar a dedpulating manualmente. Depois de muitas horas, ele conclui e recupera cerca de 25% do espaço em disco.

  • Execute o Robocopy novamente para copiar qualquer coisa que possa ter sido perdida na cópia inicial, como uma verificação final do novo servidor.

.... mas o Robocopy (executado a partir do Servidor 2016) não entende a deduplicação e, assim, continua a eliminar o repositório de exclusão de duplicação ...

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows                              
-------------------------------------------------------------------------------

  Started : Sunday, July 8, 2018 12:10:02 PM
   Source : \SERVER-2008\e$\
     Dest : \SERVER-2016\e$\

    Files : *.*

  Options : *.* /TEE /S /E /COPYALL /PURGE /MIR /ZB /NP /MT:32 /R:1 /W:10 

------------------------------------------------------------------------------

    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\
    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\
    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\
      *EXTRA File         253504    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\DedupFileList.1
      *EXTRA File         253504    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\DedupFileList.2
      *EXTRA File             28    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\stamp.dat
    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW\
    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW
*EXTRA File           30.3 m    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\Stream
-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows                              
-------------------------------------------------------------------------------

  Started : Sunday, July 8, 2018 12:10:02 PM
   Source : \SERVER-2008\e$\
     Dest : \SERVER-2016\e$\

    Files : *.*

  Options : *.* /TEE /S /E /COPYALL /PURGE /MIR /ZB /NP /MT:32 /R:1 /W:10 

------------------------------------------------------------------------------

    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\
    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\
    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\
      *EXTRA File         253504    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\DedupFileList.1
      *EXTRA File         253504    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\DedupFileList.2
      *EXTRA File             28    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\stamp.dat
    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW\
    *EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW
*EXTRA File           30.3 m    \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\Stream%pre%0f0000.00000002.ccc
*EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\Logs\
  *EXTRA File         29.7 m    \SERVER-2016\e$\System Volume Information\Dedup\Logs%pre%000001.kmchange.log
  *EXTRA File        999.8 m    \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.10.archive.etl
  *EXTRA File       1000.0 m    \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.11.archive.etl
  *EXTRA File        735.5 m    \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.12.archive.etl
  *EXTRA File        999.8 m    \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.9.archive.etl
  *EXTRA File          1.3 m    \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.2.1.archive.etl
*EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\Settings\
  *EXTRA File             76    \SERVER-2016\e$\System Volume Information\Dedup\Settings\Dedup.00.cfg
  *EXTRA File             76    \SERVER-2016\e$\System Volume Information\Dedup\Settings\Dedup.01.cfg
  *EXTRA File           2228    \SERVER-2016\e$\System Volume Information\Dedup\Settings\dedupConfig.01.xml
  *EXTRA File           2228    \SERVER-2016\e$\System Volume Information\Dedup\Settings\dedupConfig.02.xml
  *EXTRA File              0    \SERVER-2016\e$\System Volume Information\Dedup\Settings\VolumeJobLock.bin
*EXTRA Dir        -1    \SERVER-2016\e$\System Volume Information\Dedup\State\
  *EXTRA File           2982    \SERVER-2016\e$\System Volume Information\Dedup\State\chunkStoreStatistics.xml
  *EXTRA File           2592    \SERVER-2016\e$\System Volume Information\Dedup\State\dedupStatistics.xml
  *EXTRA File         11.5 m    \SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceBitmap.tmp
  *EXTRA File          1.0 g    \SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceContainer.ccc
  *EXTRA File         46.0 m    \SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceDeleteLogs.tmp
  *EXTRA File          1.0 m    \SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceFileList.tmp
  *EXTRA File           4096    \SERVER-2016\e$\System Volume Information\Dedup\State\GroupCommitFlushControl0.bin
  *EXTRA File           2066    \SERVER-2016\e$\System Volume Information\Dedup\State\optimizationState.xml
010000\ *EXTRA File 196608 \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW%pre%010000%pre%000046.00.RB *EXTRA File 106496 \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW%pre%010000%pre%000048.00.RB
0f0000.00000002.ccc *EXTRA Dir -1 \SERVER-2016\e$\System Volume Information\Dedup\Logs\ *EXTRA File 29.7 m \SERVER-2016\e$\System Volume Information\Dedup\Logs%pre%000001.kmchange.log *EXTRA File 999.8 m \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.10.archive.etl *EXTRA File 1000.0 m \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.11.archive.etl *EXTRA File 735.5 m \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.12.archive.etl *EXTRA File 999.8 m \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.1.9.archive.etl *EXTRA File 1.3 m \SERVER-2016\e$\System Volume Information\Dedup\Logs\changes.optimization.2.1.archive.etl *EXTRA Dir -1 \SERVER-2016\e$\System Volume Information\Dedup\Settings\ *EXTRA File 76 \SERVER-2016\e$\System Volume Information\Dedup\Settings\Dedup.00.cfg *EXTRA File 76 \SERVER-2016\e$\System Volume Information\Dedup\Settings\Dedup.01.cfg *EXTRA File 2228 \SERVER-2016\e$\System Volume Information\Dedup\Settings\dedupConfig.01.xml *EXTRA File 2228 \SERVER-2016\e$\System Volume Information\Dedup\Settings\dedupConfig.02.xml *EXTRA File 0 \SERVER-2016\e$\System Volume Information\Dedup\Settings\VolumeJobLock.bin *EXTRA Dir -1 \SERVER-2016\e$\System Volume Information\Dedup\State\ *EXTRA File 2982 \SERVER-2016\e$\System Volume Information\Dedup\State\chunkStoreStatistics.xml *EXTRA File 2592 \SERVER-2016\e$\System Volume Information\Dedup\State\dedupStatistics.xml *EXTRA File 11.5 m \SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceBitmap.tmp *EXTRA File 1.0 g \SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceContainer.ccc *EXTRA File 46.0 m \SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceDeleteLogs.tmp *EXTRA File 1.0 m \SERVER-2016\e$\System Volume Information\Dedup\State\GCReservedSpaceFileList.tmp *EXTRA File 4096 \SERVER-2016\e$\System Volume Information\Dedup\State\GroupCommitFlushControl0.bin *EXTRA File 2066 \SERVER-2016\e$\System Volume Information\Dedup\State\optimizationState.xml
010000\ *EXTRA File 196608 \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW%pre%010000%pre%000046.00.RB *EXTRA File 106496 \SERVER-2016\e$\System Volume Information\Dedup\ChunkStore\{B7E1F3A4-AAD9-4449-9DF7-5489421C9EC5}.ddp\COW%pre%010000%pre%000048.00.RB

[.......]

%pre%

[......]

Eu abortei momentos depois de ver essa mosca no registro e reconhecendo o que estava acontecendo. Mas o dano já foi feito, os dados no novo servidor desduplicado foram instantaneamente corrompidos pelo Robocopy quando ele invadiu \ System Volume Information. A nova partição da unidade do servidor foi formatada e recopiada novamente no Server 2008.

Existe uma maneira segura de usar o Robocopy para que ele não toque nos dados do volume de desduplicação?

Além disso, tenho uma nova preocupação. se o Robocopy puder destruir um volume desduplicado, o que mais não é seguro usar com um volume desduplicado, que enxergue e destrua os dados subjacentes que só devem ser acessados pelo servidor ? (provavelmente deve ser uma questão separada ..)

    
por Dale Mahalko 08.07.2018 / 20:03

4 respostas

16

O diretório System Volume Information deve ser excluído usando a opção / XD. Provavelmente, é uma boa idéia excluir outros diretórios ocultos / do sistema, como $RECYCLE.BIN .

    
por 08.07.2018 / 20:34
4

Duas opções de linha de comando que foram usadas levam a isso: /MIR e /ZB . Como a documentação ( robocopy /??? ) descreve:

/MIR :: MIRror a directory tree (equivalent to /E plus /PURGE).
/ZB :: use restartable mode; if access denied use Backup mode.

É a combinação que você fez: /MIR irá deletar (como mostrado quando você executa robocopy sem argumentos) e "Modo de backup" derrota a maioria das permissões para poder ler arquivos "normalmente" ilegíveis em para fazer backups completos.

"Modo de backup" é notavelmente indefinido na descrição de "ajuda". Você deve saber que a API CreateFile do Windows suporta um sinalizador chamado FILE_FLAG_BACKUP_SEMANTICS , que em combinação com um certo direito de acesso SE_BACKUP_NAME (que é fornecido ao grupo Administrador por padrão - também o grupo Operadores de Backup, duh) ignora a segurança de arquivos normal.

Você não sabia disso? Então você também pode não saber que o robocopy não era originalmente parte do Windows - era parte de um suplemento chamado "Windows Resource Kit" que era usado principalmente por programadores e administradores de sistemas hard-core no passado, e embora foi adquirido na distribuição do Windows no Windows Server 2008 e nunca recebeu nenhuma atenção - exceto por opções adicionais de desempenho, o woot! Particularmente, sem atenção dos gerentes de programas dedicados à IU ou usabilidade . Portanto, é um pouco de poder bruto que pode ser usado - ou enganado! - a seu próprio risco.

(Uma boa regra prática: não use opções de linha de comando que você não entende realmente).

Informações que você gostaria de saber sobre o acesso a arquivos no "Modo de backup":

link

link

link

    
por 09.07.2018 / 19:03
1

Aqui estão os resultados de acompanhamento usando as outras respostas fornecidas e testando com um destino deduplicado. ( Meta: não sei se devo incluir isso como edição na parte inferior da minha pergunta original. )

A linha de comando Robocopy evoluiu para finalmente ter a seguinte aparência:

robocopy \OLD-SERVER\e$\ \NEW-SERVER\e$\ /MIR /COPYALL /DCOPY:DAT /NP /Z /B /J /SL /MT:128 /R:1 /W:10 /LOG+:robocopy-log.txt /TEE /XD "Recycler" "Recycled" "$Recycle.bin" "System Volume Information" /XF "pagefile.sys" "swapfile.sys" "hiberfil.sys"

Opções e objetivo:

  • / MIR - Espelhar a origem para o destino e excluir arquivos e diretórios no destino, se eles não estiverem mais presentes na origem
  • / COPYALL - Copia todas as informações do arquivo: dados, atributos e carimbos de data e hora, ACLs de segurança do NTFS, informações do proprietário, informações de auditoria (nem todas incluídas por padrão)
  • / DCOPY: DAT - Copia todas as informações do diretório - dados, atributos, registros de data e hora (o timestamp de criação original não é copiado por padrão; normalmente, isso muda para a data em que foi copiado pelo Robocopy)
  • / NP - não exibe progresso
  • / Z - Use o modo reinicializável
  • / B - Copia arquivos no modo de backup (não sei se isso é necessário para diretórios de usuários nos quais eles são proprietários exclusivos, excluindo o administrador. Essa opção destruirá um volume de destino deduplicado sem excluir "Informações de volume do sistema") )
  • / J - Copiar usando E / S sem buffer (cópia mais rápida de arquivos grandes com várias gigabytes)
  • / SL - Copiar links simbólicos em vez do destino
  • / MT: 128 - Use encadeamentos máximos de CPU (melhor uso de Ethernet de 10 gigabits e muitos núcleos de CPU)
  • / R: 1 - Se o erro de acesso ao arquivo for repetido 1 vez
  • / W: 10 - Se o erro de acesso ao arquivo, esperar 10 segundos antes de tentar novamente
  • / LOG + - Registre a saída no arquivo de texto, anexe se o arquivo de log já existir
  • / TEE - Imprimir resultados para a tela e para o arquivo de log
  • / XD - Excluir diretórios e tudo dentro deles. Nomes com espaços neles precisam ser colocados entre aspas: "Recycler" "Recycled" "$ Recycle.bin" "System Volume Information"
  • / XF - Exclui arquivos: arquivos de memória virtual e de hibernação se eles estiverem presentes na origem: "pagefile.sys" "swapfile.sys" "hiberfil.sys"

Re-execução final:

            Total    Copied   Skipped  Mismatch    FAILED    Extras 
 Dirs :    158189    153466    158186         0         0         0
Files :   1116292         0   1116296         0         0         0
Bytes :   1.350 t         0   1.350 t         0         0         0
Times :   0:01:04   0:00:00                       0:00:00   0:01:04

Alémdisso,nãoconheçooscanaisapropriadospararelatarbugsàMicrosoft,masassociei-meaessadiscussãonaparteinferiordadocumentaçãodedesduplicaçãodaMicrosoft,emseusiteWindowsITProCenter:

link

    
por 14.07.2018 / 08:13
0

eu acho que você não sabe o que é robocopy / Robocopy - é um comando robusto de cópia de arquivos para a linha de comando do Windows que permite copiar arquivos, diretórios e até mesmo unidades de um local para outro. Se você quiser mais informações, confira este artigo link

    
por 28.02.2019 / 16:14