O rsync seria melhor que tar, wget e untar?

3

Estou migrando para um novo servidor e, assim como os arquivos html / php, tenho um diretório que contém cerca de 90.000 arquivos, totalizando 24 GB, que precisam ser movidos.

Quando fiz uma migração de teste, usei o tar para criar um tarball, em seguida, wget no novo host e, em seguida, extraí o arquivo tar, mas, embora funcionou bem, levou cerca de 3 horas para completar. Isso causaria 3 horas de inatividade enquanto eu fazia isso na migração real para garantir que nenhum novo arquivo fosse inserido ou que os arquivos fossem alterados, etc.

Agora estou planejando a migração atual e estou tentando encontrar maneiras mais rápidas de fazer isso e me perguntei sobre o uso do rsync - eu usei o rsync apenas localmente e apenas para um pequeno número de arquivos. que o método acima?

Eu não estou tão preocupado com o uso da CPU, memória ou rede, desde que o processo real seja concluído mais rapidamente, pois isso será feito fora de horas quando o sistema estiver mais silencioso de qualquer maneira.

    
por bhttoan 01.11.2015 / 17:23

4 respostas

5

Você terá que testar para descobrir. Existem muitas variáveis, como a velocidade do seu sistema de armazenamento.

Considere restaurar seu arquivo TAR ou backup enquanto o sistema antigo estiver ativo. Então, durante o tempo de inatividade, use o rsync para copiar as alterações restantes. Ele ainda precisa verificar vários tempos de modificação de arquivo, o que leva tempo, mas há muito menos E / S e transferência de rede.

Esta cópia incremental é o que o rsync faz bem. Fazer isso de uma só vez pode não ser mais rápido do que outras ferramentas.

    
por 01.11.2015 / 17:42
4

O rsync pode permitir que você sincronize os arquivos sem derrubar o servidor. Por exemplo, você pode fazer uma sincronização durante a produção, desativar o servidor, sincronizar novamente para ter certeza de que tudo foi alterado nesse momento e, em seguida, ativar o novo servidor. A segunda sincronização será incremental e levaria uma fração do tempo do todo, minimizando o tempo de inatividade.

    
por 01.11.2015 / 21:23
0

O rsync copiará apenas os diffs - somente as alterações do servidor de origem para o de destino. Se você já tiver uma cópia dos seus dados no novo servidor, o rsync copiará apenas o que foi alterado entre o estado atual e o estado atual.

    
por 01.11.2015 / 23:13
0

Se você quer fazer isso com o tar e não com o rsync, você pode paralelizar suas tarefas:

fonte:

tar ... | nc host port

destino:

nc -l -p port | tar ...

Pelo menos reduzirá seu tempo em dois

    
por 06.11.2015 / 09:16