Установка S3 Minio на единственную ноду

minio logo
minio logo

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"
/etc/default/minio

Помечаем на автозапуск и запускаем службу 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

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

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

1 уведомление

  1. Установка клиента minio mc на Ubuntu 22.04 - Sysadmin talks

Отправить ответ

Ваш e-mail не будет опубликован.


*