Разработчики представили Blockstor — новую открытую систему для управления распределенным блочным хранилищем в Kubernetes. Проект позиционируется как независимая альтернатива LINSTOR, обеспечивающая репликацию данных поверх DRBD.
Ключевые особенности и совместимость
Blockstor полностью совместим с LINSTOR по REST API. Это позволяет использовать его с уже существующей экосистемой инструментов, включая командную утилиту linstor, CSI-драйвер, оператор Piraeus, ha-controller и библиотеку golinstor. Важно отметить, что проект является самостоятельной «clean-room» реализацией на языке Go, написанной «с нуля» без использования исходного кода оригинала. Код распространяется по лицензии Apache 2.0 и развивается как часть платформы Cozystack (проект CNCF Sandbox).
Автором выступил Андрей Квапил (@kvaps), известный в Kubernetes-сообществе как один из ключевых разработчиков операторов для LINSTOR. По его словам, разработка заняла около 20 дней непрерывной работы.
Переход на декларативную модель Kubernetes
Переход на Blockstor обусловлен стремлением уйти от архитектурных ограничений LINSTOR. В то время как оригинальный проект полагается на «request-based» модель обработки запросов, которая может вызывать проблемы при масштабировании, Blockstor использует декларативный подход reconciliation. Вся конфигурация системы представлена в виде Kubernetes CRD-объектов, что делает решение нативным для Kubernetes-кластеров.
Функциональные возможности Blockstor:
- Репликация томов поверх DRBD с поддержкой бэкендов LVM, LVM-thin, ZFS, ZFS-thin и файловых систем.
- Автоматическое размещение реплик с учетом топологии зон и специфических свойств узлов.
- Поддержка механизмов TieBreaker, кворума и возможность «горячего» изменения размера томов.
- Работа в режиме без DRBD (локальное хранилище или бездисковый доступ).
- Встроенное шифрование томов через LUKS.
- Развитая работа со снапшотами: создание, клонирование, перенос внутри кластера и восстановление.
- Поддержка контейнерных образов для архитектур linux/amd64 и linux/arm64.
Разработка с помощью ИИ
Одной из главных особенностей проекта стало экстремальное использование нейросетей. Почти весь код был создан с помощью Claude Code (модель Opus 4.7). В процессе разработки в пиковые моменты использовалось до 60 ИИ-агентов одновременно. За 20 дней диалога было сгенерировано около 36 тысяч ответов ИИ, что привело к написанию 83 тысяч строк кода реализации и 137 тысяч строк тестов. Суммарно было потрачено около 18,9 млрд токенов, что эквивалентно 40 тысячам долларов при использовании API.
Автор подчеркивает, что несмотря на высокую степень автоматизации, критические узлы — особенно сложная логика работы с DRBD, схождения состояний и предотвращение сценариев split-brain — требовали глубокого человеческого контроля. Поскольку оригинальный LINSTOR лицензирован по GPL, для обеспечения чистоты проекта применялась двухэтапная схема: один ИИ-агент анализировал логику оригинала, а второй создавал новую реализацию исключительно на основе полученных текстовых спецификаций.






