Robocopy e fragmentação

5

Ao copiar um grande número de arquivos, é muito comum usar vários segmentos com a opção RoboCopy (/ MT [: n]). Isso pode causar fragmentação na unidade de destino? Às vezes eu uso o Beyond compare para copiar as estruturas de arquivos para utilizar ao máximo a largura de banda da rede / HDD. Isso também é uma maneira de criar vários segmentos. Ambos podem causar fragmentação?

    
por sarat 28.06.2011 / 15:27

4 respostas

2

Se você não tiver certeza, basta verificar os arquivos copiados se eles estiverem fragmentados e se sim em quantos fragmentos.

Para verificar um arquivo, você pode usar o "Contig" da Microsoft / Mark Russinovich, que permite verificar a fragmentação usando a opção -a

contig -a <filename>

link

    
por 03.07.2011 / 12:22
2

(Não é uma resposta, mas como um novo usuário, parece que não posso comentar diretamente sobre respostas anteriores.)

Em resposta ao music2myear, cópias multithreaded que não pré-alocam espaço podem levar a uma fragmentação extrema.

O cenário é este: fileA começa a copiar para bloquear N no disco. O arquivo B começa a copiar para bloquear N + 1 no disco. fileC começa a copiar para bloquear N + 2 no disco. fileA precisa de outro bloco e copia para N + 3. fileB precisa de outro bloco e copia para N + 4. E assim por diante ... até que todo arquivo esteja completamente fragmentado, sem dois blocos contíguos. fileA termina sendo nos blocos N, N + 3, N + 5, N + 10, N + 13 em vez de N, N + 1, N + 2, N + 3, N + 4.

OK, isso é um pouco extremo; provavelmente não se torna completamente fragmentado. Mas ilustra o problema com os utilitários de cópia multithread que não pré-alocam espaço. Dito isso, eu apenas tentei o robocopy incluso no Server 2008R2 para copiar um grande número de arquivos de tamanhos variados, e isso não pareceu criar excessiva fragmentação. (Versões anteriores de robocopy eram conhecidas por causar fragmentação extrema.) Mais testes são necessários.

    
por 06.11.2011 / 17:14
1

Ele não deve causar mais fragmentação do que uma operação de cópia de encadeamento único que procura o primeiro espaço disponível e, em seguida, o próximo, e assim por diante, conforme é copiado.

Qualquer unidade com alta leitura / gravação e arquivos maiores ou de tamanho misto deve ser desfragmentada regularmente, a menos que você esteja usando um sistema de arquivos que impeça a fragmentação.

Se você está muito preocupado com a fragmentação, você deve considerar os benefícios que você obtém usando multithreading (benefício extremo para um grande número de arquivos, menos benefícios para alguns arquivos maiores) do que qualquer possível impacto que possa ocorrer na fragmentação.

    
por 28.06.2011 / 16:54
0

eu vi isso:

  • RE-FORMATO E: como FAT32 (formato M: / FS: FAT32 / Q), então nada está nele
  • Lista E: (dir / A E :) e não há nada nela
  • Copie apenas um arquivo de D: para E: sem fazer nada até o fim
  • Lista E: (dir / A E :) e existe apenas esse arquivo
  • Veja a fragmentação de E: e é horrível, o início do arquivo está no meio da partição e está em muitos fragmentos (mais de 10)

eu também tinha tentado com robocopy e sem sucesso, ainda fragmentá-lo.

se eu tentar desfragmentar após a cópia, nada é feito.

Como evitar isso? Comprei algumas etapas extras ... e usando o comando XCOPY / J ...

Eu consegui isso fazendo isso:

  • RE-FORMATO E: como FAT32 (formato M: / FS: FAT32 / Q), então nada está nele
  • Lista E: (dir / A E :) e não há nada nela
  • Copie apenas um arquivo de D: para E: sem fazer nada até os fins (XCOPY / JD: \ TEMP \ TheFile.TheExtensionE: \ AAA), sim renomeando-o como AAA ao mesmo tempo
  • Renomeie o nome real (REN E: \ AAA TheFile.TheExtension)
  • Lista E: (dir / A E :) e existe apenas esse arquivo
  • Veja a fragmentação de E: e o arquivo é apenas um fragmento, sem fragmentação

Eu tentei com "copy" e "robocopy" sem sucesso.

Eu tentei com "XCOPY / J ..." e consegui !!!

Por quê? eu não sei ... mas pelo menos com "XCOPY / J ..." e trabalhei quando o nome do dest foi alterado !!!

Parece que o Windows está fazendo algumas coisas anormais quando o nome dest é um pouco de nome especial.

Para ver o que mencionei, tente usar uma partição FAT32 4113MB para armazenar 4095MB pagefile.sys !!! e tente tê-lo em apenas um fragmento !!! não há como fazer normalmente !!! mas, ei, se a partir de um console você reformatar a partição e usar XCOPY / J pagefile.sys E: AAA e, em seguida, renomeá-la ... ela permanecerá em um fragmento !!!

Espero que isso possa ajudar outras pessoas!

    
por 18.02.2014 / 13:58