Pergunta

Estou procurando uma boa maneira de transferir quantidades de dados não triviais (10g> x> 10Mb) de uma máquina para outra, potencialmente em várias sessões.

Eu olhei brevemente para

  • *ftp (sftp, tftp, ftp)
  • http
  • torrents (fora porque não terei uma rede de sementes em geral)
  • rsync (não tenho certeza se eu realmente posso adaptar isso ao que preciso)

Existem outros protocolos por aí que podem se encaixar um pouco melhor na conta? A maioria das itens acima não é muito tolerante a falhas em si, mas depende de aplicativos de clientes/servidores para pegar a folga. Nesta fase, me preocupo muito mais com o próprio protocolo, em vez de uma implementação específica do cliente/servidor que funciona bem.

(E sim, eu sei que posso escrever meu próprio UDP, mas eu prefiro quase qualquer outra coisa!!)

Foi útil?

Solução

Eu uso o RSYNC (Over SSH) para transferir qualquer coisa que eu acho que possa levar mais de um minuto.

É fácil avaliar o limite, suspender/retomar e obter relatórios de progresso. Você pode automatizá -lo com as teclas SSH. Já está (geralmente) instalado (em caixas *nix, de qualquer maneira).

Dependendo do que você precisa, o RSYNC provavelmente pode se adaptar. Se você estiver distribuindo a muitos usuários, o FTP/HTTP pode ser melhor para preocupações com o firewall; Mas o RSYNC é ótimo para transferências individuais ou uma para uma forma.

Outras dicas

O RSYNC é quase sempre a melhor aposta.

Como transfere apenas diferenças, se a transferência for interrompida, na próxima vez que não será tão diferente como a primeira (quando não houve um arquivo no destino)

O BitTorrent não exige que uma grande rede de sementes seja eficaz - funcionará bem com uma semeadora e um par. Há um pouco de sobrecarga configurando um rastreador etc., mas uma vez configurado, seria um método agradável, zippy e tolerante a falhas de transferência.

Bem, o HTTP é uma boa opção, pois suporta reiniciar transferências parciais usando intervalos de byte. FTP ou TFTP são bons porque você pode obter software de servidor extremamente simples de configurar, em vez de ter que bloquear algo como um servidor HTTP.

Gridftp é o que Argonne está usando para transportar grandes quantidades de dados de maneira confiável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top