The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опубликована система хранения Blockstor, являющаяся альтернативой LINSTOR

28.05.2026 06:22 (MSK)

Доступен первый выпуск Blockstor - открытой системы управления распределённым блочным хранилищем для Kubernetes, обеспечивающей репликацию данных поверх DRBD. Blockstor совместим по REST API с LINSTOR и способен без изменений работать с существующей экосистемой клиентов, включая командную утилиту linstor, CSI-драйвер, оператор Piraeus, ha-controller и библиотеку golinstor. Проект представляет собой полностью самостоятельную (clean-room) реализацию на языке Go, не использующую исходный код оригинала. Код распространяется под лицензией Apache 2.0 и развивается в рамках платформы Cozystack (проект CNCF Sandbox).

Автор проекта - Андрей Квапил (@kvaps), основатель Cozystack и участник некоммерческой организации Piraeus, в рамках которой развиваются оператор и CSI-драйвер LINSTOR для Kubernetes. Автор известен в Kubernetes-сообществе как популяризатор LINSTOR и неоднократно выступал с техническими докладами по теме. Изначально разработка задумывалась как небольшая "пятничная" инициатива, однако в итоге превратилась примерно в 20 дней непрерывной работы. На текущий момент проект развивается как исследовательский, однако в перспективе рассматривается как возможная замена LINSTOR в роли системы хранения по умолчанию в Cozystack.

В качестве причин создания нового проекта упоминаются сложности с сопровождением оригинального проекта и передачей изменений в основной проект, а также архитектурные ограничения LINSTOR. Оригинальный проект использует "request-based" модель обработки запросов в реальном времени, который показывает проблемы на масштабах, тогда как декларативный reconciliation-подход Kubernetes и framework controller-runtime, по мнению автора, значительно лучше подходит для построения распределённых систем.

В отличие от LINSTOR, архитектура Blockstor полностью основана на подходе Kubernetes controller-runtime. Конфигурация и текущее состояние системы представлены в виде Kubernetes CRD-объектов, а сама система не рассчитана на работу вне Kubernetes-кластера.

Среди основных возможностей Blockstor:

  • Реплицируемые поверх DRBD тома на базе LVM, LVM-thin, ZFS, ZFS-thin и файловых бэкендов.
  • Автоматическое размещение реплик с учётом зон, свойств узлов и правил "replicas-on-different".
  • Поддержка TieBreaker, quorum и изменения размера томов без остановки работы.
  • Возможность работы без DRBD в режиме локального (single-replica diskful) или бездискового хранилища.
  • Шифрование томов через LUKS.
  • Поддержка снапшотов: создание, откат, клонирование и восстановление в виде нового ресурса.
  • Перенос снапшотов внутри кластера через zfs send/recv и thin-send-recv.
  • Создание storage pool’ов из физических дисков.
  • Собранные для разных архитектур контейнерные образы (linux/amd64 и linux/arm64), опубликованные в GHCR.

Особенностью проекта стало активное использование AI-инструментов при разработке. Практически весь код был подготовлен с помощью Claude Code (модель Opus 4.7) компании Anthropic. Разработка велась почти круглосуточно в течение примерно 20 дней. В отдельные моменты одновременно работало до 60 AI-агентов, а общий диалог разработки составил около 1320 запросов со стороны автора и порядка 36 тысяч ответов модели в рамках одной непрерывной сессии. На выходе получилось 1500 коммитов, в которых 83 тысячи строк кода заняла реализация и ещё 137 тысяч строк кода тесты. По предварительной оценке, суммарно было израсходовано около 18.9 млрд токенов, а эквивалентная стоимость такого объёма при использовании API-тарифов составила бы около 40 тысяч долларов.

