В прошлую среду мы объявили о выходе второго поколения программно-определяемой системы хранения данных Basis SDS. Долго время этот продукт был частью нашей платформы виртуализации, но начиная с версии 2.0 стал самостоятельным решением. Это не единственное изменение, также мы существенно расширили возможности продукта в части управления инфраструктурой хранения данных, реализовали новые инструменты их защиты, внедрили технологию zero-copy и на 50% уменьшили потребление оперативной памяти.
Коротко о Basis SDS
При разработке нового поколения нашей программно-определяемой СХД мы руководствуемся тремя ключевыми критериями:
1. Надежность. В основе Basis SDS лежат кластерная архитектура и дублирование, продукт спроектирован с упором на максимальную доступность пользовательских данных. Поэтому обновление и миграция проходят для пользователей незаметно, и даже выход из строя одного из узлов не приведет к недоступности или потере данных. Мы ни разу не теряли пользовательские данные и планируем продолжать в том же духе.
2. Производительность и технологичность. В Basis SDS реализован автоматический тиринг - продукт сам разбирается, какие данные положить на “горячий”, производительный слой, а какие - на “холодные”, более медленные диски. Поддерживается горизонтальная масштабируемость, т.е. для увеличения объема кластера достаточно подключить к нему еще серверы, емкость и производительность при этом растут практически линейно. Соответственно, не нужно мигрировать из маленького кластера в кластер побольше, нет перерывов в работе. Для хранения данных Basis SDS использует настраиваемый erasure coding, благодаря этому достигается оптимальное использование дискового пространства по сравнению с репликацией.
3. Удобство эксплуатации. Хранилище Basis SDS не привязано к конкретному вендору, его можно развернуть на серверах любых производителей, главное, чтобы они соответствовали спецификации. Доступна бесшовная миграция виртуальных томов между узлами кластера, например, если нужно обслу��ить сервер незаметно для пользователей.

Что нового в релизе 2.0
Массовые операции
В SDS 2.0 мы добавили массовые операции для виртуальных дисков, шаблонов и снапшотов. Теперь можно выбрать нужные объекты через веб-интерфейс или API и выполнить операцию одним действием. Система покажет список объектов для удаления и попросит подтверждение — никаких случайных потерь данных. Также реализовано массовое перемещение дисков. Если какой-то узел не справляется с нагрузкой, можно быстро распределить виртуальные диски по менее загруженным серверам.
Гибкость управление размером дисков
SDS 2.0 позволяет изменять размер виртуальных дисков прямо через веб-интерфейс или API. Нужно увеличить том с базой данных? Просто указываете новый размер, и система сама перестроит структуру без необходимости пересоздавать диск.
Переработанный API
Мы полностью переработали API-интерфейс. Добавили полноценный плагин Swagger-UI, который позволяет управлять всем функционалом прямо из браузера. Внедрили версионность API, чтобы обновления не ломали существующие интеграции и старые версии API могли продолжать работу. Это особенно важно для продакшн-сред, где каждое изменение должно проходить долгие циклы тестирования.
Рост производительности
Одно из главных достижений — оптимизация потребления оперативной памяти примерно на 50%. Это результат работы над алгоритмами кэширования и управления ресурсами. Меньше памяти на системные нужды означает больше ресурсов для пользовательских задач.
Технология zero-copy помогает экономить дисковое пространство. Вместо создания полных копий данных система использует ссылки на исходные блоки, создавая копии только при изменении. Это особенно заметно при работе со снапшотами — они занимают минимум места и создаются очень быстро.
Презентация данных без ограничений
SDS 2.0 поддерживает полноценную презентацию виртуальных дисков через протокол NBD (Network Block Device). Это дает максимальную гибкость при работе с блочными устройствами в сетевой среде — диск можно подключить к любой машине в сети так же просто, как локальный накопитель.
Мы доработали механизмы добавления NBD-дисков через командную строку и реализовали возможность указания маски подсети в поле ACL при настройке доступа к дискам по iSCSI. Добавили автоматическое переподключение к экспортам в NBD-клиенте — если соединение временно пропало, клиент сам попытается восстановить подключение.
Самовосстановление и мониторинг
В SDS 2.0 мы внедрили алгоритмы самовосстановления. Система ведет журнал выполнения внутренних задач, контролирует создание снапшотов и автоматически перезапускает компоненты при необходимости.
Механизм health check сравнивает установленные пакеты на разных узлах кластера и сообщает о расхождениях. Это помогает выявлять проблемы на раннем этапе — например, когда на одном сервере забыли установить обновление.
Подготовили комплекс для интеграции с внешними системами мониторинга: Zabbix, Grafana, Prometheus. Теперь можно настроить централизованный мониторинг всей инфраструктуры и получать уведомления о проблемах до того, как они повлияют на пользователей.
Интерфейс и документация
В новом релизе мы интегрировали плагин документации прямо в интерфейс управления. Техническая документация доступна в режиме реального времени: больше не нужно искать актуальные инструкции по разным источникам — все под рукой.
Кроме того, появилась русская локализация и множество улучшений удобства использования. Добавили информацию о шаблонах виртуальных дисков, страница виртуального пула теперь показывает данные о маршрутизаторах хранилища для каждого объекта.
Совместимость
Basis SDS 2.0 работает на расширенном списке операционных систем: Ubuntu 20, 22, 24 и Astra Linux 1.7, 1.8. Решение также совместимо с нашим гипервизором vCore 2.0.
Что дальше?
Само собой, релиз 2.0 - это не финальная точка, а промежуточный этап в развитии Basis SDS. Будет больше автоматизации, больше удобства в эксплуатации, больше реализованных функций, которых ожидают наши заказчики. В частности, сейчас ведутся работы над новым бэкендом хранения и поддержкой протокола NVMEoverTCP. Детали раскроем в следующем официальном релизе.
