Серверные функции
- Базовая часть - надёжное кластерное блочное хранилище без единой точки отказа
- Производительность ;-D
- Несколько схем отказоустойчивости: репликация, XOR n+1 (1 диск чётности), коды коррекции ошибок Рида-Соломона на основе библиотек jerasure и ISA-L с любым числом дисков данных и чётности в группе
- Конфигурация через простые человекочитаемые JSON-структуры в etcd
- Автоматическое распределение данных по OSD, с поддержкой:
- Математической оптимизации для лучшей равномерности распределения и минимизации перемещений данных
- Нескольких пулов с разными схемами избыточности
- Дерева распределения, выбора OSD по тегам / классам устройств (только SSD, только HDD) и по поддереву
- Настраиваемых доменов отказа (диск/сервер/стойка и т.п.)
- Восстановление деградированных блоков
- Ребаланс, то есть перемещение данных между OSD (дисками)
- Поддержка “ленивого” fsync (fsync не на каждую операцию)
- Сбор статистики ввода/вывода в etcd
- Статистика операций ввода/вывода и занятого места в разрезе инодов
- Именование инодов через хранение их метаданных в etcd
- Снапшоты и copy-on-write клоны
- Сглаживание производительности случайной записи в SSD+HDD конфигурациях
- Поддержка RDMA/RoCEv2 через libibverbs
- Фоновая проверка целостности (сверка копий)
- Контрольные суммы
- Буферизация записи на стороне клиента
- Интеллектуальная автоподстройка скорости восстановления
- Кластерная файловая система
- Экспериментальная встроенная замена etcd - antietcd
- Встроенный Prometheus-экспортер метрик
Драйверы и инструменты
- Плагин для Proxmox
- Плагин для OpenNebula
- CSI-плагин для Kubernetes
- Базовая поддержка OpenStack: драйвер Cinder, патчи для Nova и libvirt
- Пакеты для Debian и CentOS
- Консольный интерфейс управления образами (vitastor-cli)
- Инструмент управления дисками (vitastor-disk)
- Общая пользовательская клиентская библиотека для работы с кластером
- Драйвер диска для QEMU
- Драйвер диска для утилиты тестирования производительности fio
- NBD-прокси для монтирования образов ядром (“блочное устройство в режиме пользователя”)
- Упрощённая NFS-прокси для эмуляции файлового доступа к образам (подходит для VMWare)
Планы развития
- Оптимизация слоя управления
- Другие инструменты администрирования
- Web-интерфейс
- iSCSI и NVMeoF прокси
- Многопоточный клиент
- Более быстрое переключение при отказах
- S3
- Поддержка SSD-кэширования (tiered storage)
- Поддержка NVDIMM
- Возможно, сжатие
- Возможно, поддержка кэширования данных через системный page cache