Автор первоначально рассчитывал на почти полностью автономную разработку силами AI-модели, однако сложная логика DRBD потребовала постоянного участия человека. Наиболее сложными оказались сценарии схождения DRBD-состояний, работа с Generation Identifier (GI), пропуска изначальной синхронизации и обработка split-brain сценариев. Поскольку оригинальный LINSTOR распространяется под лицензией GPL, использовать его код напрямую было нельзя. Основная часть реализации создавалась на основе анализа API-контрактов, поведения утилит, Python-клиента LINSTOR, а также совместимых по лицензии проектов, включая piraeus-operator и CSI-драйвер.

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

  1. Главная ссылка к новости (https://github.com/cozystack/b...)
  2. OpenNews: В ядро Linux предложено включить распределённое реплицируемое блочное устройство DRBD 9
  3. OpenNews: Релиз распределенного реплицируемого блочного устройства DRBD 9.2.0
  4. OpenNews: Первый альфа-выпуск etcd-оператора для Kubernetes
  5. OpenNews: Опубликован код COSI-драйвера для SeaweedFS
  6. OpenNews: Выпуск Cozystack 1.2, открытой PaaS-платформы на базе Kubernetes
Автор новости: tym83
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65546-blockstor
Ключевые слова: blockstor, linstor, drbd, cozystack
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, penetrator (?), 08:13, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +17 +/
    > Особенностью проекта стало активное использование AI-инструментов при разработке. Практически весь код был подготовлен с помощью Claude Code (модель Opus 4.7) компании Anthropic.

    спасибо, не надо

     
     
  • 2.2, tym83 (ok), 08:21, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    для вас плохие новости:) линуксом тогда тоже пора перестать пользоваться:)
     
  • 2.3, q (ok), 08:21, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не сказал бы, что я в полном восторге от кода, который пишется мясным бульоном.
     
     
  • 3.6, Аноним (6), 09:04, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    его хотя бы остальные могут без поллитра понять и поревьюить, в отличие от "великих тайных замыслов" рандомизатора над 100500 примерами индусского выхлопа
     
     
  • 4.9, q (ok), 09:19, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сходил проверил код -- написан и оформлен хорошо, обильно прокомментирован. Не понять его способен только бульончик.
     
     
  • 5.12, Аноним (12), 09:54, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > обильно прокомментирован

    только не для людей — там в коментариях весь багтрекер переписан. 9 строк объяснений для пропуска строк начинающихся с #

     
     
  • 6.15, q (ok), 10:04, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если заглянешь в любой крупный людской проект, то обнаружишь, что всюду в коде встречаются ссылки на багтрекер. Это считается хорошей практикой, так как не надо сидеть с git blame наперевес и выискивать, на каком основании добавлено странное неочевидное условие. [Это знание разблокируется только при работе в крупной компании.]
     
     
  • 7.27, Аноним (12), 11:47, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    странное неочевидное условие пропускать строки с # в начале?
    Ссылки на баги идут подряд по 3-4 штуки к одной строке кода, иногда они идут перед функцией.
    Там не обоснование странного и неочевидного, там восстановление контекста для нейросетки и этого контекста будет становиться все больше
     
     
  • 8.30, нах. (?), 12:34, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    если действительно так как ты описываешь - то это чрезвычайно чайниковское управ... текст свёрнут, показать
     
  • 7.31, нах. (?), 12:36, 28/05/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.25, Аноним (25), 11:03, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Прямо таки ВЕСЬ код проверил? Или поверил цифробоженьке на слова о грядущих финансированиях?
     
  • 4.18, Аноним (18), 10:30, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Хахаха, погоди ты серьезно? Тогда я буду смеяться еще сильнее! (с)

    Посмотри как тыщиглаз разобрались со всякими Copy Fuck'ами и Dirty Fagʼами.
    Пока ИИшка не натыкала мордочкой в овнокод, дырени жили-не-тужили.

     
     
  • 5.22, анонимно (?), 10:57, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И это хорошо что иишка была от белых хакеров.
     
  • 2.13, нах. (?), 09:57, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > спасибо, не надо

    там главная вишенка на тортике дальше - что автор при помощи ыы сп-л чужой код и перевыложил его под несовместимой лицензией.

    Причем как-то не видно даже попыток внятно изолировать реверс от быдл0кодинга, наоборот, больше всего похоже что он даже и не пытался.

    Че-та мне кажется что суд он - проиграет, даже если в коде не окажется прямой копипасты.

     
     
  • 3.19, Аноним (19), 10:35, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > автор при помощи ыы сп-л чужой код

    Поясните что в ваших хм... понятиях означает "сп-л"?
    Неужели код где-то пропал?
    Да вроде вот лежит github.com/LINBIT/linstor-server

    Код LINSTOR написан на Java, код Blockstor - на Го.
    Если вы найдет "украденные" строки, то можно с уверенностью идти в суд.
    Но что-то мне подсказывает, что жаба от гошки отличается весьма)

    > перевыложил его под несовместимой лицензией

    Под свободной.
    ГНУ-рак был заменен на свободный апач.

    Но вам никто не запрещает сделать Libre-Blockstor и перелицензировать её под коммуняцкой лицензией. (Так как апач свободный, в отличие от)

     
     
  • 4.21, нах. (?), 10:52, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Поясните что в ваших хм... понятиях означает "сп-л"?

    использовал результаты чужого труда без разрешения автора. Так доходит?

    > Неужели код где-то пропал?

    код спираченой тобой винды тоже никуда не пропадал, но почему-то за это пдют сапогом.

    > Но что-то мне подсказывает, что жаба от гошки отличается весьма)

    суд не будет сравнивать построчно. Ему хватит утверждений эксперта что тут тот же алгоритм до мелких деталек.

    а так-то да, был уже прецедент "переписывания" с C на C++ - с последующими успешными продажами. И тоже про storage, что характерно.
    (но там почти честно - код был и остался gpl. Только вот авторы куда-то подевались. Ну ведь сами виноваты, согласись - в COPYING ведь и нет места где упоминаются какие-то еще авторы кроме Фре Софтваре Фаундейшн.)

     

  • 1.4, Аноним (4), 08:29, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Очень сильно похоже на рекламу. Почему это пропустили вообще?
     
     
  • 2.5, Аноним (5), 08:37, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Код распространяется под лицензией Apache 2.0, а проект развивается в некоммерческой организации Cloud Native Computing Foundation. Что вам ещё нужно?
     
     
  • 3.28, Аноним (28), 12:24, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > проект развивается в некоммерческой организации Cloud Native Computing Foundation.

    Как этот набор букв запрещает заниматься им рекламой своего продукта?

     

  • 1.10, Роман (??), 09:39, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > В отдельные моменты одновременно работало до 60 AI-агентов

    Эта часть наиболее интересная для меня, если автор поделится подходом или записью доклада, или просто готов для благодарной аудитории устроить некий лайв стрим на час-полтора и показать наглядно - буду признателен

     
  • 1.11, нах. (?), 09:53, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > 1320 запросов со стороны автора и порядка 36 тысяч ответов
    > модели в рамках одной непрерывной сессии.

    че-та то ли переводчик не владеет темой, то ли автор - е6060.

    памяти для контекста у sonnet хватит ну на пару десятков вопрос-ответов если не очень часто ее поправлять.

    нормальные люди не сидят в одной сессии дольше чем надо для решения конкретной задачи (одна сессия - один набор связанных комитов, решающий одну узкую проблему, или один комит вообще)

    что там у него делали 60 тыщ одних курьер... агентов - в общем-то тоже загадка.

     
     
  • 2.16, Аноним (16), 10:09, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну автокомпакт и субагентов никто не отменял
     
     
  • 3.20, Аноним (19), 10:37, 28/05/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.23, нах. (?), 11:00, 28/05/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.14, Tron is Whistling (?), 09:59, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не завидую ~камика~, то есть смельчакам, рискнувшим это реально использовать. Впрочем, об использовании особой речи не идёт.
     
     
  • 2.26, нах. (?), 11:04, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Не завидую ~камика~, то есть смельчакам, рискнувшим это реально использовать. Впрочем,
    > об использовании особой речи не идёт.

    я подозреваю что и у козьего стека пользователей - два козла которым удалось это втюхать.

    Чувак видимо просто нашел третьего и решил что незачем делиться его денежками.

    (обычно все эти форки именно так и объясняются)


     

  • 1.17, Анонисссм (?), 10:23, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    получается и Cozystack такого же какчества?
     
     
  • 2.24, нах. (?), 11:03, 28/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > получается и Cozystack такого же какчества?

    а ты сомневался?

    докер в докере под докером для тех кто не справился с докером в докере под докером.

    Но зато - цени, ручная работа, старик а сам все делал, не то что нынешние вайбкодерки!

     

  • 1.29, Mik Foxi (ok), 12:31, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вообще хорошо когда сразу пишут что вайбкодинг, чтобы не тратить время и обходить стороной такой "продукт".
     
  • 1.32, 12yoexpert (ok), 13:00, 28/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    все негативные комменты снесут, за рекламу уплочено
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру