Esta é uma situação em que estou frequentemente:
- Eu tenho um servidor de origem com um disco rígido de 320 GB e 16 GB de RAM ( especificações exatas disponíveis aqui , mas como esse é um problema que eu encontro frequentemente em outras máquinas também, prefiro a resposta para trabalhar em qualquer máquina Linux "razoável")
- Eu tenho um servidor de backup com vários terabytes de espaço no disco rígido ( especificações exatas aqui , consulte o aviso acima)
Desejo transferir 320 GB de dados do servidor de origem para o servidor de destino (especificamente, os dados de /dev/sda
).
- Os dois computadores estão fisicamente próximos um do outro, para que eu possa passar os cabos entre eles.
- Estou em uma LAN e estou usando um roteador novo , o que significa que a velocidade da minha rede deve "idealmente" ser de 1000Mbit, certo?
- Segurança não é um problema. Estou em uma rede local e confio em todas as máquinas da rede, incluindo o roteador.
- (opcional) Não preciso necessariamente de uma soma de verificação assinada dos dados, mas a verificação básica de erros (como pacotes descartados ou a unidade se tornar ilegível) deve ser detectada em vez de simplesmente desaparecer na saída.
Eu procurei esta pergunta online e testei vários comandos. O que aparece com mais frequência é o seguinte:
ssh user@192.168.1.100 'dd bs=16M if=/dev/sda | gzip' > backup_sda.gz
Este comando se mostrou muito lento (ele foi executado por uma hora, só obteve cerca de 80 GB pelos dados). Demorou cerca de 1 minuto e 22 segundos para o pacote de teste de 1 GB e acabou sendo duas vezes mais rápido quando não compactado. Os resultados também podem ter sido distorcidos pelo fato de o arquivo transferido ser menor que a quantidade de RAM no sistema de origem.
Além disso (e isso foi testado em peças de teste de 1 GB), estou tendo problemas se usar o gzip
comando e dd
; o arquivo resultante possui uma soma de verificação diferente quando extraída no destino, do que se for canalizada diretamente. Ainda estou tentando descobrir por que isso está acontecendo.
/dev/sda
como uma imagem ou apenas os arquivos. Por que o rsync não é uma opção? Está /dev/sda
montado enquanto você dd
ed?