· 17 мин чтения

MinIO: S3-совместимое объектное хранилище под офис и бэкапы

MinIO: S3-совместимое объектное хранилище под офис и бэкапы

Привет! Я Женя Семёнов, руководитель ITFresh. Больше пятнадцати лет в IT — это вам не шутки! За это время я успел поработать с десятками хранилищ: от простеньких файловых шар до гигантских S3-кластеров на сотни терабайт. Честно говоря, MinIO считаю одной из самых удачных технологий последних лет. Почему? Да потому что он элементарно запускается, идеально дружит с Amazon S3 API (прямо до мельчайших деталей), шикарно масштабируется и вообще не требует чего-то особенного – обычное железо, и никаких лицензий! Мы в ITFresh регулярно используем MinIO как неубиваемый бэкап-репозиторий для Veeam, а ещё для архива данных 1С и как идеальную платформу для внутренних сервисов, которым нужен именно объектный доступ.

Почему именно MinIO, а не Ceph или классический NAS

Так чем же объектные хранилища принципиально отличаются от старых добрых NAS? Я вижу три главных вещи. Во-первых, вы работаете с API, а не с какой-то там файловой системой. Во-вторых, внутри бакетов — абсолютно плоское пространство имён. И, наконец, в-третьих, у вас есть крутое встроенное версионирование. MinIO? Это как если бы кто-то взял все фишки облачного S3, но завернул их в один маленький Go-бинарник, который разворачивается буквально за десять минут. Мы в ITFresh не раз убеждались: MinIO выручает там, где Ceph попросил бы целую ораву инженеров, а простой NAS даже и не потянул бы нужный API.

Планирование: сколько узлов и дисков

Ставить MinIO в production? Однозначно в распределённом режиме. А какой минимум нужен для этого? Минимум — это 4 узла, и на каждом по 4 диска. Итого 16 дисков. По умолчанию здесь работает схема erasure coding — EC:4. Что это даёт? Из каждых шестнадцати блоков данных четыре выделяются под паритет. То есть, даже если у вас разом выйдут из строя два узла или сразу восемь дисков (главное, чтобы они были разбросаны по разным узлам), ваши данные всё равно будут в безопасности. Надёжно, правда?

КонфигурацияУзлы × ДискиСырая ёмкостьПолезная ёмкостьПроизводительность
Начальная4 × 4 × 8 ТБ128 ТБ96 ТБ (EC:4)4–6 ГБ/с
Средняя4 × 6 × 14 ТБ336 ТБ252 ТБ6–8 ГБ/с
Большая8 × 8 × 18 ТБ1.15 ПБ864 ТБ9+ ГБ/с

У вас средний офис? Хотите S3-репозиторий для Veeam и надёжный архив для документов? Тогда, скорее всего, нашей базовой конфигурации, о которой я уже рассказывал, вполне хватит. А по железу что? Для узлов я обычно советую Dell PowerEdge R740xd или HPE ProLiant DL380. Диски — берите 10–18 ТБ Enterprise SATA, не прогадаете.

Установка в распределённом режиме

MinIO? Всегда ставлю его на Ubuntu 22.04 LTS. Почему именно она? Там минимум мусора, самое свежее ядро, а ещё, что супер важно, она отлично работает с XFS и справляется с огромными файлами. На каждом узле я сначала готовлю все четыре диска, потом форматирую их в XFS, а затем, разумеется, монтирую. Простая схема, но очень надёжная.

for d in sdb sdc sdd sde; do
  mkfs.xfs -f /dev/$d
  mkdir -p /mnt/minio/$d
  echo "/dev/$d /mnt/minio/$d xfs defaults,noatime 0 2" >> /etc/fstab
done
mount -a

useradd -r minio-user -s /sbin/nologin
chown -R minio-user:minio-user /mnt/minio

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio && mv minio /usr/local/bin/

Конфигурация /etc/default/minio — одинаковая на всех узлах:

MINIO_ROOT_USER=adminopsroot
MINIO_ROOT_PASSWORD=BolshoyStoykiyParol2025
MINIO_VOLUMES="https://minio{1...4}.corp.local/mnt/minio/sd{b...e}"
MINIO_OPTS="--address :9000 --console-address :9001 \
  --certs-dir /etc/minio/certs"
MINIO_SERVER_URL="https://s3.corp.local"
MINIO_BROWSER_REDIRECT_URL="https://s3-console.corp.local"

Systemd-юнит? Просто берём его с официального репозитория, включаем и запускаем. И вот тут важный момент: все четыре узла должны стартовать одновременно. Иначе MinIO, увы, просто не сможет собрать кворум.

TLS и сертификат от внутреннего CA

Голый HTTP в production? Вы что, с ума сошли? Такое я вообще никогда, ни при каких обстоятельствах не допущу! Почему? Ну, во-первых, MinIO просто требует TLS для STS и для корректной работы с политиками IAM. А во-вторых, без него ни один современный клиент нормально работать не будет. Всегда использую сертификат, выпущенный от внутреннего AD CS. Кстати, как его развернуть, я уже подробно расписал в одной из своих статей – загляните, если интересно.

