Comportamento / diferenças do Rsync & newbie

1

Do meu ponto de vista, o rsync over SMB tenta criar uma lista de arquivos cada vez na origem / destino para verificar se alguma alteração foi modificada antes de uma cópia ser obtida.

Estou tentando entender as diferenças usando o rsync no OSX em SMB ao montar o armazenamento de rede e usar o rsync no OSX sobre SSH em um armazenamento montado pelo NFS no Linux. Durante os testes, quando rsyncing ao armazenamento montado no Linux, ele identificou arquivos novos / excluídos imediatamente! Quando o rsyncing no SMB cria uma lista de arquivos completa e cria uma lista de cada pasta antes que qualquer cópia ocorra.

Para a percepção dos usuários, essa lista de arquivos de construção (desde que eles tenham centenas / milhares de pastas) leva algum tempo para percorrer cada diretório. Uma vez que o rsync completa a cópia inicial, na segunda execução ele me fornece as informações enviadas e de tamanho, extremamente rápido.

O problema ocorre quando desmontamos o compartilhamento SMB. Se executarmos o rsync novamente, ele construirá a lista de arquivos e percorrerá todas as pastas, mesmo que não haja nada para copiar. A rsinciação no armazenamento por meio do ssh não mostra uma lista de arquivos de construção e informa imediatamente se os arquivos estão sendo copiados, etc.

Os comandos que temos jogado são: -

Mais de smb rsync -uvaz --delete / source / destination rsync -aHEXAx -v --delete --progress --stats --timeout = 999 / source / destination

Por ssh / nfs rsync -nuvaz --delete / source / [email protected]:

Alguma idéia?

    
por user462703 25.06.2015 / 17:23

1 resposta

1

rsync sempre tem que construir a lista de arquivos para sincronizar, mas "Sobre SSH" é a principal diferença aqui.

  • Quando você aponta o rsync em um servidor SSH, ele pode ao servidor para criar tal lista, executando outra cópia do rsync no servidor.

    Dessa forma, tanto o cliente & o servidor só precisa ler / redigitalizar suas próprias cópias locais e apenas trocar uma pequena lista de atualizações.

  • Enquanto isso, quando você aponta rsync diretamente em um compartilhamento montado, ele não pode executar qualquer coisa no servidor, nem em SMB nem NFS nem em qualquer outra coisa. Ele nem consegue distinguir compartilhamentos de rede montados de discos locais montados - tudo o que ele vê são arquivos.

    Isso significa que o seu rsync precisa varrer novamente todo o compartilhamento, o que envolve o envio de muitos comandos "ler diretório" pela rede (latência) e o download de arquivos inteiros apenas para determinar as partes alteradas (largura de banda).

por 25.06.2015 / 19:27