Перейти к основному содержанию Перейти к навигации Перейти к нижнему колонтитулу
Ограниченное время: Программа Design Partner. План BUSINESS бесплатно на всю жизнь.

Дельта-передача

Первая отправка на другую машину копирует всё; каждая следующая передаёт только изменившиеся блоки – автоматически.

Дельта-передача

Отправьте репозиторий на другую машину дважды. Первая отправка несёт всё. Вторая – только изменившееся: та же команда, без флагов, без учётной записи. И принимать это на веру не нужно, потому что вывод команды push печатает ровно столько, сколько было передано.

Смотреть урок

Блоки, не байты

Blocks, not bytes

После первой отправки CLI хранит идентичный неизменяемый базовый образ на обеих машинах. Следующая отправка сравнивает блоки с этой базой и передаёт только разницу.

Шаг 1: Базовая отправка

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

Выполните push repository на вторую машину. Первый push передаёт полный образ, и вывод сообщает об этом: передано 2 ГБ, отмечено (full). На обеих машинах сохраняется базовый образ для дельты.

Вывод говорит прямо: 2.0 GB transferred in 44.4s (full). Весь образ был передан, а на обеих сторонах сохранилась идентичная дельта-база.

Шаг 2: Измените немного

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'

Запишите небольшое количество новых данных в repository.

Шаг 3: Отправьте разницу

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

Выполните push той же командой: вывод сообщает о передаче около 50 МБ как delta относительно общего базового образа, из 2 ГБ. Передались только изменённые блоки.

Та же команда, совсем другая строка: 50.8 MB transferred in 5.7s (delta vs base ..., image 2.0 GB). Изменилось пятьдесят мегабайт – примерно столько и передалось из двухгигабайтного образа.

Шаг 4: Синхронизация за секунды

rdc repo list --machine <target-machine>

Целевая машина теперь содержит обновлённый repository, синхронизированный с затратами на delta.

Обе машины содержат один и тот же репозиторий, обновлённый ценой изменения, а не всего объёма. Почасовые резервные копии между машинами перестают быть дорогостоящими.

Нужен явный контроль? --delta-base <guid> фиксирует базу для сравнения, а --strategy выбирает алгоритм блочной дельты. По умолчанию всё определяется автоматически.


Далее: Управление хранилищем.