taap.digitalferramentas para engenharia de redes

Guia prático

Quanto tempo leva para migrar 10 TB entre data centers

A diretoria quer saber se a migração cabe no fim de semana. São 10 TB de um data center para outro, por um link de 1 Gbps. A resposta depende de quatro contas: bits, overhead, unidade e quantas conexões levam os dados.

Cabos de rede organizados em um rack de data center
Entre dois data centers, o link quase nunca é o único limite: overhead, janela TCP e disco também entram na conta. Foto: Taylor Vick / Unsplash

O caso: migrar 10 TB de arquivos de um data center para outro por um link dedicado de 1 Gbps. A equipe tem uma janela de 48 horas, do sábado de manhã à segunda de manhã. O RTT entre os dois sites é de 12 ms (valor de exemplo; meça o seu).

Resposta curta: com o link cheio e só o overhead de quadro Ethernet, a cópia leva 23 h 24 min 34 s, dentro da janela. Mas isso exige que o TCP encha o link. Uma única conexão com janela de 64 KiB a 12 ms fica em 43,7 Mbps e levaria 21 d 4 h 37 min. A janela de 48 h pede pelo menos 463 Mbps de vazão útil sustentada.

1. Primeiro, bits

Velocidade de link é medida em bits por segundo; tamanho de arquivo, em bytes. Esquecer a conversão é o erro mais comum, e ele divide o tempo por oito.

tempo = tamanho em bytes × 8 ÷ vazão em bit/s

10 TB são 10.000.000.000.000 bytes, ou 80.000.000.000.000 bits. Divididos por 1.000.000.000 bit/s, dão 80.000 segundos: 22 h 13 min 20 s. Esse é o tempo ideal, com cada bit do link carregando dado útil. Ele nunca acontece, mas é a base de todas as outras contas.

Cada pacote leva cabeçalhos, e cada quadro Ethernet ocupa mais espaço na linha do que o pacote IP. A RFC 6349, que define como testar vazão de TCP, faz essa conta para Ethernet com MTU de 1.500 bytes: o quadro ocupa 1.538 bytes na linha (somando cabeçalho Ethernet, CRC, intervalo entre quadros, preâmbulo e delimitador), e a carga útil de TCP é de 1.460 bytes (1.500 menos 40 de cabeçalhos IP e TCP).

eficiência = 1.460 ÷ 1.538 = 94,9%

O overhead é, portanto, de 5,07%. A 1 Gbps, sobram 949 Mbps para os dados, e a cópia passa a levar 23 h 24 min 34 s.

Esse é o melhor caso de uma conexão TCP em Ethernet sem opções extras. Opções de TCP, criptografia, túneis e protocolos de cópia acrescentam bytes. A calculadora de tempo de transferência usa 10% de overhead como padrão; com esse valor, o tempo vai para 1 d 0 h 41 min. Se você não sabe o overhead do seu caminho, use 10% para planejar e meça no primeiro lote.

3. TB ou TiB?

O painel do storage pode mostrar "10 TB" e querer dizer outra coisa. Em prefixos decimais, 1 TB = 1012 bytes. Em prefixos binários, 1 TiB = 240 = 1.099.511.627.776 bytes. Muitos sistemas mostram o valor binário com o símbolo decimal.

A diferença não é pequena: 10 TiB são 11,0 TB, 9,95% a mais. Com o mesmo link e o mesmo overhead, a cópia de 10 TiB leva 1 d 1 h 44 min, contra 23 h 24 min 34 s para 10 TB. Pergunte qual é a unidade antes de prometer horário.

4. A janela de 48 horas

A conta ao contrário responde à pergunta da diretoria: qual vazão útil é necessária para caber na janela?

vazão necessária = bits ÷ segundos da janela

80.000.000.000.000 bits ÷ (48 × 3.600) s = 463 Mbps de vazão útil, sustentada durante a janela inteira. Somando o overhead de 5,07%, o link precisa entregar 488 Mbps. Um link de 1 Gbps comporta, com folga para uma repetição se algo falhar no meio.

Tempo da mesma cópia em outros links, com o mesmo overhead:

Link Vazão útil Tempo para 10 TB
200 Mbps 190 Mbps 4 d 21 h 2 min
500 Mbps 475 Mbps 1 d 22 h 49 min
1 Gbps 949 Mbps 23 h 24 min 34 s
2 Gbps 1.899 Mbps 11 h 42 min 17 s
10 Gbps 9.493 Mbps 2 h 20 min 27 s

Se o link é compartilhado e a migração só pode usar parte dele, faça a conta com essa parte. Metade de 1 Gbps leva 1 d 22 h 49 min: cabe nas 48 h por pouco, sem folga para repetir um lote que falhe.

Disco rígido prateado e preto visto de perto
10 TB são 80.000.000.000.000 bits. Antes de discutir o link, converta a unidade. Foto: Nick / Unsplash

Tudo até aqui supõe que os dados ocupam o link inteiro. Uma única conexão TCP só faz isso se a janela for pelo menos do tamanho do produto banda × atraso (BDP). A 1 Gbps e 12 ms:

