Enquanto procurava por um erro após falha no rsync inicial de dados para glusterfs, encontrei a seguinte entrada em /var/log/glusterfs/data-nfs.log:
[MSGID: 109066] [dht-rename.c:1410:dht_rename] 0-volume1-dht: renomeando /source/ .filename.jpg.bWVXS4 (hash=volume1-replicate-0/cache=volume1-replicate-0) = > /dest/filename.jpg (hash=volume1-replicate-0/cache=)
Definitivamente não há um nome de arquivo começando com um ponto, eu apenas verifiquei novamente. Do que se trata esta entrada? Existem milhares deles.
É assim que o rsync faz suas coisas. Ele grava o arquivo em um local temporário (começando com um ponto) e, quando o arquivo é totalmente gravado, ele o renomeia para o local final. Ele precisa manter o arquivo original por perto porque o algoritmo do rsync funciona - ele lê pedaços do arquivo original e os intercala com os dados alterados enviados pela rede.
Você pode evitar esse comportamento usando a opção
--inplace
, mas faz coisas terríveis para o algoritmo de sincronização incremental, se você estiver contando com isso (em vez de copiar novos arquivos).