
Minio — сервер хранения объектов с открытым исходным кодом, совместимый с облачным хранилищем Amazon S3.
Minio — это пожалуй, самое удобное и самое популярное решение, когда вам требуется организовать объектное хранилище на собственных мощностях.
Он достаточно прожорлив в зависимости от планируемого объема ресурсов, но, для объемов меньше 10Тб вполне достаточно нод с 4 CPU и 8 RAM на борту. Так же Minio поддерживает функцию Erasure Coding (программная защита данных от повреждения и потери, похоже на RAID, но надежней). Для использования этой функции, естественно требуется организовывать ноды с избыточностью, минимум по 4 диска на ноду, что весьма затратно.
В данной статье я рассмотрю установку и настройку Minio на единственную ноду, с единственным диском в качестве хранилища на базе Ubuntu 22.04.
И так приступим:
Скачиваем и устанавливаем сам Minio:
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20230413030807.0.0_amd64.deb -O minio.deb
sudo dpkg -i minio.deb
По умолчанию minio запускается от пользователя minio-user, по этому создаем пользователя и группу, и выдаем права на каталог, в котором планируете хранить данные minio (в моем случае это /mnt/data
в который смонтирован отдельный диск).
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown minio-user:minio-user /mnt/data
Либо, если хотите — пользователя можно поменять в представлении сервиса, для этого в файле /etc/systemd/system/minio.service
нужно заменить значения переменных User
и Group
в блоке Service
Далее создаем файл переменных окружения по пути /etc/default/minio
и наполняем его:
# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment
MINIO_ROOT_USER=myminioadmin
MINIO_ROOT_PASSWORD=minio-secret-key-change-me
# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.
MINIO_VOLUMES="/mnt/data"
# MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server
# MinIO assumes your network control plane can correctly resolve this hostname to the local machine
# Uncomment the following line and replace the value with the correct hostname for the local machine.
#MINIO_SERVER_URL="http://minio.example.net"
MINIO_OPTS="--console-address :9001"
Помечаем на автозапуск и запускаем службу Minio:
sudo systemctl enable minio.service
sudo systemctl start minio.service
Проверяем запуск службы:
sudo systemctl status minio.service
В статусе вы скорей всего увидите несколько предупреждений, о том что minio нашел менее 4х дисков и это может привести к потере данных (это нормально, если это сознательный шаг, если вы планировали использовать 4 диска, то все volume требуется указать в файле /etc/default/minio
)
В итоге состояние должно быть похожим на скриншот ниже.
Нас интересуют блоки статус, а так же блоки с адресами API и Console

Переходим по адресу указанному в блоке console (в моем случае http://192.168.168.113:40345) и авторизовываемся с параметрами, которые мы указывали в /etc/default/minio

Всё готово, можете начинать работать.

Полезные материалы по теме:
Отправить ответ