BDP = 1.000.000.000 × 0,012 ÷ 8 = 1.500.000 bytes (1,43 MiB)

Se algum equipamento no caminho limita a janela a 64 KiB, o teto de uma conexão é janela ÷ RTT = 43,7 Mbps. Os 10 TB levariam 21 d 4 h 37 min. É a diferença entre um fim de semana e um mês.

Há duas saídas, e elas se somam:

  • Janela maior. A opção window scale da RFC 7323 permite janelas muito acima de 64 KiB. Verifique se as duas pontas negociam a opção e se nenhum equipamento no caminho a remove.
  • Várias conexões em paralelo. Com janelas de 64 KiB, seriam necessárias 22 conexões para ocupar a vazão útil do link. Ferramentas de cópia costumam permitir dividir o trabalho em vários fluxos.

O guia por que a janela TCP limita a velocidade em links longos detalha essa conta. Para o seu caso, use a calculadora de BDP com o RTT medido.

6. Perda também custa tempo

Mesmo com janela grande, a perda de pacotes limita uma conexão TCP com controle de congestionamento clássico. O modelo de Mathis e coautores (1997) estima o teto em MSS ÷ RTT × 1,22 ÷ √p. A 12 ms, com 0,01% de perda, uma conexão fica perto de 119 Mbps; com 0,1%, perto de 37,6 Mbps. Os próprios autores consideram o modelo superado diante de algoritmos como o BBR; use como ordem de grandeza.

7. A sincronização final

Em migração de arquivos em uso, a cópia grande não é a última. Enquanto ela roda, os usuários continuam alterando arquivos, e uma segunda passada copia só o que mudou. Se 2% dos dados mudarem durante a janela (valor de exemplo), são 200 GB, que levam 28 min 5 s no mesmo link. É esse número que define quanto tempo o sistema precisa ficar parado na virada, e não o tempo da cópia inteira.

8. Um ritmo para acompanhar a cópia

Durante a migração, a pergunta muda de "quanto tempo vai levar" para "estamos no ritmo?". A mesma conta dá a meta por hora. Com 949 Mbps úteis, o link move 427 GB por hora. Depois de 6 horas, a cópia deveria estar perto de 2,56 TB; depois de 12, perto de 5,13 TB.

Se o painel da ferramenta de cópia mostrar bem menos do que isso, o gargalo não é o link. Volte à seção 5 e confira janela, número de conexões e perda antes de esperar a madrugada passar.

9. Antes de prometer o horário

  1. Confirme a unidade (TB ou TiB) e o volume real, depois de excluir o que não vai migrar.
  2. Calcule o tempo ideal e o tempo com overhead.
  3. Meça o RTT e calcule o BDP; confira a janela TCP nas duas pontas.
  4. Faça uma cópia de teste com uma parte dos dados e compare o tempo real com o calculado. A RFC 6349 chama essa comparação de razão entre o tempo real e o tempo ideal de transferência.
  5. Reserve tempo para a sincronização final e para repetir um lote que falhar.

Perguntas frequentes

Por que a cópia de teste foi mais lenta que a conta?

As causas mais comuns são janela TCP pequena, uma única conexão, perda de pacotes ou disco lento em uma das pontas. A conta deste guia cobre o link e o TCP; a leitura e a escrita dos discos precisam ser medidas no próprio ambiente.

Quantos GB por hora um link de 1 Gbps move?

Com o overhead de quadro deste guia, cerca de 427 GB por hora. Com 10% de overhead, 405 GB por hora. A calculadora mostra esse número na linha "Por hora".

E para 1 TB?

Com o mesmo link e o overhead de quadro, 2 h 20 min 27 s. O tempo cresce na proporção do volume: o dobro de dados, o dobro de tempo, desde que a vazão se mantenha.

O RTT muda o tempo da cópia?

Não muda a conta do link, mas muda o que uma conexão TCP consegue entregar. Com RTT maior, a janela necessária cresce e a mesma perda derruba mais a vazão. Por isso a seção 5 usa o RTT medido entre os dois data centers.

Compressão ajuda?

Ajuda quando os dados se comprimem bem e o processador das pontas dá conta. O tempo calculado aqui considera os bytes que de fato atravessam o link. Se a compressão reduzir o volume pela metade, refaça a conta com a metade.

E se o link for de 10 Gbps?

Com o mesmo overhead, os 10 TB levam 2 h 20 min 27 s. Mas o BDP também cresce dez vezes: a 12 ms, são 14,3 MiB de janela para uma conexão encher o link.

Onde faço a conta com os meus números?

Na calculadora de tempo de transferência: informe o tamanho com a unidade certa, a velocidade e o overhead. Para conferir a janela, use a calculadora de BDP e janela TCP.

xfer-timeFaça a conta com os seus númerosQuanto tempo leva para mover GB ou TB por um link de Mbps ou Gbps.
Abrir Tempo de transferência com este caso →

Fontes e referências

Conferimos cada afirmação técnica nas fontes acima. Os números foram calculados com as mesmas fórmulas das ferramentas do site. Veja a metodologia e a lista completa de fontes.

Outros guias