Saltar al contenido principal Saltar a navegación Saltar al pie de página
Tiempo limitado: Programa Design Partner. Plan BUSINESS gratis de por vida.

Transferencia delta

El primer push a otra máquina copia todo; cada push posterior transfiere solo los bloques que cambiaron, de forma automática.

Transferencia delta

Haz push de un repositorio a otra máquina dos veces. El primero lleva todo. El segundo lleva solo lo que cambió: mismo comando, sin flags, sin bookkeeping. Y no tienes que confiar en eso sin verlo, porque la salida del push imprime exactamente cuánto se transfirió.

Ver el tutorial

Bloques, no bytes

Bloques, no bytes

Después del primer push, el CLI mantiene una imagen base inmutable idéntica en ambas máquinas. El siguiente push compara bloques contra esa base y envía solo la diferencia.

Paso 1: El push de referencia

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

Haz push del repository a una segunda máquina. El primer push transfiere la imagen completa, y la salida lo indica: 2 GB transferidos, marcado (full). Se conserva una base delta en ambos lados.

La salida lo dice claramente: 2.0 GB transferred in 44.4s (full). Viajó toda la imagen, y se conservó una base delta idéntica en ambos lados.

Paso 2: Cambia algo pequeño

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'

Escribe una pequeña cantidad de datos nuevos en el repository.

Paso 3: Push de la diferencia

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

Haz push de nuevo con el mismo comando: la salida indica que se transfirieron unos 50 MB como delta respecto a la base compartida, de una imagen de 2 GB. Solo viajaron los bloques modificados.

Mismo comando, línea muy distinta: 50.8 MB transferred in 5.7s (delta vs base ..., image 2.0 GB). Cambiaron cincuenta megabytes, así que viajaron unos cincuenta megabytes, de una imagen de dos gigabytes.

Paso 4: Sincronizados en segundos

rdc repo list --machine <target-machine>

La máquina destino ahora tiene el repository actualizado, sincronizado al coste del delta.

Las dos máquinas tienen el mismo repositorio, actualizado al coste del cambio, no del tamaño. Los backups automáticos de máquina a máquina dejan de ser costosos.

¿Necesitas control explícito? --delta-base <guid> fija la base de comparación, y --strategy elige el algoritmo de delta de bloques. Por defecto lo calcula todo por ti.


Siguiente: Gestión del almacenamiento.