Transferência de dados enorme pela rede fechada

2

Eu tenho necessidade de transferir dados enormes (digamos, mais de 10 TB) de uma máquina para outra através de uma rede fechada (LAN)! Existe algum método comprovado para fazer isso?

estou pensando em FTP? esta é uma abordagem correta?

Qualquer sugestão será útil!

Obrigado Prashanth

    
por Prashanth M P 15.06.2012 / 08:30

7 respostas

2

Dados enormes não são problema com nenhum protocolo, o problema é quantos arquivos você tem e o que você precisa transferir (apenas um monte de dados ou permissões de arquivos, proprietários, etc.). O FTP é uma solução ruim para isso e ineficiente. rsync, glusterfs é uma coisa boa (tm) e assim por diante ... depende ...

10 TB por LAN levarão muito tempo se você tiver conexão de baixa velocidade.

Se for possível expandir a largura de banda - adicionar agregação de link, usar ligação em servidores (especialmente LACP) - você ganhará algum tempo para transferências. Além disso, certifique-se de que suas unidades de disco tenham recursos suficientes para transferir dados na velocidade necessária.

    
por 15.06.2012 / 09:26
0

Acho que o webdav ou o rsync também serão bons. Mesmo o Cifs ou o NFS são bons também, no ambiente Windows provavelmente eu usarei o robocopy + cifs com multithread para melhorar a velocidade de cópia.

No Linux, pode haver o link cp + NFS e do GNU

Espero que seja útil para você:)

    
por 15.06.2012 / 08:35
0

O FTP funciona, mas eu me certificaria de que o cliente e o servidor são razoavelmente eficientes e - mais criticamente - oferecem a capacidade de retomar as transferências.

Eu também sugiro dar uma olhada no rsync, pois ele é bastante eficiente e oferece várias opções para controlar largura de banda e sincronização contínua (se necessário).

    
por 15.06.2012 / 08:37
0

Se for baseado em Unix, use o Rsync com a opção --archive. Também permite fácil parada e partida. FTP não faz. Meu conselho é não usar o FTP.

Ao usar o Windows, talvez você queira dar uma olhada no synctoy. Não tenho certeza, mas também permite parar e começar.

E isso é Gigabit? Se não, você tem a capacidade de conectar os servidores back-to-back e copiar através da segunda NIC? Isso poderia acelerar as coisas.

    
por 15.06.2012 / 10:04
0

Enquanto no Linux eu costumo fazer isso ao lado:

nc -l 43210 | tar xf -

E no lado do envio:

tar cf - . | dd bs=1M | nc receiving_hostname 43210

E então eu corro em outro terminal no lado de envio para obter estatísticas de transferência em tempo real no console de envio:

while sleep 10; do killall -USR1 dd; done

Isto apenas usa uma simples transferência TCP bruta - não é necessário configurar o servidor FTP / NFS / CIFS. Isso transferiria cerca de 10 TB em 24 horas pela rede de 1 Gbps se os discos de ambos os lados fossem rápidos o suficiente.

Você pode precisar permitir conexões à porta usada (43210 no meu exemplo) no firewall no lado de recepção. Ele também deve funcionar em outros unices como o OSX ou o FreeBSD. No Windows, você pode usar o meu "dot_nc" e "dot_nc_l" , que são equivalentes simplistas de nc e nc -l implementados em C # no Windows, que eu usei para comparar as transferências brutas de TCP no Windows.

    
por 15.06.2012 / 10:18
0

A que distância as máquinas estão uma da outra? É possível (isto é, prático) desconectar a matriz de disco da primeira máquina, conectá-la fisicamente à segunda máquina e fazer uma cópia local?

(Ou o contrário - conecte a matriz de disco da segunda máquina à primeira máquina)

    
por 15.06.2012 / 10:28
0

Transferi recentemente 10 TB por meio de uma conexão de 1 Gbps. O maior problema era manter o 1 Gbps preenchido o tempo todo. Isso não foi um problema ao transferir arquivos grandes, mas provou ser um problema ao transferir arquivos pequenos, pois o remetente não conseguia procurar rápido o suficiente.

A solução foi executar várias transferências em paralelo. Alguns com arquivos grandes e alguns transferindo o resto. Foi baseado em:

link

Se seus arquivos são compactáveis, certifique-se de comprimir a transferência (rsync -z).

Em teoria, você deve ser capaz de usar o GNU Parallel e o rsync no Windows 7, mas mesmo que você não possa, você provavelmente pode usar a idéia de transferir grandes arquivos em paralelo com arquivos pequenos.

    
por 15.06.2012 / 12:26

Tags