Open-source и свой сервер 4 мин чтения

RustFS: своё S3-хранилище на сервере вместо MinIO

RustFS это открытое S3-хранилище на Rust: Docker, веб-консоль, версионирование, шифрование и erasure coding. Разбираем, чем оно может заменить MinIO, что в нём ещё молодо и как проверить его на своих данных до переезда.

RustFSS3-хранилищеMinIOрезервные копии
Коротко. RustFS это открытое S3-хранилище на Rust под лицензией Apache-2.0. Ставится одной командой Docker, имеет веб-консоль, версионирование, шифрование, репликацию и распределённый режим с erasure coding. Стабильная версия 1.0.0 вышла 16 сентября 2026, сейчас актуальна 1.0.1 от 3 октября. Проекту меньше трёх лет, поэтому для важных данных его надо сначала проверить на копии, а не переезжать целиком в день установки.

Зачем бизнесу своё S3-хранилище

Типичная история: интернет-магазин накопил сорок тысяч фотографий товаров, студия хранит видеоисходники, а бухгалтерия каждую ночь выгружает копии базы. Всё лежит в облаке, и в конце месяца приходит счёт за гигабайты и за исходящий трафик. Чем популярнее сайт, тем больше счёт.

Свой сервер с дисками снимает эту зависимость. Приложения умеют говорить с хранилищем на языке S3, и им всё равно, где оно стоит: у облачного провайдера или у вас в стойке. Меняется адрес и пара ключей, код остаётся прежним. Подробно, как это устроено, я разбирал в статье про MinIO как своё S3-хранилище. Здесь речь о ещё одном кандидате.

Что такое RustFS

RustFS написан на языке Rust и развивается в открытом репозитории github.com/rustfs/rustfs. По данным GitHub на 4 октября 2026: около 34 тысяч звёзд, чуть больше 1,5 тысячи форков, репозиторий создан в ноябре 2023 года, последний коммит сделан в день проверки. Лицензия Apache-2.0: её можно использовать в коммерческих проектах без обязанности открывать свой код.

Авторы описывают проект как хранилище, которое умеет сосуществовать с MinIO и Ceph и облегчает переезд с них. Из возможностей, которые в README помечены как доступные (Available):

  • версионирование объектов и Object Lock, то есть запрет на удаление и перезапись на заданный срок;
  • шифрование на стороне сервера, ключи можно держать в Vault или AWS KMS;
  • правила жизненного цикла: удалять старые копии, переносить данные на другое хранилище;
  • репликация между бакетами и между площадками;
  • пользователи, политики доступа, вход через OIDC;
  • веб-консоль, квоты на бакеты, журнал аудита, метрики;
  • доступ по SFTP и WebDAV.

Как устроена отказоустойчивость

Данные защищает erasure coding, код Рида-Соломона. Объект режется на части, к ним добавляются части для восстановления, и всё это раскладывается по разным дискам. Потеря диска не означает потери файла: недостающее считается из оставшегося. Для набора из восьми и более дисков по умолчанию четыре диска отдаются под восстановление, то есть переживается выход из строя до четырёх дисков набора. Для четырёх-пяти дисков по умолчанию две избыточные части. Это следует из технической документации в репозитории.

Контрольные суммы замечают тихую порчу данных, а фоновое лечение восстанавливает повреждённые части. Один сервер с несколькими дисками уже получает такую защиту, хотя падение сервера целиком остановит доступ. Для переживания потери узла нужны несколько узлов, и схему стоит продумать заранее: README предупреждает, что одну машину с одним диском расширять нельзя, на большую схему придётся переезжать копированием данных.

Как поставить

Самый короткий путь, из README:

mkdir -p data logs
chown -R 10001:10001 data logs
docker run -d -p 9000:9000 -p 9001:9001 \
  -v $(pwd)/data:/data -v $(pwd)/logs:/logs \
  rustfs/rustfs:1.0.1

Порт 9000 принимает S3-запросы, на 9001 живёт веб-консоль. Контейнер запускается от обычного пользователя с номером 10001 вместо root, поэтому каталоги надо подготовить заранее. Логин и пароль по умолчанию в документации указаны rustfsadmin, и их нужно сменить до того, как порты станут видны из интернета. Если сервера у вас ещё нет, начните с материала про свой VPS с Docker, nginx и HTTPS: перед хранилищем нужен шифрованный вход.

RustFS или MinIO

