Eu tenho cerca de 200.000 arquivos que estou transferindo para um novo servidor hoje. Eu não fiz nada em larga escala antes e queria obter alguns conselhos sobre como eu deveria fazer isso. Estou movendo-os entre duas distribuições Centos 6, e elas estão em locais diferentes no país. Como não tenho espaço suficiente no disco rígido do servidor original para fazer o tar de todos os diretórios e arquivos em um tarball maciço, minha pergunta é como devo transferir todos esses arquivos? rsync? alguma maneira especial de usar o rsync? Qualquer entrada / sugestão sobre como fazê-lo seria incrível.
obrigado
Edição: Para aqueles que se perguntam, eu sugiro usar um screen
quando executar um rsync
comando grande como este. Especialmente quando algo bobo pode ocorrer e você perde a conexão com o servidor A do qual está executando o rsync
comando. Em seguida, basta desconectar a tela e retomar depois.
fonte
rsync
? Talvez em um pequeno conjunto de arquivos ou algo assim? Deve ser a ferramenta ideal para isso.tar cz | ssh [email protected] tar xz
rsync
para atualizações subsequentes): "Nunca subestime a largura de banda de uma caminhonete cheia de fitas" (ou seja: você já pensou em colocar um segundo hd (ou conectar um usb2 disco / USB3), backup sobre ele, e de envio que uma via FedEx para a localização remota poderia ser muito mais rápido do que qualquer outra coisa, e poupar largura de banda para outros usos?.Respostas:
Apenas para esclarecer a resposta de Simon ,
rsync
é a ferramenta perfeita para o trabalho:Supondo que você tenha acesso ssh à máquina remota, convém fazer algo assim:
Isto irá copiar o diretório
path/to/local/foo
para/path/to/remote/bar
o servidor remoto. Um novo subdiretório chamadobar/foo
será criado. Se você deseja copiar apenas o conteúdo de um diretório, sem criar um diretório com esse nome no destino, adicione uma barra final:Isso copiará o conteúdo do
foo/
diretório remotobar/
.Algumas opções relevantes:
fonte
rsync -hrtplu --progress
se quisesse ver o progresso à medida que ele avança?rsync --progress --stats -hrtl --update source destination
.rsync -hrtplu --progress --rsh='ssh -p2202'
é o que estou usando e ele não pode se conectar. Continue recebendo erro 255. Mas eu sou sshd'd nele. Então, eu sei que não é o firewall ... preciso fornecer a senha também através do cmd? ou não me pedia depois?Depende de quão rápido ele precisa ser copiado e quanta largura de banda está disponível.
Para uma conexão de rede ruim, considere a largura de banda de um caminhão cheio de fitas. (Leia: envie um HDD de 2,5 polegadas ou apenas leve-o até você. É fácil encontrar unidades de 300 gigabit).
Se é menos tempo crítico ou você tem muita largura de banda, o rsync é ótimo. Se houver um erro, você pode continuar sem copiar novamente os arquivos anteriores.
[Editar] Esqueci de acrescentar que você pode executar o rsync várias vezes se seus dados forem usados durante a cópia.
Exemplo:
1) Dados em uso. Rsync -> Todos os dados são copiados. Isto pode tomar algum tempo.
2) Execute o rsync novamente, apenas os arquivos alterados serão copiados. Isso deve ser rápido.
Você pode fazer isso várias vezes até que não haja alterações, ou pode fazê-lo da maneira inteligente / segura, tornando os dados somente leitura durante a cópia. (por exemplo, se estiver em um conjunto compartilhado usado que compartilhe como somente leitura. Ou sincronize novamente os dados, à noite defina o compartilhamento como somente leitura enquanto você o executa pela segunda vez).
fonte
Eu iria para o rsync! Estou usando-o para fazer backup do meu servidor em um servidor externo e funciona bem. Geralmente, existem alguns MBs para copiar, mas em alguns dias ele chega a 20 a 30 GB e sempre funcionou sem problemas.
fonte
O rsync sobre NFS usando conexão Gigabit demorará cerca de 10h. Será melhor copiar dados no disco rígido e movê-los entre servidores. Se você precisar fazer uma cópia individual do disco, use dd ou algo parecido para criar uma imagem bruta do disco. Usar ssh (scp) causa uma enorme sobrecarga. Testado empiricamente na conexão Gigabit. O rsync é bom na sincronização incremental entre dois servidores usados no HA ou no modo de backup. Eu acho.
fonte
will took nearly about 10h. It will be better to copy data on HDD and move them between server.
exceto que está em todo o país, então levaria mais tempo.use NFS pela primeira vez e tar / untar (o NFS é o protocolo mais rápido nesse caso, tar para economizar largura de banda da rede com mais utilização da CPU)
próxima vez / s usar rsync
fonte
tar -cf - * | gzip | nc -p 4567
enc -l 4567 | gunzip | tar xf -
.