sync ou assíncrono para duplicação USB em massa?

2

Estou trabalhando em um script bash que duplica arquivos de um pendrvie "fonte" para vários outros (também formatando unidades para FAT32 se eles não são montados).

Estou copiando os arquivos com o rsync.

Tenho notado que o rsync é concluído rapidamente, às vezes relatando velocidades de gravação ridículas como 500 MB / s, mas geralmente ficando em 15 MB / s.

O problema é que depois - desmontar as unidades pode levar até alguns minutos, e descobri que é devido ao cache de disco do sistema e à E / S assíncrona.

Gostaria de saber se montar as unidades em "sync" em vez do modo "async" padrão permitiria que os processos de rsync mostrassem velocidades de gravação reais e poupassem o tempo de desmembramento que não pode ser monitorado facilmente.

Acho que seria mais fácil acompanhar o progresso real e produzir um ETA sensato, mas tenho medo de prejudicar o desempenho de alguma forma e desativar alguns recursos interessantes (por exemplo, forçar cada cópia a ser relida da unidade de origem em vez do cache de RAM).

Quais os benefícios e desvantagens que a sincronia pode produzir em relação a assíncrono é esse exemplo específico?

    
por unfa 03.03.2017 / 16:32

1 resposta

1

Sim, é por causa do cache de disco: antes de desmontar, todas as gravações pendentes precisam ser concluídas.

Montá-lo com sync não melhorará o tempo total necessário: O que precisa ser escrito precisa ser escrito, não importa se rsync já saiu ou não. De fato, a montagem com sync provavelmente forçará alguns blocos a serem desnecessariamente gravados várias vezes (por exemplo, diretórios), e isso diminuirá um pouco a vida útil do dispositivo, e também aumentará o tempo total necessário.

Se você quiser monitorar a velocidade de gravação atual , use apenas uma ferramenta diferente, como atop ou iotop , que mostrará a velocidade de gravação de um determinado dispositivo.

Monitorar ou criar scripts para a transação completa também é fácil: espere até que o% final umount retorne e não se importe quando rsync terminar.

Então, eu aconselharia contra a montagem com sync .

    
por 03.03.2017 / 17:22