MinIO - Установка распределенного файлового хранилища

Ответить
ustim
Администратор
Сообщения: 5
Зарегистрирован: 03 июн 2021, 09:01
Откуда: Краснодар
Контактная информация:

MinIO - Установка распределенного файлового хранилища

Сообщение ustim »

1. Если вы не обновляли базу данных пакетов за последнее время, обновите ее:

Код: Выделить всё

sudo apt update
2. Затем загрузите бинарный файл сервера Minio с официального веб-сайта:

Код: Выделить всё

wget https://dl.min.io/server/minio/release/linux-amd64/minio
3. После завершения загрузки файл с именем minio будет находиться в вашей рабочей директории. Используйте следующую команду, чтобы получить исполняемый файл:

Код: Выделить всё

sudo chmod +x minio
4. Теперь переместите файл в каталог /usr/local/bin, где скрипт запуска Minio systemd ожидает его найти:

Код: Выделить всё

sudo mv minio /usr/local/bin
Это позволит нам записать юнит-файл службы на следующих шагах данного обучающего модуля, чтобы обеспечить автоматический запуск Minio при загрузке системы.

5. По соображениям безопасности рекомендуется избегать запуска сервера Minio с правами root. Это позволит ограничить ущерб, который может быть нанесен системе при нарушении безопасности. Поскольку скрипт systemd, который вы будете использовать в шаге 2, ищет учетную запись и группу с именем minio-user, создайте нового пользователя с этим именем:

Код: Выделить всё

sudo useradd -r minio-user -s /sbin/nologin
В этой команде вы использовали флаг -s для настройки /sbin/nologin в качестве оболочки для minio-user. Это оболочка, которая не позволяет пользователю выполнять вход, в чем нет необходимости для minio-user.

6. Далее передайте право владения для двоичного файла Minio пользователю minio-user​​​:

Код: Выделить всё

sudo chown minio-user:minio-user /usr/local/bin/minio
7. Затем вам необходимо создать директорию, в которой Minio будет хранить файлы. Это место будет местом хранения бакетов, которые вы будете использовать позднее для организации объектов, которые вы храните на вашем сервере Minio. В этом обучающем модуле будет использоваться имя каталога minio:

Код: Выделить всё

sudo mkdir /usr/local/share/minio
8. Передайте пользователю minio-user право владения этим каталогом:

Код: Выделить всё

sudo chown minio-user:minio-user /usr/local/share/minio
9. Большинство файлов конфигурации сервера хранятся в каталоге /etc, поэтому именно здесь необходимо создать ваш файл конфигурации:

Код: Выделить всё

sudo mkdir /etc/minio
10. Передайте пользователю minio-user право владения этим каталогом:

Код: Выделить всё

sudo chown minio-user:minio-user /etc/minio
11. Используйте Nano или ваш любимый текстовый редактор для создания файла среды, необходимого для изменения конфигурации по умолчанию:

Код: Выделить всё

sudo nano /etc/default/minio
12. После открытия файла добавьте следующие строки, чтобы задать несколько важных переменных среды в файле среды:
MINIO_ACCESS_KEY="minio"
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --address your_server_ip:9000"
MINIO_SECRET_KEY="miniostorage"
Давайте рассмотрим эти переменные и значения, которые вы задали:
MINIO_ACCESS_KEY: данная переменная задает ключ доступа, который вы будете использовать для доступа к пользовательскому интерфейсу браузера Minio.
MINIO_SECRET_KEY: данная переменная задает закрытый ключ, который вы будете использовать для передачи учетных данных для входа в интерфейс Minio. В этом обучающем модуле мы будем использовать значение miniostorage, но мы рекомендуем выбрать другой, более сложный пароль для обеспечения безопасности вашего сервера.
MINIO_VOLUMES: данная переменная определяет директорию хранения, которую вы создали для ваших бакетов.
MINIO_OPTS: эта переменная определяет, где и как сервер обслуживает данные. Флаг -C указывает Minio каталог конфигурации, который следует использовать, а флаг --address указывает IP-адрес и порт для привязки. Если IP-адрес не указан, Minio будет привязываться к любому адресу, заданному на сервере, включая localhost и любые связанные с Docker IP-адреса, поэтому мы рекомендуем напрямую указать IP-адрес здесь. Если хотите, вы можете изменить используемый по умолчанию порт 9000.
Сохраните и закройте файл среды после внесения изменений.

Вы установили Minio и задали значения для ряда важных переменные среды. Далее вам нужно настроить запуск сервера в качестве системной услуги.

Установка скрипта запуска Systemd Minio

На этом шаге вы настроите сервер Minio для управления им в качестве службы systemd.

1. Во-первых, загрузите официальный файл дескриптора службы Minio с помощью следующей команды:

Код: Выделить всё

curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
2. После завершения загрузки файл с именем minio.service будет находиться в вашей рабочей директории.

Чтобы проверить содержимое файла minio.service перед применением, откройте его в текстовом редакторе:
nano minio.service

Этот юнит-файл службы запускает сервер Minio с помощью пользователя minio-user, которого вы создали ранее. Также он имплементирует переменные среды, которые вы задали на последнем шаге, и настраивает автоматический запуск сервера. Дополнительную информацию о юнит-файлах systemd можно найти в нашем руководстве Знакомство с юнитами Systemd и юнит-файлами.

После изучения содержания скрипта закройте текстовый редактор.
3. Systemd требует, чтобы юнит-файлы хранились в каталоге конфигурации systemd, поэтому нужно переместить файл minio.service в этот каталог:

Код: Выделить всё

sudo mv minio.service /etc/systemd/system
4. Затем запустите следующую команду, чтобы перезагрузить все юниты systemd:

Код: Выделить всё

sudo systemctl daemon-reload
5. Затем активируйте запуск Minio при загрузке:

Код: Выделить всё

sudo systemctl enable minio
Теперь, когда скрипт systemd установлен и настроен, пришло время для запуска сервера.

Запуск сервера Minio

На этом шаге вы запустите сервер и измените настройки брандмауэра, чтобы разрешить доступ через интерфейс браузера.
1. Запустите сервер Minio:

Код: Выделить всё

sudo systemctl start minio
2. Затем проверьте статус Minio, IP-адрес, к которому он привязан, использование памяти и многое другое, воспользовавшись следующей командой:

Код: Выделить всё

sudo systemctl status minio
Затем активируйте доступ через брандмауэр для сервера Minio на указанном порту. В этом обучающем модуле мы используем порт 9000.
3. Добавьте правило:

Код: Выделить всё

sudo ufw allow 9000
4. Затем активируйте брандмауэр:

Код: Выделить всё

sudo ufw enable
Результат будет выглядеть следующим образом:
Output
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Нажмите y и ENTER для подтверждения. Вы получите следующий результат:
Output
Firewall is active and enabled on system startup
Теперь Minio готов принимать трафик!
Ответить