Como enviar arquivos enormes de um servidor para outro servidor

3

Eu preciso transferir um arquivo enorme (mais de 70 GB) de um servidor no Canadá para outro servidor na África.

Eu tentei o FTP, mas sempre me desconectei em algum lugar. E eu acho que a rede não é estável para o servidor africano, alguns dos arquivos foram enviados, mas quando eu abri-lo, ele está corrompido.

Então eu realmente preciso de uma ferramenta para transferir o arquivo enorme:

  1. Utilize a largura de banda para que eu possa fazer o upload o mais rápido possível.
  2. Se a rede não estiver estável, a ferramenta pode detectá-la, descartar os dados danificados e enviá-los novamente.
  3. Eu não quero fazer o upload para outro lugar (como a maioria da solução de compartilhamento de arquivos, fazer o upload para o servidor deles e obter um link de compartilhamento)
  4. Eu prefiro uma ferramenta que pode ser instalada em ambos os servidores.

O sistema operacional é o Windows Server 2008 R2 para os dois servidores. Eu não posso usar o canal de transferência de terceiros.

    
por Robby Shaw 02.10.2012 / 00:35

9 respostas

11

O BitTorrent pode ser uma boa solução para você.

Crie o torrent no servidor de origem, transfira o arquivo torrent para o destino e use um dos clientes como o rastreador bittorrent. O Bittorrent divide o arquivo em partes gerenciáveis e garante que todas sejam transferidas sem erros.

Há, obviamente, alguma sobrecarga na criação do torrentfile e não há um enxame para melhorar sua velocidade de download, mas se você estiver lidando com um link de baixa qualidade, pode funcionar muito bem para você.

    
por 02.10.2012 / 02:30
2

FTP é horrível - nasceu em meados da década de 1980 e, francamente, deveria ter morrido lá.

Eu provavelmente começaria com scp (Secure Copy), que deve ser parte do pacote openssh ou openssh-client em sua distribuição Linux favorita (incluindo Cygwin), ou disponível como parte do pacote PuTTY se você estiver executando Windows sem o Cygwin. Você precisará configurar um servidor ssh no host de destino, mas isso é bastante simples, supondo que você tenha acesso root / administrador (se você não fizer isso, as coisas ficarão mais difíceis); uma vez que você tenha o servidor ssh em execução e possa acessá-lo a partir do host de origem, é apenas uma questão de

 user@source $ scp /path/to/file user@destination:/path/to/receiving/directory

Isso deve satisfazer seu ponto 1 muito bem, já que scp tem uma sobrecarga razoavelmente baixa; certamente deve satisfazer o ponto 2, pois detectará definitivamente uma conexão com falha e poderá ser (provavelmente) configurado ou (certamente) roteirizado para tentar novamente quantas vezes forem necessárias; ele cobre o ponto 3 facilmente, pois nenhum host ou serviço intermediário é necessário; e também abrange o ponto 4, já que você pode instalar um servidor ssh em ambos os hosts e depois transferir o arquivo para qualquer direção que preferir. Você também obtém criptografia gratuitamente, o que pode ou não ser útil para você.

O manual do OpenSSH é provavelmente um bom lugar para começar, e terei prazer em oferecer mais assistência se você Eu acabei indo nessa rota - eu tenho alguma experiência em usar scp / ssh para esses tipos de transferências (embora não do Canadá para a África ou vice-versa, e não para um único arquivo com 70GB, eu admito!)

Espero que isso ajude!

    
por 02.10.2012 / 00:47
2

Acho que seria uma boa ideia dividir o arquivo em vários pequenos, transmiti-los e depois reuni-los novamente no servidor remoto.

Um exemplo (no Linux) de como dividir e concatenar está aqui: link

Você também deve ter algo como uma conexão ssh com o servidor remoto para poder concatená-los lá.

Útil também seria uma ferramenta como "md5sum" para verificar se os arquivos transmitidos são inalterados, comparando os hashes.

Você pode escrever um pequeno script de shell para automatizar algumas coisas, para que você possa transmitir muitos arquivos pequenos sem esforço, ou fazer manualmente e tentar com alguns pedaços maiores ...

    
por 02.10.2012 / 00:50
2

Dependendo da sua velocidade de upload e download (geralmente, o upload é o problema), sua melhor maneira é escrevê-lo em um HD e enviá-lo via Fedex, DHL ou similar para alguém copiá-lo para o servidor, se possível. / p>

Por exemplo, se sua velocidade de upload for de 1 Mbps, você fará o upload de 1M / 8 = 128 KB / s. Portanto, sem contar quaisquer "problemas" como sobrecarga devido à criptografia (usando scp por exemplo) ou conexão não 100% da taxa total, o arquivo precisará de 70G / 128K = mais de 500.000 s ou 160h (mais de 6 dias). Se a sua conexão não for muito estável, levará (possivelmente muito) mais tempo.

    
por 02.10.2012 / 02:11
1

Eu consideraria colocar o arquivo em um conjunto de DVDs ou BD-ROMs ou HDD de 2,5 "e enviá-los pelo correio aéreo.

Se a sua largura de banda de upload for de 1 Mbit / s, 70 GB poderá levar 6 dias para ser transferida pela Internet.

    
por 02.10.2012 / 02:04
1

coloque o arquivo no site ftp como você tentou, mas da África use

wget -c ftp.server.com/filename

-c retomará o download interrompido

    
por 02.10.2012 / 02:44
1

Se você estiver usando Mac OS X ou Linux em ambos os lados (?), então rsync pode ser sua melhor aposta.

Confira as páginas de manual aqui .

    
por 02.10.2012 / 03:10
0

Mail.ru oferece 100Gb de espaço. Você poderia transferir seu arquivo dessa maneira. Claro, você tem que ser capaz de falar russo, ou talvez usar uma ferramenta de tradução.

    
por 26.01.2015 / 16:21
-1

Eu tive a mesma situação. o servidor de destino era remoto, mas no mesmo país. então usei o Team Viewer - File Transfer. Funcionou perfeitamente no servidor windows.

    
por 11.11.2015 / 06:35