
Blockstor: Kubernetes-native альтернатива LINSTOR, которую мы готовим как отдельный CNCF-проект
TimurTukaev только что Blockstor: Kubernetes-native альтернатива LINSTOR, которую мы готовим как отдельный CNCF-проект Простой 7 мин 2 Блог компании Ænix Хранение данных * Kubernetes * Open source * Системное...
Значимый прорыв формирует отрасль ИИ: TimurTukaev только что Blockstor: Kubernetes-native альтернатива LINSTOR, которую мы готовим как отдельный CNCF-проект Простой 7 мин 2 Блог компании Ænix Хранение данных * Kubernetes * Open source * Системное администрирование * Кейс Всем привет. Мы в Ænix давно занимаемся Kubernetes-платформами, bare metal-инфраструктурой и Cozystack, поэтому тема блочного хранилища для Kubernetes у нас не теоретическая. Это та часть стека, где красивых абстракций быстро становится мало: надо переживать падения нод, понимать топологию, реплицировать данные, не ломать PVC, дружить с CSI и при этом оставаться предсказуемыми для операторов.
Сегодня хотим показать первый публичный результат этой работы — Blockstor 0. Blockstor — это открытая система управления распределенным блочным хранилищем для Kubernetes. Она использует DRBD для репликации данных, совместима с REST API LINSTOR и написана на Go как самостоятельная clean-room реализация.
Технические детали
Код распространяется под Apache 2. Зачем мы это сделалиСначала важный дисклеймер: LINSTOR решил реальную и сложную задачу. Он много лет помогает строить реплицируемое блочное хранилище поверх Linux-примитивов вроде LVM, ZFS, LUKS и DRBD.
Мы сами хорошо знаем этот стек, использовали его, рассказывали о нем и понимаем, почему вокруг него выросла экосистема. Но если смотреть на Kubernetes-платформы сегодняшнего дня, у нас накопилось несколько практических проблем. Во-первых, Kubernetes-мир живет декларативной моделью: есть желаемое состояние, есть фактическое состояние, есть reconciliation loop, который постоянно сводит одно к другому.
Для распределенных систем это очень естественная модель. Оригинальный LINSTOR устроен иначе: он исторически вырос как отдельная система управления хранилищем и обрабатывает запросы в request-based стиле. Во-вторых, нам хотелось Go-native control plane, который ощущается как обычный Kubernetes-controller: CRD, controller-runtime, reconciliation, статусы ресурсов, события, привычная интеграция с Kubernetes-инструментами.
Отраслевые последствия
LINSTOR же написан на Java. В-третьих, нам важна открытая и понятная governance-модель. Blockstor не должен быть просто заменой LINSTOR внутри Cozystack или закрытым компонентом Ænix.
Мы хотим, чтобы он существовал как самостоятельный cloud-native проект в рамках CNCF. Что такое BlockstorЕсли коротко, Blockstor — это Kubernetes-native block storage control plane для платформ, которым нужно реплицируемое блочное хранилище на bare metal, edge и private cloud-инфраструктуре. Технически это не форк LINSTOR и не обертка вокруг него.
Это самостоятельная реализация на Go, которая повторяет совместимые API-контракты там, где это нужно для существующей экосистемы. В то же время у него и есть собственные архитектурные особенности и фичи. На практике это означает, что Blockstor может работать с уже привычными клиентами и компонентами:CLI linstor;LINSTOR CSI driver;Piraeus Operator;ha-controller;библиотекой golinstor;другими инструментами, которые общаются через совместимый REST API.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





