1 год Нам 1 год: −20% на все серверы по коду До конца 14 ч Заказать

PowerDedi

Руководства

Альтернативы MinIO в 2026 году: собственный S3 после архивации репозитория

Репозиторий minio/minio доступен только для чтения с 25 апреля 2026 года. Сравниваем форк Silo, Garage, SeaweedFS, RustFS и Ceph RGW по лицензии, избыточности и поддержке S3, рассчитываем их на одном сервере хранения, считаем стоимость облачных альтернатив и переносим данные с помощью rclone.

Инженеры PowerDedi · · 12 мин чтения

На этой странице 11 разделов
  1. Коротко
  2. Поддерживается ли ещё MinIO?
  3. Silo: форк MinIO от сообщества
  4. Garage, SeaweedFS, RustFS и Ceph RGW: сравнение
  5. Репликация, erasure coding или RAID на одном сервере
  6. Полезная ёмкость на серверах с 88, 264 и 528 ТБ
  7. Собственное хранилище против S3, R2 и B2
  8. Миграция с MinIO через rclone
  9. Чего не может один сервер хранения
  10. Какой сервер выбрать для собственного S3-хранилища
  11. Источники

Сервер MinIO с открытым исходным кодом больше не поддерживается: репозиторий minio/minio на GitHub был архивирован 25 апреля 2026 г. и теперь доступен только для чтения. Реальные варианты замены — Silo, форк того же кода от сообщества (AGPL-3.0); SeaweedFS и RustFS (Apache-2.0, с erasure coding); Garage (AGPL-3.0, копии распределяются по площадкам); и Ceph RGW для кластеров из нескольких серверов.

Коротко

ВариантЛицензияКак защищает данныеМинимальная разумная конфигурацияСтатус на октябрь 2026 г.
Silo (форк MinIO)AGPL-3.0Erasure coding, дисковый формат MinIOОдин сервер с несколькими дискамиФорк создан в октябре 2025 г.; последний выпуск — 16 сентября 2026 г.
AIStor Free (MinIO)Бесплатно; лицензия ограничивает распространение и перепродажуErasure codingТолько один узелТекущая линейка продуктов MinIO
GarageAGPL-3.0Полные копии на разных узлах; без erasure codingТри узла, в идеале — в трёх зонахv2.4.1, 8 сентября 2026 г.
SeaweedFSApache-2.0Реплицируемые тома; erasure coding 10+4 для «тёплых» данныхОдин сервер; четыре — чтобы пережить отказ сервера4.48, 28 сентября 2026 г.
RustFSApache-2.0Erasure coding в наборах дисков (erasure sets) по образцу MinIOОдин сервер с несколькими дисками; для продакшена — четыре узла и больше1.0.0 — 16 сентября 2026 г., 1.0.1 — 3 октября
Ceph RGWLGPL-2.1 или LGPL-3Реплицируемые пулы или пулы с erasure coding, распределённые по хостамk+m хостов для erasure coding: четыре для профиля 2+2 по умолчаниюTentacle (20.2), первый выпуск — 18 ноября 2025 г.

Коротко: Silo — для минимальных изменений при уходе с MinIO; SeaweedFS или RustFS — для erasure coding на одном сервере под пермиссивной лицензией; Garage — для небольших серверов в нескольких городах, без версионирования; Ceph — для множества серверов и команды, которая будет их обслуживать.

Поддерживается ли ещё MinIO?

