Saltar para o conteúdo principal Saltar para a navegação Saltar para o rodapé
Por tempo limitado: Programa de Parceiro de Design. Plano BUSINESS grátis para sempre.

Transferência Delta

O primeiro envio para outra máquina copia tudo; todos os envios seguintes transferem apenas os blocos alterados -- automaticamente.

Transferência Delta

Envie um repositório para outra máquina duas vezes. O primeiro envio transporta tudo. O segundo transporta apenas o que mudou: mesmo comando, sem sinalizadores, sem gestão manual. E não tem de acreditar à fé, porque o resultado do envio imprime exatamente quanto foi transferido.

Ver o tutorial

Blocos, não bytes

Blocks, not bytes

Após o primeiro envio, o CLI mantém uma imagem base imutável idêntica nas duas máquinas. O envio seguinte compara os blocos com essa base e envia apenas a diferença.

Passo 1: O envio de base

rdc repo push --name my-app --machine <machine-name> --to <target-machine>

Faça push do repository para uma segunda máquina. O primeiro push transfere a imagem completa, e a saída reporta: 2 GB transferidos, marcado como (full). Uma base delta é mantida nos dois lados.

O resultado fala por si: 2.0 GB transferred in 44.4s (full). A imagem inteira viajou, e uma base delta idêntica ficou retida nos dois lados.

Passo 2: Alterar um pouco

rdc term connect --machine <machine-name> --repository my-app --command 'dd if=/dev/urandom of=delta-test.bin bs=1M count=50 status=none && ls -lh delta-test.bin'

Escreva uma pequena quantidade de novos dados no repository.

Passo 3: Enviar a diferença

rdc repo push --name my-app --machine <machine-name> --to <target-machine>

Faça push novamente com o mesmo comando: a saída reporta cerca de 50 MB transferidos como delta em relação à base compartilhada, de uma imagem de 2 GB. Apenas os blocos alterados foram enviados.

Mesmo comando, linha bem diferente: 50.8 MB transferred in 5.7s (delta vs base ..., image 2.0 GB). Cinquenta megabytes mudaram, por isso cerca de cinquenta megabytes viajaram, de uma imagem de dois gigabytes.

Passo 4: Sincronizados, em segundos

rdc repo list --machine <target-machine>

A máquina de destino agora contém o repository atualizado, sincronizado ao custo do delta.

Ambas as máquinas têm o mesmo repositório, atualizado ao custo da alteração, não do tamanho. Os backups máquina-a-máquina de hora a hora deixam de ser caros.

Precisa de controlo explícito? --delta-base <guid> fixa a base de comparação, e --strategy escolhe o algoritmo de delta por blocos. Por defeito, ambos são calculados automaticamente.


Próximo: Gestão de Armazenamento.