nixp.ru v3.0

22 декабря 2024,
воскресенье,
20:41:47 MSK

21 июня 2017, 19:17

Casync — утилита для частой синхронизации файловых систем, «вдохновлённая» rsync и Git

1
Схема алгоритма кодировки данных в casync
Схема алгоритма кодировки данных в casync
Иллюстрация с сайта 0pointer.net

Леннарт Поттеринг (Lennart Poettering) из компании Red Hat представил свой новый проект, над которым работал в последние месяцы, — casync.

Как пишет сам автор, утилита casync появилась под вдохновением от классического средства синхронизации файлов rsync и популярной системы контроля версий Git. Таким образом, в основу решения положено пересечение идей алгоритма rsync и контентно-адресуемых файловых систем (т.е. ФС для CAS, Content-Addressable Storage). Новый инструмент призван обеспечить эффективное хранение и доставку образов файловых систем, ориентирован на использование в интернете при необходимости частых обновлений ФС. В качестве предполагаемых сфер применения называются интернет вещей (IoT), контейнеры, виртуальные машины, приложения, портируемые сервисы и образы операционных систем. При этом автор возлагает надежды, что в дальнейшем casync может пригодиться и для бэкапов, и для синхронизации домашних каталогов пользователей.

Поттеринг пришёл к созданию casync после изучения имеющихся решений, таких как tarball-архивы со слоями в Docker, а также OSTree и «другие системы». Используемые в них подходы, по мнению разработчика, не удовлетворяют всем реальным требованиям к системам с циклом частых обновлений, которые нуждаются одновременно в разумном потреблении трафика (использовать дельты изменений для обновлений образов), в установке лимитов на количество используемого дискового пространства на серверах (сколько дельт хранить) и у клиентов, в удобном взаимодействии с CDN-сетями, в простоте для пользователей, администраторов и разработчиков.

Исходный код casync написан на языке Си и опубликован на GitHub под свободной лицензией GNU LGPL 2.1. Там же можно найти примеры базовых команд утилиты, а в блоге разработчика опубликовано подробное объяснение, как работает casync и какие возможности предоставляет.

Постоянная ссылка к новости: http://www.nixp.ru/news/14086.html. Дмитрий Шурупов по материалам 0pointer.net.

fb twitter vk
Дмитрий Шурупов

В продолжение этой темы Леннарт представил утилиту для создания образов операционных систем — mkosi (Make Operating System Image).