segunda-feira, 17 de maio de 2010

Como transferir um arquivo gigante via Internet

Hoje nos deparamos com uma situação complicada de resolver. Um certo banco de dados SQL resolveu ocupar 80% do HD do servidor e precisávamos obter o backup do banco para arquivamento antes de apaga-lo. Acontece que ele estava em um servidor em um datacenter... Como enviar 112GB via Internet? Em menos de 12h? Com um link de 10Mbps/s ? Como gerar o backup do banco se não havia espaço para caber o próprio backup? Pra complicar, não poderíamos deixar nossos dados vagando por ai na Internet sem criptografia.

Bem, a última pergunta é fácil de resolver. Bastou desatachar o banco, clicando sobre ele e "detach".
Primeiro tentamos via FTP, mas ficou tão lento que levaria 8 dias para completar.

Após alguns testes, detectamos que o arquivo ( e outros .mdf em geral) são susceptíveis a uma boa compressão. Mas como não havia espaço para compactar o arquivo no HD, decidimos que a transmissão dos dados deveria ser feita por um canal que comprimisse "on the fly".

Lembramos que tínhamos o OpenSSH for Windows instalado no servidor!
Em um cliente Linux em nossa rede foi trivial:
scp -C usuario@datacenterhost:/cygdrive/c/mssql/data/bigfile.*    .
O -C ativa a compressão.

Depois, utilizamos o MD5 pra confirmar que o arquivo estava ok.

Um comentário:

Nota Importante

O conteúdo deste blog foi desenvolvido por mim e não foi copiado de outros locais, embora alguns poucos tópicos tenham sínteses e adaptações de outras fontes, que neste caso, serão referenciadas para se dar o devido crédito.
A reprodução é permitida desde que citada a fonte e para fins não comerciais. É proibido o uso para fins comercias sem a expressa autorização do autor.
Embora o conteúdo aqui apresentado seja testado pelo autor e/ou passado por sua aprovação, não é oferecida nenhuma garantia de que tudo funcionará corretamente ou não irá danificar os sistemas envolvidos, pois o sucesso dependerá do ambiente e/ou conhecimento do leitor.
Ao utilizar este blog, para qualquer fim, o leitor concorda com estes termos e isenta o autor de qualquer responsabilidade, ficando o uso do conhecimento aqui apresentado por sua conta e risco.
Caso discorde destes termos, gentileza fechar esta página imediatamente.

Copyright Jonathan Araújo 2010