Qual programa devo usar para transferir dados de 20 TB pela rede?

10

Preciso copiar 20 TB de dados em uma matriz de raios. A caixa onde os dados existem não possui uma conexão de raio, portanto, precisarei utilizar a rede local de 1 GB para isso. (Sim, vai demorar para sempre).

Tentei usar o Filezilla / sftp, mas ele travou quando a fila ficou super grande. Rsync ou scp é o caminho a percorrer?

lacinda
fonte
2
Você pode retirar a unidade do dispositivo antigo e conectá-lo diretamente?
Concordo com o comentário acima. A transferência física tem a maior largura de banda.
Siyuan Ren
Eu amo o Carbon Copy Cloner, que é um bom utilitário GUI baseado em rsync. O desenvolvedor bifurcou o rsync e fez muitas melhorias. Não posso falar com o speed vs rsync e / ou tar, ou o que for, mas é o meu objetivo para qualquer tipo de transferência de dados, onde quero saber sem dúvida que meus dados estão bons quando tudo estiver dito e feito. E se não for, o CCC me dirá.
Harv
Estou surpreso que não haja referências ao Fedex .
precisa saber é o seguinte

Respostas:

16

O rsync é um bom caminho a seguir (scp é praticamente o mesmo com menos recursos). Você pode usar a -Zopção, que habilitará a compactação zlib. Dependendo da velocidade da sua unidade / computador, pode ser mais rápido do que o envio descompactado, ou seja, se o seu link de rede estiver saturado. Você também pode desejar a opção de modo de arquivamento, -aque preservará links simbólicos, permissões e tempos de criação / modificação, além de copiar diretórios recursivamente. Dependendo do que você está copiando, você pode querer -Epreservar os atributos estendidos e os garfos de recursos do Mac. Por fim, --progressmostrará informações sobre o progresso.

Michael DM Dryden
fonte
11
O rsync também é bom em reiniciar a cópia se houver uma interrupção.
Lee Joramo
3
Apoiar o @LeeJoramo, ser capaz de continuar de onde uma transferência falhada parou é extremamente importante. A transferência deste grande irá falhar em algum momento, e você quer ter certeza de que você não perder qualquer progresso que você fez a esse ponto.
blahdiblah
6

Embora não seja tão onipresente quanto o rsync, no passado eu usei uma ferramenta chamada "mpscp" - http://www.sandia.gov/MPSCP/mpscp_design.htm

Do Sandia National Labs, é uma ferramenta de cópia de arquivo executada em SSH, especialmente otimizada para saturar redes de alta velocidade entre sistemas próximos (como copiar terabytes de dados entre dois supercomputadores no mesmo site, conectados via 10Gb + ou Infiniband). Funciona bem, mas pode ser um pouco complicado de configurar. Nos testes, eu já o vi rodar 2x-3x mais rápido que o rsync.

Yeraze
fonte
3

Use o rsync e considere usá-lo com o rsyncd. Se você usa o rsync sem o rsyncd, você fica preso ao ssh, o que significa usar algum tipo de criptografia. Provavelmente, você está copiando os dados de uma máquina mais antiga para uma mais nova e a máquina mais antiga pode não ter o grunhido da CPU para criptografar os dados para transmissão com rapidez suficiente para manter um link Ethernet de gigabit saturado. Teste a transferência de lotes de arquivos usando os dois métodos e veja qual caminho é mais rápido.

Pela mesma razão, aconselho testar o uso da opção de compactação do rsync antes de começar a usá-la. A compactação é outra atividade intensiva da CPU que pode não ser capaz de acompanhar as velocidades de Ethernet de gigabit quando tentada em hardware mais antigo. O rsync é um programa de quinze anos, escrito quando a maioria das pessoas, mesmo nos países do primeiro mundo, acessava a Internet via modem dial-up. A largura de banda da rede versus as trocas de CPU eram muito diferentes na época.

Kyle Jones
fonte
Você está certo que o rsync usa como padrão o ssh, mas essa não é a única opção. Você pode fazê-lo usar rsh em vez de usar a -eopção Com a mesma opção, você pode alterar as opções do ssh para usar menos criptografia com uso intenso de CPU: -e 'ssh -c arcfour,blowfish-cbc'ou algo semelhante. Se isso faz alguma diferença de velocidade com uma máquina moderna, eu não sei, mas uma referência rápida pode valer a pena, especialmente com 20 TB de arquivos.
Michael DM Dryden
3

Esses 20Tb estão compactados em um pequeno número de arquivos grandes (como vídeo, banco de dados de monstros) ou em milhões de arquivos menores?

Se muitos arquivos pequenos, eu usaria o rsync para reinicialização ou um fluxo tar tar para eficiência (uma conexão de rede para o lote, inicie novamente do início se houver falha)

tar -cf - * | ( cd newhome; tar -xf - )

pasta remota deve ser montada.

Você poderia anexar diretamente a nova matriz com uma interface diferente? O rsync local não usa ssh, portanto você remove esse ponto de falha. Sim, o Firewire 800 é mais lento que a Ethernet Gigabit, mas você não pode carregar a Ethernet a 100% - pode ser mais rápido com a Firewire. Para sua informação, você também pode conectar o firewire em rede se as caixas estiverem próximas o suficiente. Adicione a interface nas preferências do sistema -> rede.

Paulo
fonte
0

Outra opção seria experimentar o Bittorrent Sync ( http://www.bittorrent.com/sync ). Usei-o para sincronizar fotos e vídeos da família entre membros da nossa família na WAN, mas não há motivo para que não funcione na rede local. Ele usa conexões ponto a ponto, para que os dados não passassem por um servidor como se você tentasse usar algo como dropbox (não que eu ache que você tem 20 TB de espaço no dropbox ou que queira esperar tanto tempo para carregar tanto dados!)

Também é suportado em várias plataformas, por isso tem mais flexibilidade que o rsync e o tar.

KenB
fonte