MinIO S3-хранилище для офиса: как 20 ТБ бэкапов и архива перевели с дисков на объектник
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. История декабря 2025: юридическая компания с 50 РМ, 20 ТБ архивной информации (документы, сканы дел, почта за 15 лет), бэкапы Veeam, бэкапы Nextcloud. Всё это лежало на старом Dell PowerVault через iSCSI — медленно, неудобно, дорого. Поставили MinIO на новый сервер. Результат: один набор API под всё, экономия 840 тысяч в год на облачных S3 и готовность к географическому резервированию.
Почему S3 стал стандартом
С 2008 года, когда Amazon запустил S3, его API стал де-факто стандартом для объектного хранения. Сегодня практически любой софт, который хочет писать в «облако», умеет S3:
- Veeam Backup & Replication — объектное хранилище как Scale-Out Backup Repository.
- Restic, Borg, Duplicacy — резервное копирование Linux/Windows.
- PostgreSQL WAL-G, pgBackRest — бэкап баз данных.
- Nextcloud — primary storage или external storage.
- Kubernetes Velero — бэкап манифестов и PV.
- Grafana Loki, Thanos, Mimir — хранение логов и метрик.
- MSSQL — BACKUP TO URL.
- 1С-коннектор — выгрузка документов и сканов.
- OpenSearch — snapshots для бэкапа индексов.
- Immich, PhotoPrism — хранилище фото.
Иметь один S3-endpoint, к которому подключаются все эти сервисы — это в разы удобнее, чем настраивать отдельные CIFS/NFS-шары или смонтированные диски. Плюс S3 не требует Domain Controller, работает по HTTPS, проходит через любые прокси и фаерволы.
Почему MinIO, а не облако и не Ceph
| Вариант | Плюсы | Минусы |
|---|---|---|
| Облачный S3 (Selectel, Yandex Cloud, VK Cloud) | Не надо своё железо, гео-распределение | ~4 руб./ГБ/мес = 80 000/мес за 20 ТБ, плюс трафик на скачивание |
| Ceph | Энтерпрайз-решение, максимум функций | Сложность эксплуатации, минимум 3 полных сервера, нужен штатный специалист |
| Старая iSCSI-полка | Есть железо, привычно | Нет S3, надо SMB/NFS, медленно, не горизонтально |
| MinIO | Один бинарник, S3-совместимый, ставится за 20 минут | Не так гибок как Ceph для мультитенантности |
Для SMB MinIO оптимален. Один сервер, 8 дисков, erasure coding — и у вас есть S3-хранилище с избыточностью «эквивалент RAID-6». Никакой специалист не нужен, администрируется через веб-интерфейс или командой mc.
Архитектура железа
Клиенту собрали сервер:
- Intel Xeon Silver 4310 (12 ядер × 2,1 ГГц), 64 ГБ DDR4 ECC
- 8 × WD Ultrastar HC550 6 ТБ SAS — 48 ТБ сырых, 36 ТБ полезных в EC:8:2
- 2 × Intel P5510 960 ГБ NVMe в зеркале для ОС и кеша
- LSI 9361-16i RAID-контроллер в passthrough для MinIO
- Dual 10 GbE сетевая карта
- Резервный блок питания
Цена железа — 380 тыс. руб. (за вычетом вторичного рынка — 280 тыс.). ОС — Debian 12, один бинарник MinIO, systemd-юнит.
Схема: кто пишет и куда
У клиента MinIO стал центральным хранилищем для:
- bucket: veeam-backups — Scale-Out Backup Repository для Veeam. Полный бэкап Hyper-V + 1С + файлов каждую ночь. 8 ТБ активных данных.
- bucket: archive-docs — сканы договоров, судебных дел, входящая/исходящая корреспонденция. 9 ТБ исторических данных, растут на 300 ГБ/мес.
- bucket: mail-archive — архив почты Dovecot, хранение 7 лет по юридическим требованиям. 1,8 ТБ.
- bucket: nextcloud-secondary — внешнее S3-хранилище для Nextcloud, туда перемещаются файлы старше 6 месяцев.
- bucket: opensearch-snapshots — snapshots индексов логов каждые 6 часов, retention 90 дней.
- bucket: pg-wal-g — непрерывный бэкап PostgreSQL для 1С-сервера с точкой восстановления любой минуты.
- bucket: immich-fotoarchive — фотоархив юрсобытий с 2018 года для юридического отдела.
Каждый бакет имеет свою retention-политику (Lifecycle), object lock на критичных (бэкапы), версионирование на документных.
Защита от шифровальщиков
Главная причина, по которой SMB в 2025-м стали ставить MinIO — защита бэкапов от шифровальщиков. Object Lock в S3-совместимом хранилище означает: объект нельзя удалить или модифицировать до истечения retention-периода, даже с административным доступом.
Настроили так: бэкапы Veeam пишутся с WORM (Write Once Read Many) на 30 дней. Если шифровальщик попадёт в Veeam-сервер, он не сможет ни удалить бэкапы, ни перешифровать их. Плюс MinIO поднят на отдельном хосте с отдельной сетью, доступ туда только с Veeam-сервера по S3 ключу.
Гео-репликация: вторая площадка
У клиента есть второй офис в Санкт-Петербурге, где стоит аналогичный, только меньший MinIO-кластер (один сервер, 4×4 ТБ диска = 12 ТБ полезных). Настроили репликацию site-to-site MinIO:
- Асинхронная репликация выбранных бакетов (archive-docs, mail-archive, pg-wal-g).
- Трафик по приватному тоннелю WireGuard между площадками.
- Задержка репликации 30–90 секунд при работе, полный ресинхронинг после разрыва — автоматический.
- При полном уничтожении московского офиса всё критичное восстанавливается из Петербурга.
Сравнение затрат: MinIO vs облачный S3
| Статья | Selectel S3 (20 ТБ) | MinIO self-hosted |
|---|---|---|
| Хранение в месяц | ~82 000 ₽ | амортизация 13 000 ₽ |
| Исходящий трафик | ~5–15 000 ₽/мес | 0 ₽ |
| Запросы (PUT/GET) | бесплатно в базе | 0 ₽ |
| Второй ЦОД (SPb) | +55 000 ₽/мес | амортизация 6 000 ₽ |
| Итого в месяц | ~137 000 ₽ | ~19 000 ₽ |
| В год | ~1,64 млн ₽ | ~228 000 ₽ |
Железо за 3 года амортизации — 480 тысяч (два сервера), плюс электричество и место. Даже с работами АйТи Фреш и сопровождением разница в пользу MinIO составляет около 1,2 млн ₽ в год.
Что может пойти не так
- Заполнение дисков. MinIO не удаляет объекты автоматически — нужны Lifecycle-правила. Мы настраиваем их сразу при создании бакетов.
- Производительность поиска. Листинг миллионов объектов долгий. Это ограничение S3, не MinIO. Решение — нормальная структура префиксов (год/месяц/сущность).
- Репликация и пропускная способность. Репликация 20 ТБ на новую площадку по 100 Мбит-линку займёт 19 суток. Первый ресинхрон мы обычно делаем физически, отвозя диск.
- Обновление MinIO. В новых версиях меняются дефолты Erasure Coding, надо внимательно читать changelog перед апдейтом.
- Восстановление без MinIO. Если MinIO умрёт совсем — данные на дисках есть, но это чанки EC, вытащить отдельный файл невозможно. Значит нужен хотя бы один рабочий MinIO-инстанс.
Стоимость проекта
| Этап | Стоимость |
|---|---|
| Проектирование, подбор железа | 15 000 ₽ |
| Монтаж сервера и установка ОС | 15 000 ₽ |
| Установка и конфигурация MinIO | 20 000 ₽ |
| Миграция Veeam на MinIO | 20 000 ₽ |
| Миграция 20 ТБ архивов | 25 000 ₽ |
| Настройка репликации в Петербург | 18 000 ₽ |
| Настройка Object Lock и политик | 12 000 ₽ |
| Итого работы | 125 000 ₽ |
| Железо (два сервера) | ~480 000 ₽ |
Что мы ведём на абонентке
- Мониторинг дисков, SMART, erasure health — алерт в Telegram при проблемах.
- Обновление MinIO раз в квартал после теста в лабораторной инсталляции.
- Аудит Lifecycle-политик и чистка «хвостов» раз в месяц.
- Контроль репликации между Москвой и Петербургом.
- Замена дисков в течение 24 часов при отказе (есть склад).
- Ежегодный тест полного восстановления основных бакетов.
Хотите перестать платить за облачное S3?
Приеду, посмотрю, сколько и где у вас хранится, посчитаю экономию от MinIO. Часто после первого взгляда за месяц можно сэкономить больше, чем стоит сам проект. Аудит бесплатно по Москве и МО.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ
- Что такое MinIO и зачем он SMB?
- Open-source объектное хранилище с S3-совместимым API. Разворачивается у вас на железе. Для бэкапов, архивов, медиа, логов — всего, что привычно класть в облако.
- Чем MinIO лучше обычной файловой шары?
- S3 API поддерживают Veeam, Restic, PostgreSQL WAL-G, Velero, сотни программ. Плюс версионирование, object lock, репликация.
- Какое железо нужно для 20 ТБ MinIO?
- Минимум 4 vCPU, 16 ГБ RAM, 4 диска в EC. Реально: 8 vCPU, 32 ГБ RAM, 8×6 ТБ = 48 ТБ сырых, ~36 ТБ после EC.
- Сколько стоит внедрение?
- Работы АйТи Фреш — от 55 000 ₽. Железо — 160–400 тысяч. Экономия относительно облачных S3 на 20 ТБ — около 600–900 тысяч в год.