Быстрая и простая распределённая
программная СХД

Vitastor

  • Распределённая программная СХД (SDS)
  • ...но Быстрая 🚀 — отклик 0.1 мс
  • ...и Простая ✌️ — 60 тыс. строк, а не 1 млн
  • Разработана с нуля в России

Программная СХД (SDS)

ПО, объединяющее обычные серверы с обычными дисками в единое масштабируемое отказоустойчивое хранилище, имеющее расширенные функции

Зачем SDS IaaS/PaaS провайдерам?

  • Лёгкость масштабирования
  • Сохранность данных клиента
  • Снижение затрат за счёт гиперконвергентности
  • Отсутствие "микроменеджмента" серверов
  • Различные классы хранения (SSD, HDD)

Но многие SDS — это накладные расходы

Накладные расходы

  • Q=1 — лучший возможный отклик
  • 4 кб запись на SSD — 0.04 мс
  • 4 кб запись в Ceph — от ~ 1 мс
  • Внутренние SDS облаков – ± аналогично
  • 2400 % накладные расходы !

Vitastor

  • ~ 0.1 мс отклик при репликации
  • ~ 0.2 мс отклик при EC
  • 3-8 гбайт/с на клиента (ВМ)
  • ~ 400000 оп/с на клиента
  • Всего ~1 ядро CPU на NVMe диск
  • Низкое (50%) влияние ребаланса

Vitastor — протоколы

  • Блочный доступ (диски ВМ, контейнеры):
    Kubernetes, Proxmox, OpenNebula, OpenStack и др.
  • VitastorFS (NFS) — кластерная POSIX ФС
  • Объектное хранение (S3) — на базе Zenko CloudServer

Функции

  • Репликация, коды коррекции ошибок (N+K)
  • Любые диски: SSD/NVMe, HDD, SSD+HDD
  • Гибкое распределение данных
  • Поддержка RDMA / RoCEv2
  • Быстрые снимки и клоны
  • Быстрые контрольные суммы, скрабы
  • Мониторинг
  • Kubernetes оператор
  • И другие...

Симметричная архитектура

  • Симметричная распределённая, Ø SPOF
  • Блочный базовый слой
  • Равномерное распределение нагрузки
  • Транзакционная запись → защита от потери данных
  • Оптимизация под современные SSD/HDD

Простота сопровождения

  • Малое число компонентов
  • Прозрачность метаданных в etcd
  • Минимум внешних зависимостей
  • Компактная реализация:
    ~60k строк кода (Ceph ~1M)
  • Поддержка нестандартных архитектур (E2K)

Лицензирование

  • Собственная Copyleft-лицензия VNPL
  • Свободное использование в OpenSource среде
  • Закрытые сервисы требуют коммерческой лицензии
  • Техническая и архитектурная поддержка от автора

Контакты

Блочный доступ

С поддержкой всех основных основанных на KVM систем виртуализации, а также контейнеров: OpenNebula, OpenStack, Proxmox VE, Kubernetes

Кластерная ФС

Собственная реализация масштабируемой кластерной POSIX-совместимой файловой системы, монтируемой по NFS 3.0

Объектное хранилище (S3)

На базе Zenko CloudServer

Интересное — последние записи

Выпущена версия Vitastor 2.3.0

Кратко: ublk, Veeam и исправление включения контрольных сумм.

25.08.2025 Читать далее →

Выпущена версия Vitastor 2.2.3

Корректирующий релиз - поднакопилось немного багфиксов.

30.07.2025 Читать далее →

Выпущена версия Vitastor 2.2.2

  • Исправлен баг, из-за которого не совсем корректно авто-отключались новые pg_locks в конфигурациях по умолчанию, в итоге в различных ситуациях PG отключались и не могли подняться - достаточно стабильно воспроизводилось, например, при удалении образов, но это простое везение, т.к. на самом деле проявлялось случайно - просто asan не ловит *map.end() 😊
  • Исправлен случайно выявленный более старый баг, из-за которого при быстрых переустановках соединений OSD иногда OSD могли получить чужую команду. Проявлялось в 2.2.x сообщениями “operation sequencing broken” в логах, но в целом ни к чему более критичному, скорее всего, привести не могло.

В общем, теперь можно ставить, конфигурация по умолчанию теперь новые фичи, как и задумано, включать не пытается. 😊

07.06.2025 Читать далее →

Выпущена версия Vitastor 2.2.1

⚠️⚠️⚠️ В версии обнаружен ещё один баг с pg_locks, рекомендуется не обновляться и подождать 2.2.2, а если обновились - рекомендуется добавить в /etc/vitastor/vitastor.conf их отключение через “enable_pg_locks”: false и перезапустить OSD.

Хотфиксы:

  • Исправлен vitastor-disk purge, сломанный добавлением проверки, не запущен ли ещё OSD
  • Исправлены зависания включённых iothread-ов после добавления поддержки отправки без копирования
  • Добавлена возможность включать local_reads в режиме pg_locks по умолчанию онлайн, без перезапуска OSD

25.05.2025 Читать далее →

Выпущена версия Vitastor 2.2.0

Локальные чтения, zero-copy send, улучшенный алгоритм распределения данных по OSD, исправление совместимости с ISA-L 2.31 и много других фиксов.

⚠️ В версиях 2.2.0 и 2.2.1 есть известный баг с pg_locks, рекомендуется обновление как минимум до 2.2.2.

11.05.2025 Читать далее →

Все записи