# На каждом узле
mkdir -p /etc/minio/certs
cp s3.corp.local.crt /etc/minio/certs/public.crt
cp s3.corp.local.key /etc/minio/certs/private.key
chown -R minio-user /etc/minio/certs
chmod 600 /etc/minio/certs/*.key
systemctl restart minio

Сертификат включает SAN для всех 4 узлов и VIP-имени балансировщика. Фронтом я ставлю HAProxy или nginx, который распределяет входящие запросы по 4 узлам round-robin с health-check по /minio/health/live.

Создание бакетов и IAM-пользователей

Работать с MinIO? Проще простого, если использовать утилиту `mc` — это MinIO Client. По сути, тот же `aws cli`, только куда компактнее и намного интуитивнее.

mc alias set s3 https://s3.corp.local adminopsroot 'BolshoyStoykiyParol2025'

# Бакет для Veeam
mc mb s3/veeam-backups
mc version enable s3/veeam-backups
mc retention set --default compliance 30d s3/veeam-backups

# Бакет для архива 1С
mc mb s3/archive-1c
mc ilm add --expiry-days 2555 s3/archive-1c  # 7 лет ФНС

# Пользователь с ограниченными правами
mc admin user add s3 veeam-user 'VeryStrongServicePass'
mc admin policy attach s3 readwrite --user veeam-user

Есть такая штука — Immutability через S3 Object Lock. Она буквально спасает бэкапы от шифровальщиков! Представьте: даже root-админ не сможет удалить объект, пока не истечёт срок retention. Это же просто маст-хэв, ключевая фича для любой современной стратегии 3-2-1-1-0.

Интеграция с Veeam Backup & Replication

В Veeam добавляем MinIO как Object Storage Repository. Тип — S3 Compatible, endpoint https://s3.corp.local:9000, регион us-east-1 (именно так — MinIO эмулирует AWS-регионы). Ставим галку Immutability с периодом, скажем, 30 дней — и получаем защищённый репозиторий, в котором шифровальщик ничего не сможет стереть.

# Тест доступа перед настройкой Veeam
aws --endpoint-url https://s3.corp.local s3 ls \
  --ca-bundle /etc/ssl/certs/corp-root.pem

Реальный кейс: 48 ТБ для логистической компании

Где-то в марте 2026 к нам обратился клиент — крупный логистический оператор из Москвы. Их задача была такая: перенести все бэкапы со стареющей СХД на надёжное объектное хранилище. Что требовалось? Держать 48 ТБ активных бэкапов Veeam, обеспечить надёжный архив EDI-документов, и плюс ко всему, развернуть S3-шину для внутренних сервисов. Бюджет на всё это — 1.6 млн рублей.

Не так давно мы собрали вот такую мощную систему: четыре узла Dell PowerEdge R740xd, каждый с процессорами Xeon Platinum 8280 и 128 ГБ оперативной памяти. Плюс к этому, шесть дисков по 14 ТБ HDD SATA, а ещё SSD под операционку. Сеть у нас была не абы какая — 40G Mellanox ConnectX-5, всё это работало в стеке из двух коммутаторов Dell S4148. Где всё это разместилось? Прямо в стойке у клиента, в дата-центре МТС в Москве. MinIO, конечно же, мы настроили в распределённом режиме, с EC:4 и всеми необходимыми TLS-сертификатами от внутреннего AD CS. А что по бенчмаркам? Последовательная запись — впечатляющие 6.8 ГБ/с, случайная — 1.9 ГБ/с. Но самое крутое — это полный бэкап Veeam на 18 ТБ, который теперь пролетает всего за 58 минут! Подумайте только, раньше на это уходило целых 4.5 часа. Разница очевидна, не правда ли?

Мониторинг и обслуживание

MinIO из коробки отдаёт Prometheus-метрики на /minio/v2/metrics/cluster. Я всегда подключаю Grafana с готовой дашбордой 13502. На ней сразу видно IOPS, throughput, доступность узлов, ошибки erasure coding.

Развернём MinIO-кластер под ваши бэкапы

Я могу спроектировать и внедрить S3-совместимые хранилища абсолютно любого масштаба — от скромных 4-узловых решений для офиса до гигантских петабайтных федераций. Что я делаю? Это подбор железа, полная установка, настройка TLS, интеграция с Veeam и 1С, а также мониторинг в Grafana.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — вопросы по MinIO

Зачем MinIO, если есть NAS?
MinIO даёт S3-совместимый API — его понимают Veeam, Duplicati, rclone, приложения на AWS SDK. NAS по SMB/NFS не работает с объектными бэкап-системами и не даёт версионирования, immutability и встроенного шифрования на уровне объектов.
Сколько узлов минимально?
Для распределённого режима — минимум 4 узла по 4 диска, итого 16 дисков. Это обеспечивает erasure coding EC:4 и защиту от потери двух узлов без простоя.
Как MinIO интегрируется с Veeam?
Veeam B&R с версии 10 поддерживает S3-репозитории как Object Storage. Указывается endpoint, access key, secret key и bucket — Veeam сам шифрует, дедуплицирует и работает с immutability через S3 Object Lock.
Можно ли без TLS?
Теоретически да, на внутренней сети. На практике — нет. MinIO без TLS отключает часть функций (например, STS-токены), а клиенты типа Veeam требуют HTTPS. Я всегда генерирую сертификат от внутреннего CA.
Какой диск использовать?
MinIO любит JBOD без RAID — erasure coding делает резервирование на уровне кластера. Используйте Enterprise HDD 10–18 ТБ SATA или SAS, файловая система XFS. RAID внутри узла не нужен и вреден.

Подпишитесь на рассылку ITfresh

Каждую неделю мы делимся практическими гайдами для вас, руководители IT и сисадмины. Ждите материалы по безопасности, 1С, миграциям, резервным копиям и кучу лайфхаков, взятых прямо из наших реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.