Как проект с открытым исходным кодом — нет. MinIO, Inc. теперь продаёт AIStor, а история README репозитория и примечания к выпускам показывают, как сервер под AGPL поэтапно сворачивали:

  • 24 мая 2025 г. Выпуск, помеченный как «Breaking Release» (с несовместимыми изменениями), объявил устаревшей встроенную веб-консоль и удалил вход через LDAP и OIDC, которые, по словам MinIO, «теперь доступны в составе продукта AiStor». В июне издание Blocks & Files сообщило, что консоль community-версии лишилась функций администрирования и в ней остался лишь простой обозреватель объектов.
  • 15 октября 2025 г. Распространение только в исходном коде: «Мы больше не будем предоставлять предварительно скомпилированные бинарные выпуски для community-версии». Последний выпуск community-версии, опубликованный 16 октября, исправил уязвимость повышения привилегий.
  • 3 декабря 2025 г. «Режим сопровождения» (Maintenance Mode): никаких новых функций и пул-реквестов, а критические исправления безопасности «рассматриваются в индивидуальном порядке».
  • 23 декабря 2025 г. MinIO объявила о трёх тарифах AIStor: Free (один узел), Enterprise Lite (несколько узлов, менее 400 ТиБ) и Enterprise.
  • 12 февраля 2026 г. Уведомление сменилось на «ЭТОТ РЕПОЗИТОРИЙ БОЛЬШЕ НЕ ПОДДЕРЖИВАЕТСЯ» со ссылками на AIStor Free и AIStor Enterprise.
  • 25 апреля 2026 г. GitHub отображает репозиторий как «архивированный владельцем 25 апреля 2026 г. Теперь он доступен только для чтения».

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

Для одной машины собственный ответ MinIO — AIStor Free: «полнофункциональная архитектура развёртывания на одном узле» с erasure coding, без искусственных ограничений ёмкости и только с поддержкой от сообщества. Он бесплатен, но это не код под AGPL: его лицензия «ограничивает любое распространение или перепродажу ПО AIStor», а для работы на нескольких узлах нужен платный тариф.

Silo: форк MinIO от сообщества

Pigsty, который использует MinIO в качестве репозитория резервных копий PostgreSQL, 25 октября 2025 г. сделал форк сервера под именем pgsty/minio, а 6 августа 2026 г. переименовал его в pgsty/silo. Pigsty называет Silo «независимым форком, поддерживаемым сообществом», не связанным с MinIO, Inc. Silo поставляет то, что перестал поставлять апстрим: бинарные файлы для Linux, macOS и Windows, мультиархитектурные контейнеры, пакеты RPM, DEB и APK, исправления безопасности с опубликованными бюллетенями и полную веб-консоль. Он сохраняет S3 API и формат хранения, включая переменные MINIO_* и данные .minio.sys, а его руководство по миграции описывает перевод на Silo существующей установки minio.service.