Репозиторий MinIO на GitHub заархивирован, последнее изменение в нём от 24 апреля 2026, а в начале README стоит пометка, что репозиторий больше не поддерживается, с отсылкой на коммерческие редакции AIStor. Если у вас стоит MinIO из открытого репозитория, обновлений оттуда ждать не стоит, и план замены нужен.

RustFS заявляет совместимость и описывает режим чтения форматов MinIO на диске, но в README этот режим помечен как предварительный (Preview), включается отдельным флагом и не входит в стандартную сборку. Там же оговорено: объекты, зашифрованные MinIO, RustFS прочитать не сможет. Поэтому надёжный путь миграции такой: поднять RustFS рядом и перенести данные по S3 обычными инструментами копирования.

Про скорость: авторы публикуют нагрузочное сравнение с MinIO на небольшой машине в 2 ядра и 4 ГБ памяти, и по их словам RustFS выигрывает. Это заявлено самими авторами, независимой проверки я не видел. На ваших дисках и файлах цифры получатся другие, мерить надо самим.

Что важно учесть

  • Проекту около трёх лет, а стабильная версия 1.0.0 вышла в середине сентября 2026, перед ней был ряд предварительных сборок. Опыта долгой работы на больших объёмах мало.
  • Совместимость с S3 авторы сами называют широкой для поддерживаемых функций, но не полной. Матрица в репозитории содержит и непройденные тесты. Критичный для вас клиент или программу проверьте до переезда.
  • Режим S3 Tables помечен как предварительный.
  • Ключи шифрования в режимах Local и Static предназначены только для разработки, для боевой работы в README названы Vault и AWS KMS.
  • Копия внутри одного сервера резервной копией не считается. Хранилище на одной машине всё равно надо дублировать на другую площадку, подробнее в материале про резервные копии.

Что можно сделать уже сейчас

  1. Поднимите RustFS на тестовом сервере по команде выше и смените пароль. Создайте бакет и загрузите туда пару гигабайт реальных файлов.
  2. Подключите программу, которой пользуетесь, например сайт или клиент резервного копирования. Хороший сценарий для проверки: настроить Duplicati на отправку шифрованных копий в этот бакет и восстановить из них файл.
  3. Выдёрните диск из набора или остановите контейнер, и посмотрите, как ведут себя чтение и лечение. Лучше увидеть это в тесте.
  4. Только после этого решайте, переносить ли туда рабочие данные, и оставляйте прежнее хранилище работать параллельно, пока не убедитесь в стабильности.

Частые вопросы

Можно ли переехать с MinIO прямо сейчас?

Технически да, через копирование по S3. Для рабочих данных разумнее сначала месяц гонять оба хранилища параллельно, сверять объекты и только потом переключать приложения.

Сколько нужно серверов и дисков?

Для проверки хватит одной машины с одним диском, но защиты от поломки диска там нет. Для настоящей защиты нужно несколько дисков в одном наборе, а лучше несколько узлов. Точную схему я подбираю под объём данных и бюджет, универсального минимума под любой проект не существует.

Заменяет ли хранилище резервные копии?

Нет. Оно защищает от поломки диска, но не от ошибки человека, вируса-шифровальщика или пожара в серверной. Для этого нужны версионирование, блокировка удаления и копия на другой площадке.

Коротко о главном

RustFS выглядит серьёзным проектом: свободная лицензия, быстрый выпуск версий, широкий набор возможностей. Против него работает молодость, и пускать его сразу под единственный экземпляр критичных данных рано. Как второе хранилище, как цель для бэкапов и как замена архивированному MinIO он годится после теста на ваших данных.

Мы разворачиваем хранилище и настраиваем копии под ключ: подбираем сервер и диски, ставим RustFS или другое решение, выдаём доступы, переносим файлы из облака и проверяем восстановление. Подробнее на странице DevOps и инфраструктура. Напишите мне в Telegram кодовое слово «ХРАНИЛИЩЕ», и я отвечу по вашей ситуации.

Ещё open-source для бизнеса

Эта статья — часть каталога бесплатных решений, которые я разворачиваю на вашем сервере под ключ: CRM, аналитика, документы, почта, безопасность, магазины, AI.

Услуги по теме

Что я делаю для бизнеса

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ

Бесплатно: чек-лист «Готов ли ваш бизнес к 152-ФЗ»

12 пунктов, которые проверяют готовность за час: данные, согласия, уведомление в РКН, локализация, защита. Отметьте, что уже сделано, и увидите дыры, за которые сейчас штрафуют.

Готовы обсудить вашу задачу?

Бесплатная консультация — разберём, как внедрить это в вашем бизнесе под ключ. Без форм, пишите напрямую.

Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх