Estimando o tempo necessário para copiar um arquivo grande

1

Eu tenho que copiar um arquivo relativamente grande (6GB) para outro servidor. Para reforçar a consistência, eu tenho que 'bloquear' este arquivo e não usá-lo durante a transferência. Obviamente, quero minimizar esse tempo de inatividade, mas antes disso, também quero estimar o tempo necessário para isso.

Eu posso ver duas soluções:

  • copie o arquivo localmente e depois transfira pela rede (local). Eu estou pensando que isso levará ao menor tempo de inatividade, mas então, talvez eu esteja errado, pois o disco terá que escrever e ler o mesmo arquivo ao mesmo tempo. Mesmo com isso, não tenho idéia de como estimar o tempo necessário para copiar o arquivo localmente. Talvez criar um arquivo de 6GB e copiá-lo seja significativo, mas, como posso fazer isso?

  • copie o arquivo pela rede diretamente (scp). Isso parece lento, já que o acesso à rede é mais lento que a escrita em disco, mas, novamente, talvez eu esteja errado.

Geralmente, como posso avaliar as duas abordagens e decidir qual delas é a melhor para mim?

    
por Julien Genestoux 09.01.2012 / 17:23

3 respostas

3

Honestamente ... há várias maneiras de atacar isso. Eu tenho alguns servidores onde eu preciso copiar arquivos que estão em uso constante ... então eu agendar uma "janela de manutenção" de alguns minutos onde eu posso bloquear os arquivos ... criar um instantâneo (usando dm-instantâneo), coloque o servidor de volta online e, em seguida, faça o que for com a cópia do snapshot do arquivo. Isso permite que eu tenha uma versão estável do arquivo ... e coloque o serviço novamente on-line com tempo de inatividade mínimo. Depois ... posso remover o instantâneo sem afetar o servidor ativo. No seu caso ... você pode copiar o arquivo de snapshot com 6gb no seu próprio ritmo conforme necessário .... sem se preocupar com a versão ao vivo do arquivo bagunçando o processo de cópia.

link

    
por 09.01.2012 / 17:30
2

Crie um arquivo fictício para transferir:

time dd if=/dev/urandom of=~/testfile bs=1M count=512
time cp testfile testfile2 #How long it takes to copy

time scp testfile user@otherserver:/path

/dev/urandom está selecionado para evitar qualquer aumento da compactação. O SCP deve informar interativamente qual é a velocidade. A matemática básica deve permitir a extrapolação de tamanhos de arquivos para 6 GB.

    
por 09.01.2012 / 17:51
1

Você pode usar o utilitário * nix "Pipe Viewer" para assistir a esses processos. Ele fornecerá uma barra de progresso e o tempo estimado de transferência.

    
por 09.01.2012 / 17:30

Tags