Blockdiff: We built our own file format for VM disk snapshots
Разработчики создали формат blockdiff для мгновенных снапшотов дисков виртуальных машин, сократив время создания с 30+ минут на EC2 до нескольких секунд — ускорение в 200 раз. Это стало возможным благодаря хранению только изменённых блоков данных, что экономит место и ускоряет операции. Формат работает поверх CoW-механизмов XFS в Linux, обеспечивая нулевые накладные расходы и мгновенное создание снапшотов без полного сканирования диска.
Ключевые применения включают сохранение сред разработки, быстрое пробуждение ВМ из сна и откат изменений. Решение обошло ограничения бинарных диффов и OverlayFS, предложив простую и надёжную реализацию на Rust. Открытый исходный код доступен на GitHub, что позволяет сообществу адаптировать инструмент для схожих задач.
Комментарии (17)
- Удивление отсутствием рассмотрения формата QCOW2 и технологии тонкого provisioning VDO с LVM2 для решения аналогичных задач.
- Вопросы о выборе XFS вместо ZFS/BTRFS, использовании LVM-снимков и возможности интеграции решения с другими гипервизорами и файловыми системами.
- Обсуждение технических деталей реализации: использование флагов для синхронизации файлов, поддержка copy_file_range в qemu-img, сравнение с OverlayBD.
- Интерес к применению технологии для ускорения подготовки виртуальных машин в CI/CD и публичном облаке.
- Замечания о необходимости альтернативного текста для изображений и выбора лицензии для проекта.
Bcachefs Goes to "Externally Maintained" 💬 Длинная дискуссия
- bcachefs переведён в статус externally maintained — Линус отметил, что новые изменения в mainline маловероятны, но немедленного удаления файловой системы из ядра не планируется.
- Суть конфликта: не лицензия и не технические проблемы, а личные разногласия Линуса и других разработчиков с автором bcachefs Кентом Оверстритом.
- Возможные сценарии
- Найти нового мейнтейнера, который будет выступать посредником между Кентом и ядром.
- Риск: такой человек может выгореть, повторив конфликт «по доверенности».
- Альтернатива — форк ядра без участия Кента, но Линусу это, судя по всему, неинтересно.
- Позиция Кента: он не хочет перекладывать ответственность на коллег-разработчиков, чтобы не потерять ещё одного инженера, и настаивает на контроле качества релизов, так как сам обрабатывает большинство баг-репортов.
Комментарии (276)
- Btrfs по-прежнему не догнал ZFS по надёжности и функционалу, а уход Josef Bacik из Meta усиливает тревогу за его будущее.
- bcachefs остаётся в ядре, но из-за конфликта Kent Overstreet с процессом слияния патчей его обновления теперь могут идти вне основного дерева (DKMS/сторонние репозитории).
- Участники обсуждают высокий «bus-factor» bcachefs (разработка почти одним человеком) и сравнивают ситуацию с ZFS, который стабильно работает на FreeBSD и некоторых Linux-дистрибутивах.
- Некоторые пользователи рассматривают переход на FreeBSD или возврат к проверенным схемам LVM+XFS из-за нестабильности btrfs и проблем bcachefs.