Различия перечислены в аудите совместимости Silo. Исполняемый файл теперь называется silo; двенадцать действий на уровне бакета, в том числе запись политик, версионирования, Object Lock и жизненного цикла, больше не сопоставляются с ресурсом, указывающим только на объекты, например bucket/*; токены OIDC, подписанные общими секретами, отклоняются; самообновление на месте отключено. Silo меньше года, и его развивает одна организация: фиксируйте версии и сохраняйте возможность отката.

Garage, SeaweedFS, RustFS и Ceph RGW: сравнение

Garage

Garage — это «лёгкое геораспределённое хранилище данных, реализующее протокол объектного хранилища Amazon S3». Он хранит полные копии; erasure coding прямо отнесён к целям, которые проект перед собой не ставит. Значение replication_factor не может превышать число узлов: при 1 «избыточности нет», и документация оставляет этот вариант для тестов; при 3 каждый объект хранится на трёх узлах, по возможности в разных зонах, и сохраняется при потере двух из них.

Цена такой простоты — покрытие S3: нет версионирования, нет Object Lock, нет политик бакетов и ACL — вместо них Garage использует права, назначаемые каждому ключу на каждый бакет. Правила жизненного цикла поддерживают только истечение срока хранения и незавершённые составные (multipart) загрузки. Если ваш инструмент резервного копирования зависит от версионирования или неизменяемости данных, ищите другое решение.

SeaweedFS

SeaweedFS состоит из master-сервера, серверов томов, filer и S3-шлюза. Репликация задаётся для каждого тома трёхзначным кодом, определяющим число дополнительных копий в других дата-центрах, стойках и на других серверах; 000 означает единственную копию. Erasure coding использует 10 шардов данных и 4 шарда чётности: данные занимают в 1,4 раза больше места и сохраняются при потере любых 4 шардов, а произвольные соотношения доступны только в версии Enterprise. Erasure coding применяется к «тёплым» данным: записи попадают в обычные тома, а фоновый обработчик, включённый по умолчанию, кодирует том, когда он заполнен на 80% и в течение пяти минут в него ничего не записывалось. При менее чем четырёх серверах erasure coding защищает от отказа дисков, при четырёх и более — от отказа серверов.

S3-шлюз поддерживает версионирование, Object Lock, политики бакетов, удаление по истечении срока в правилах жизненного цикла (без переходов между классами хранения), SSE-S3, SSE-KMS, SSE-C, IAM и STS, но не поддерживает репликацию бакетов, а также настройку веб-сайта и уведомлений. SeaweedFS открыто разрабатывается с 2014 г.

RustFS

RustFS ближе всех к MinIO по архитектуре: это сервер на Rust, который объединяет диски в наборы erasure coding (erasure sets) и пулы по правилам топологии MinIO, с веб-консолью и под лицензией Apache-2.0 вместо AGPL. В его таблице функций доступными значатся версионирование, Object Lock, шифрование на стороне сервера, управление жизненным циклом, репликация бакетов и площадок, IAM и OIDC. Документация описывает три режима: один узел с одним диском («полагайтесь на резервные копии»), один узел с несколькими дисками (выдерживает отказ до M дисков чётности) и четыре узла и более для рабочих нагрузок в продакшене.

При любом сравнении RustFS и MinIO главный вопрос — зрелость. Версия RustFS 1.0.0 вышла 16 сентября 2026 г., после бета-версий и релиз-кандидатов, а 1.0.1 — 3 октября. Чтение дискового формата MinIO пока остаётся предварительной функцией, доступной только с флагом сборки, который по умолчанию отключён, а объекты, зашифрованные MinIO, прочитать нельзя, поэтому уход с MinIO означает копирование через S3 API. Протестируйте такой молодой выпуск на собственной нагрузке, прежде чем доверить ему единственную копию каких-либо данных.

Ceph RGW

Ceph Object Gateway (RGW) добавляет S3 API к кластеру Ceph, который также может предоставлять блочное и файловое хранилище; код распространяется под лицензией LGPL-2.1 или LGPL-3. Объекты хранятся в реплицируемых пулах или пулах с erasure coding, где доменом отказа по умолчанию служит хост. Профиль erasure code по умолчанию — 2+2, и большинству пулов с erasure coding нужно не меньше k+m хостов или стоек. Флаг --single-host-defaults в cephadm создаёт кластер на одной машине с двумя репликами на разных дисках, но документация называет такие кластеры «как правило, непригодными для продакшена». Поддержка S3 в RGW обширна, включая Object Lock, хотя репликация бакетов работает только между зонами.

Сравнение функций S3

ПараметрSiloGarageSeaweedFSRustFSCeph RGW
ВерсионированиеДаНетДаДаДа
Object LockДаНетДаДаДа
Политики бакетовДа, с более строгим сопоставлениемНет: права на уровне ключейДаДаДа
Правила жизненного циклаДаТолько истечение срока храненияДа, без переходов между классами храненияДа, включая перенос данных (tiering) в удалённое S3-хранилищеДа
Репликация бакетовДаНетНе через S3 APIДа, а также репликация площадокТолько между зонами

Репликация, erasure coding или RAID на одном сервере

Все три подхода расходуют сырую ёмкость на избыточность, но в разных пропорциях:

  • Репликация хранит полные копии: 2 ТБ сырой ёмкости на каждый полезный терабайт при двух копиях и 3 ТБ — при трёх.
  • Erasure coding (избыточное кодирование) разбивает каждый объект на k шардов данных и m шардов чётности и выдерживает потерю любых m из них: (k+m)/k сырой ёмкости на полезный терабайт, то есть 1,5 для 8+4 и 1,4 для 10+4.
  • RAID 6 или ZFS RAIDZ2 хранит по два блока чётности на группу дисков и выдерживает отказ двух дисков в каждой группе: n/(n−2) для группы из n дисков, то есть 1,5 для шести дисков и 1,2 для двенадцати.

На одной машине копии и шарды должны попадать на разные диски. Silo, AIStor Free и RustFS с первой же записи распределяют каждый объект по набору дисков (erasure set): набор из 12 дисков с 4 шардами чётности ничего не теряет при отказе любых 4 дисков. SeaweedFS применяет erasure coding к заполненным томам, но недавние записи ждут в обычных томах и защищены только своей настройкой репликации. Garage считает копии по узлам, поэтому Garage на одном узле хранит единственную копию: разместите его данные на RAIDZ2 или RAID 6 либо добавьте узлы. Для Ceph нужны описанные выше настройки для одного хоста. Ни одно из этих решений не переживёт потерю самого сервера.

Полезная ёмкость на серверах с 88, 264 и 528 ТБ

В наших трёх серверах хранения используются жёсткие диски по 22 ТБ — четыре, двенадцать или двадцать четыре, — а также по два NVMe-накопителя для системы и метаданных:

КонфигурацияСырых ТБ на полезный ТБ88 ТБ (4 диска)264 ТБ (12 дисков)528 ТБ (24 диска)Допустимые отказы дисков
Три копии3,029,3 ТБ88 ТБ176 ТБЛюбые 2
Две копии (зеркала)2,044 ТБ132 ТБ264 ТБ1 в каждой паре
Erasure coding: 2+2 на 4 дисках, наборы 8+4 на 12 или 242,0 или 1,544 ТБ176 ТБ352 ТБ2 или 4 в каждом наборе
Erasure coding 10+4 (SeaweedFS)1,462,9 ТБ (см. примечание)188,6 ТБ377,1 ТБЛюбые 4 из 14 шардов
RAIDZ2 или RAID 6 в группах из 4, 6 и 8 дисков2,0, 1,5 или 1,3344 ТБ176 ТБ396 ТБ2 в каждой группе
RAIDZ2 или RAID 6 в группах из 12 дисков1,2—220 ТБ440 ТБ2 в каждой группе

Десятичные терабайты, без учёта накладных расходов файловой системы; Linux показывает диск на 22 ТБ как примерно 20 ТиБ. Примечание: на четырёх дисках 14 шардов SeaweedFS распределяются по три-четыре на каждый диск, поэтому отказ второго диска приводит к потере данных.

Стоимость полезного терабайта — это месячная цена, делённая на полезную ёмкость. На сервере на 264 ТБ за $469 в месяц полезный терабайт при трёх копиях (88 ТБ) стоит в 2,5 раза дороже, чем при RAIDZ2 из 12 дисков (220 ТБ), а erasure coding 8+4 делает его на 25% дешевле, чем при двух копиях. Количество дисков важно не меньше, чем сырой объём: при устойчивости к отказу двух дисков у четырёх дисков полезной остаётся половина ёмкости, у двенадцати и более — две трети и больше. Важно и время перестроения: заполнение диска на 22 ТБ при условной скорости 200 МБ/с занимает около 30 часов, поэтому мы не стали бы использовать диски такого объёма в схемах, выдерживающих отказ менее чем двух дисков.

Собственное хранилище против S3, R2 и B2

Публичные цены по прайс-листу на октябрь 2026 г., без налогов:

СервисХранилищеИсходящий трафик в интернетЗапросы
AWS S3 Standard, US East (N. Virginia)$0,023 за ГБ в месяц за первые 50 ТБ, $0,022 — за следующие 450 ТБ, $0,021 — сверх этого$0,09 за ГБ за первые 10 ТБ сверх бесплатного лимита, далее $0,085, $0,07 и $0,05 по ступеням тарифа$0,005 за 1 000 запросов PUT, COPY, POST или LIST; $0,004 за 10 000 запросов GET
Cloudflare R2 Standard$0,015 за ГБ в месяцБесплатно$4,50 за миллион операций класса A, $0,36 за миллион операций класса B
Backblaze B2$6,95 за ТБ в месяцБесплатно до трёхкратного среднего объёма хранимых данных, далее $0,01 за ГБКлассы A, B и C — бесплатно; класс D — $0,004 за 10 000 операций
Сервер PowerDedi на 264 ТБ$469 в месяц за 176–220 ТБ полезной ёмкостиВключено: порт 10 Гбит/с без учёта трафикаНет

Возьмём 176 ТБ хранимых данных — это полезная ёмкость сервера на 264 ТБ с erasure coding 8+4 — и 50 ТБ исходящего трафика в месяц, из расчёта 1 ТБ = 1 000 ГБ:

  • AWS S3: около $3 920 за хранение и $4 300 за передачу данных, то есть около $8 200 в месяц без учёта запросов.
  • Cloudflare R2: около $2 640 в месяц плюс операции, без платы за исходящий трафик.
  • Backblaze B2: около $1 220 в месяц; 50 ТБ исходящего трафика укладываются в бесплатный лимит.
  • Один сервер на 264 ТБ: $469 в месяц при любом трафике.

Это сравнение не вполне равноценное: по словам AWS, S3 «по умолчанию хранит данные с избыточностью как минимум в 3 зонах доступности», тогда как один сервер — это одна машина в одном здании. Для данных, которые нельзя потерять, сравнивайте с двумя серверами в двух городах: по этим расчётам это всё равно дешевле B2. Если у вас всего несколько терабайт и мало трафика, B2 или R2 обойдутся дешевле любого выделенного сервера хранения. Наше руководство по тарификации канала показывает, как плата за исходящий трафик растёт вместе с объёмом.

Миграция с MinIO через rclone

Если вы остаётесь на формате MinIO, Silo может подхватить существующие данные на месте — по его руководству по миграции. Для любого другого сервера копируйте объекты через S3 API с помощью rclone.

1. Учтите, что не будет скопировано. Пользователей, ключи доступа, политики бакетов, правила жизненного цикла и настройки репликации нужно заново создать на новом сервере. В бакетах с версионированием rclone копирует текущую версию каждого объекта; старые версии появляются — в виде переименованных файлов — только с --s3-versions. Сроки хранения Object Lock можно перенести с помощью --metadata со значением copy, если приёмник это поддерживает.

2. Опишите оба эндпоинта в ~/.config/rclone/rclone.conf. Источник настраивается по примеру для MinIO из документации rclone; приёмник здесь — Garage, который принимает provider = Other, запросы в стиле path-style и собственное имя региона. Для SeaweedFS используйте provider = SeaweedFS, а для Ceph — provider = Ceph с пустым регионом.

[old]
type = s3
provider = Minio
env_auth = false
access_key_id = OLD_ACCESS_KEY
secret_access_key = OLD_SECRET_KEY
region = us-east-1
endpoint = http://minio.example.net:9000

[new]
type = s3
provider = Other
env_auth = false
access_key_id = NEW_ACCESS_KEY
secret_access_key = NEW_SECRET_KEY
region = garage
endpoint = http://storage.example.net:3900
force_path_style = true

3. Сделайте пробный прогон, скопируйте и проверьте — по одному бакету за раз. Если S3 с обеих сторон, документация rclone рекомендует --checksum.

# buckets on each side
rclone lsd old:
rclone lsd new:

# preview, then copy one bucket
rclone sync old:backups new:backups --checksum --fast-list --transfers 32 --checkers 64 -P --dry-run
rclone sync old:backups new:backups --checksum --fast-list --transfers 32 --checkers 64 -P

# compare sizes and hashes on both sides
rclone check old:backups new:backups

4. Настройте и переключитесь. Значения rclone по умолчанию консервативны, поэтому увеличьте --transfers и --checkers и поэкспериментируйте; --fast-list расходует около 1 ГиБ ОЗУ на миллион объектов. Повторяйте синхронизацию, пока расхождений почти не останется, затем остановите запись, запустите синхронизацию ещё раз и переключите эндпоинт. sync удаляет в приёмнике объекты, которых нет в источнике, поэтому дважды проверьте имена бакетов.

5. Заложите время. При переносе между двумя разными серверами каждый объект скачивается и заново загружается машиной, на которой работает rclone. При эффективной скорости 1 Гбит/с перенос 100 ТБ занимает около девяти дней, при 5 Гбит/с — меньше двух. Темп обычно задают диски или аплинк старого сервера, а не порт 10 Гбит/с на стороне приёмника.

Чего не может один сервер хранения

  • Один сервер — один домен отказа. Erasure coding и RAID защищают от отказа дисков, но не от выхода из строя материнской платы, блока питания или всего здания и не от ошибки администратора. Документация RustFS прямо говорит об одноузловых конфигурациях: «если выйдет из строя весь сервер или будет повреждено более M дисков, данные будут потеряны».
  • Избыточность — не резервная копия. Удалённый бакет исчезает сразу со всех дисков. Версионирование и Object Lock помогают, но исправимыми ошибки делает именно независимая копия в другом месте.
  • Критически важным данным нужна вторая площадка. Это может быть второй сервер хранения в другом городе — например, Амстердам и Франкфурт, — который наполняется по расписанию командой rclone copy, никогда ничего не удаляющей, или репликацией бакетов. Или кластер Garage из трёх серверов на 88 ТБ в Амстердаме, Франкфурте и Цюрихе с replication_factor = 3: по одной копии в каждом городе и около 88 ТБ полезной ёмкости.

Какой сервер выбрать для собственного S3-хранилища

Сервер хранения на 88 ТБ стоит $149 в месяц и выдаётся примерно за 15 минут в Амстердаме, Франкфурте, Цюрихе и Нью-Йорке. Он подходит для узла Garage или в качестве хранилища резервных копий: 44 ТБ полезной ёмкости при устойчивости к отказу двух дисков. Сервер на 264 ТБ за $469 в месяц, который собирается в течение 24 часов в Амстердаме, Франкфурте и Нью-Йорке, имеет достаточно дисков для erasure coding 8+4 или RAIDZ2 из 12 дисков на одной машине. Сервер на 528 ТБ за $999 в месяц, который собирается в течение 72 часов в Амстердаме и Франкфурте, добавляет 24-ядерный EPYC и 256 ГБ памяти ECC для более крупных наборов erasure coding.

У всех трёх — память ECC, два NVMe-накопителя, доступ к IPMI и порт 10 Гбит/с без учёта трафика, поэтому восстановление 100 ТБ стоит столько же, сколько месяц простоя. Схемы на ZFS и mdadm описаны в нашем руководстве по программному RAID, а варианты резервного копирования — на странице серверов для хранения и резервного копирования. Мы не лучший выбор, если у вас всего несколько терабайт — тогда B2 или R2 обойдутся дешевле, — или если нужна надёжность хранения в нескольких дата-центрах без необходимости что-либо администрировать самостоятельно: это задача управляемого объектного хранилища.

Источники

Инженерная команда PowerDedi

Команда, которая собирает, устанавливает в стойки и обслуживает каждый сервер PowerDedi. Мы пишем о железе, сетях и затратах, с которыми работаем каждый день, и указываем источники.

Похожие статьи

Все статьи
Руководства

Порт без учёта трафика, 95-й перцентиль или оплата за ТБ: как тарифицируется канал сервера

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

6 мин чтения

Рынок

Сколько на самом деле стоит порт 10 Гбит/с без учёта трафика в 2026 году

У 19 провайдеров, которые его продают, порт 10 Гбит/с без учёта трафика добавляет к цене около $630 в месяц (медиана). Что вы за это получаете, как тарифицируются альтернативы, сколько стоит исходящий трафик в облаке и как проверить порт.

6 мин чтения

Руководства

Сколько зрителей выдержит стриминговый сервер с портом 10 Гбит/с?

Зрители = полезная пропускная способность ÷ битрейт. Число зрителей от 4K до аудио на порту 10 Гбит/с, месячный трафик и цены CDN, пресеты x264 против NVENC, Owncast, MediaMTX, SRS и nginx-rtmp, HLS и LL-HLS, а также схема «источник + edge-серверы».

10 мин чтения

До вашего следующего сервера — 15 минут.

От $55/мес: 10 Гбит/с без учёта трафика, без платы за подключение и без договора.

Запуск за ~15 минОтмена в любой моментBTC, ETH, XMR, USDT или SOL