Новости и события » Hi-Tech » Леннарт Поттеринг представил свой новый проект Casync

Леннарт Поттеринг представил свой новый проект Casync

Леннарт Поттеринг (Lennart Poettering) анонсировал проект Casync, над которым он работал последние несколько месяцев. Casync позиционируется как эффективное средство для распространения образов файловых систем, оптимизированное для организации частых обновлений через интернет, в том числе поверх HTTP и CDN-сетей. Casync нацелен на предоставление оптимального метода хранения и доставки различных связанных версий содержимого крупных файловых систем или каталогов.

В настоящее время разработка Casync сосредоточена на оптимизации доставки прошивок для потребительских интернет-устройств, образов контейнеров и виртуальных машин, приложений, переносимых сервисов и различных образов операционных систем, при этом в будущем возможности проекта будут расширены для таких задач как резервное копирование и синхронизация домашних каталогов. Код написан на языке Си и распространяется под лицензией LGPLv2.1. Поддерживается работа как на уровне блочного устройства (доставка содержимого дисков, образов фС и блочных устройств), так и на уровне файловой системы (обработка содержимого каталогов).

В качестве причины создания нового ПО упоминается отсутствие готового решения для эффективного распространения меняющихся образов ФС. Например, Docker оперирует многоуровневыми архивами и требует слишком много дисковых ресурсов для поддержания полной истории изменений; OSTree передает отдельные файлы по HTTP, требует много места для delta-изменений на сервере и имеет проблемы с CDN; поставка образов в виде готовых файловых систем squashfs или IS09660 неэффективна в точки зрения дисковых затрат и трафика. В итоге, изучив недостатки имеющихся решений, перед проектом Casync были поставлены следующие цели:

  • Минимизация трафика при доставке образов с интенсивным циклом обновления (для решения данной задачи большинство существующих систем используют доставку дельта-изменений);
  • Экономное использование дискового пространства на серверах (поддержание дельта-изменений для всех комбинаций версий приводит к экспоненциальному росту занимаемого дискового пространства);
  • Экономное использование дискового пространства на стороне клиента;
  • Адаптация для задействования сетей доставки контента (CDN) и загрузки поверх HTTP;
  • Простой интерфейс для пользователей, администраторов репозиториев и разработчиков. Управление производится через утилиту командной строки casync, предоставляющей команды подобные "casync list http://www.foobar.com/lennart.caidx" и "сasync extract http://www.foobar.com/lennart.caidx /home/lennart".

Для достижения поставленных задач Casync комбинирует алгоритмы передачи данных от проекта rsync с git-подобными средствами организации контенто-адресуемых хранилищ. Данными сохраняется в файле.castr, который представляет собой хранилище отрывков (chunk store), в котором большой линейный поток данных разбивается на отрывки (chunk) переменной длинны, который сохраняются в виде отдельных сжатых файлов с именем, составляющим хэш SHA256 от содержимого этого файла. Таким образом имя файла выступает ключом для извлечения порции данных. Chunk store позволяет абстрагироваться от отдельных файлов - например, несколько мелких файлов будут объединены в один chunk, а большой файл разбит на несколько chunk-ов. При этом размер chunk-а выбирается с учетом размера файлов для обеспечения дедупликации.

Хранилище дополняют два вида индексов (.caidx и caibx) и архив со структурой дерева каталогов (.catar). Индекс отрывков ("chunk index") содержит список хэшей отрывков и их размер, что позволяет выявлять идентичные отрывки и исключать сохранение дубликатов, что актуально при хранении нескольких версий данных. При обновлении клиент определяет недостающие кусочки и загружает только их. Содержимое дерева каталогов представлено в формате, обеспечивающем повторяемую сериализацию, т. е. упаковка одних и тех же данных всегда приводит к созданию идентичных архивов Casync, что позволяет применять расширенные схемы верификации.


Как арендовать автомобиль в Дубае - полное руководство от RosCar.ae

Как арендовать автомобиль в Дубае - полное руководство от RosCar.ae

Аренда автомобиля в Дубае - отличный способ исследовать город в своем собственном темпе. Независимо от того, приехали вы в Дубай по делам или на отдых, наличие автомобиля в вашем распоряжении обеспечивает свободу и удобство. В RosCar мы предлагаем широкий...

сегодня 13:45
  • Доставка из Германии в Украину с сервисом Meest Shopping

    Доставка из Германии в Украину с сервисом Meest Shopping

    Зарубежный интернет-магазин – это площадка, где можно найти широкий ассортимент качественных и недорогих товаров от известных производителей. Доставка из...

    29 августа 2024
  • Тротуарная плитка: свойства, виды и преимущества

    Тротуарная плитка: свойства, виды и преимущества

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

    4 июля 2024
  • Где лечить зубы в Харькове

    Где лечить зубы в Харькове

    Выбор стоматологии - это важный и ответственный процесс, требующий внимательного подхода и учета множества факторов. Пациенты стремятся найти клинику, которая...

    24 мая 2024
  • Перевод письменного текста

    Перевод письменного текста

    Перевод письменного текста – это процесс перевода текста на другой язык с помощью письменного переноса информации из одного языка на другой с учетом...

    4 мая 2024

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх