Конференция завершена. Ждем вас на DevOpsConf в следующий раз!

Vitastor, или Как я написал свою хранилку Инфраструктурная платформа

Доклад принят в программу конференции
Тезисы

Меня зовут Виталий, и так получилось, что я упоролся по Ceph и SDS в целом. До такой степени, что в итоге реализовал собственную систему — Vitastor — быструю, простую, при этом имеющую аналогичную Ceph-архитектуру и, в принципе, потенциал для развития в его полную замену. В отличие от многих других «убийц цефа». :)

В докладе я хочу рассказать о том, зачем я это сделал, в каком состоянии разработка сейчас и что я планирую делать дальше.

Для начала и для тех, кто менее погружён в тему, я расскажу о том, что такое SDS (программные СХД) и зачем их вообще используют — а используют их многие «облачные» провайдеры — Amazon, Google, Yandex, mail.ru… Кратко остановлюсь на том, почему Ceph и внутренние SDS в облаках на самом деле не очень-то быстрые, а многие другие — вообще непригодны для production (консистентность — не пустой звук).

После этого перейду к рассказу о Vitastor. На данный момент система разрабатывается мной в 1 лицо примерно год в расслабленном темпе в свободное время (идеи до этого вынашивались ещё год-два) и насчитывает примерно 25000 строк кода — пожалуй, можно сказать «всего лишь 25000 строк кода» — и при этом поддерживает базовый функционал распределённой программной СХД без единой точки отказа. Я расскажу о выбранной архитектуре, о том, чем она схожа с Ceph и чем она от него отличается, почему я считаю такой путь правильным и какие у него могут быть недостатки и преимущества.

Покажу тесты производительности и сравнение с Ceph, расскажу о планах и потенциале дальнейшего развития. Конечно, система только недавно «родилась», многих функций в ней на данный момент ещё нет. Но в планах и реализация снапшотов, и контрольных сумм, и оптимизаций для SSD+HDD, и удобного Web-интерфейса, и даже, возможно, ФС. При должном запале всё это сделать вполне реально.

В общем, я выполнил совет — хватит ругать Ceph в чатах — возьми и сделай сам лучше! Взял, сделал. Осталось довести до production.

Виталий Филиппов
Личный проект

Ведущий разработчик, линуксоид, цефер. Занимается веб-разработкой на React, Node.js, PHP, Go, Python, Perl, Java. Интересуется всем: от баз данных до кластерных систем.

https://yourcmc.ru/wiki/Участник:VitaliyFilippov

Другие доклады секции Инфраструктурная платформа