Minio - Установка распределенного файлового хранилища
Добавлено: 14 сен 2022, 10:00
1. Если вы не обновляли базу данных пакетов за последнее время, обновите ее:
2. Затем загрузите бинарный файл сервера Minio с официального веб-сайта:
3. После завершения загрузки файл с именем minio будет находиться в вашей рабочей директории. Используйте следующую команду, чтобы получить исполняемый файл:
4. Теперь переместите файл в каталог /usr/local/bin, где скрипт запуска Minio systemd ожидает его найти:
Это позволит нам записать юнит-файл службы на следующих шагах данного обучающего модуля, чтобы обеспечить автоматический запуск Minio при загрузке системы.
5. По соображениям безопасности рекомендуется избегать запуска сервера Minio с правами root. Это позволит ограничить ущерб, который может быть нанесен системе при нарушении безопасности. Поскольку скрипт systemd, который вы будете использовать в шаге 2, ищет учетную запись и группу с именем minio-user, создайте нового пользователя с этим именем:
В этой команде вы использовали флаг -s для настройки /sbin/nologin в качестве оболочки для minio-user. Это оболочка, которая не позволяет пользователю выполнять вход, в чем нет необходимости для minio-user.
6. Далее передайте право владения для двоичного файла Minio пользователю minio-user:
7. Затем вам необходимо создать директорию, в которой Minio будет хранить файлы. Это место будет местом хранения бакетов, которые вы будете использовать позднее для организации объектов, которые вы храните на вашем сервере Minio. В этом обучающем модуле будет использоваться имя каталога minio:
8. Передайте пользователю minio-user право владения этим каталогом:
9. Большинство файлов конфигурации сервера хранятся в каталоге /etc, поэтому именно здесь необходимо создать ваш файл конфигурации:
10. Передайте пользователю minio-user право владения этим каталогом:
11. Используйте Nano или ваш любимый текстовый редактор для создания файла среды, необходимого для изменения конфигурации по умолчанию:
12. После открытия файла добавьте следующие строки, чтобы задать несколько важных переменных среды в файле среды:
MINIO_REGION = "ru-test-01"
MINIO_DOMAIN= "your_domain.com"
Давайте рассмотрим эти переменные и значения, которые вы задали:
Вы установили Minio и задали значения для ряда важных переменные среды. Далее вам нужно настроить запуск сервера в качестве системной услуги.
Установка скрипта запуска Systemd Minio
На этом шаге вы настроите сервер Minio для управления им в качестве службы systemd.
1. Во-первых, загрузите официальный файл дескриптора службы Minio с помощью следующей команды:
Вот содержимое скрипта на всякий случай
2. После завершения загрузки файл с именем minio.service будет находиться в вашей рабочей директории.
Чтобы проверить содержимое файла minio.service перед применением, откройте его в текстовом редакторе:
nano minio.service
Этот юнит-файл службы запускает сервер Minio с помощью пользователя minio-user, которого вы создали ранее. Также он имплементирует переменные среды, которые вы задали на последнем шаге, и настраивает автоматический запуск сервера. Дополнительную информацию о юнит-файлах systemd можно найти в нашем руководстве Знакомство с юнитами Systemd и юнит-файлами.
После изучения содержания скрипта закройте текстовый редактор.
3. Systemd требует, чтобы юнит-файлы хранились в каталоге конфигурации systemd, поэтому нужно переместить файл minio.service в этот каталог:
4. Затем запустите следующую команду, чтобы перезагрузить все юниты systemd:
5. Затем активируйте запуск Minio при загрузке:
Теперь, когда скрипт systemd установлен и настроен, пришло время для запуска сервера.
Запуск сервера Minio
На этом шаге вы запустите сервер и измените настройки брандмауэра, чтобы разрешить доступ через интерфейс браузера.
1. Запустите сервер Minio:
2. Затем проверьте статус Minio, IP-адрес, к которому он привязан, использование памяти и многое другое, воспользовавшись следующей командой:
Затем активируйте доступ через брандмауэр для сервера Minio на указанном порту. В этом обучающем модуле мы используем порт 9000.
3. Добавьте правило:
4. Затем активируйте брандмауэр:
Результат будет выглядеть следующим образом:
Код: Выделить всё
sudo apt update
Код: Выделить всё
wget https://dl.min.io/server/minio/release/linux-amd64/minio
Код: Выделить всё
sudo chmod +x minio
Код: Выделить всё
sudo mv minio /usr/local/bin
5. По соображениям безопасности рекомендуется избегать запуска сервера Minio с правами root. Это позволит ограничить ущерб, который может быть нанесен системе при нарушении безопасности. Поскольку скрипт systemd, который вы будете использовать в шаге 2, ищет учетную запись и группу с именем minio-user, создайте нового пользователя с этим именем:
Код: Выделить всё
sudo useradd -r minio-user -s /sbin/nologin
6. Далее передайте право владения для двоичного файла Minio пользователю minio-user:
Код: Выделить всё
sudo chown minio-user:minio-user /usr/local/bin/minio
Код: Выделить всё
sudo mkdir /usr/local/share/minio
Код: Выделить всё
sudo chown minio-user:minio-user /usr/local/share/minio
Код: Выделить всё
sudo mkdir /etc/minio
Код: Выделить всё
sudo chown minio-user:minio-user /etc/minio
Код: Выделить всё
sudo nano /etc/default/minio
Так же дополнительно можете добавить строкиMINIO_ACCESS_KEY="minio"
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --console-address :34283 --address :9000"
MINIO_SECRET_KEY="miniostorage"
MINIO_REGION = "ru-test-01"
MINIO_DOMAIN= "your_domain.com"
Давайте рассмотрим эти переменные и значения, которые вы задали:
Сохраните и закройте файл среды после внесения изменений.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
Код: Выделить всё
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/
User=minio-user
Group=minio-user
ProtectProc=invisible
EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not s>
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
Чтобы проверить содержимое файла minio.service перед применением, откройте его в текстовом редакторе:
nano minio.service
Этот юнит-файл службы запускает сервер Minio с помощью пользователя minio-user, которого вы создали ранее. Также он имплементирует переменные среды, которые вы задали на последнем шаге, и настраивает автоматический запуск сервера. Дополнительную информацию о юнит-файлах systemd можно найти в нашем руководстве Знакомство с юнитами Systemd и юнит-файлами.
После изучения содержания скрипта закройте текстовый редактор.
3. Systemd требует, чтобы юнит-файлы хранились в каталоге конфигурации systemd, поэтому нужно переместить файл minio.service в этот каталог:
Код: Выделить всё
sudo mv minio.service /etc/systemd/system
Код: Выделить всё
sudo systemctl daemon-reload
Код: Выделить всё
sudo systemctl enable minio
Запуск сервера Minio
На этом шаге вы запустите сервер и измените настройки брандмауэра, чтобы разрешить доступ через интерфейс браузера.
1. Запустите сервер Minio:
Код: Выделить всё
sudo systemctl start minio
Код: Выделить всё
sudo systemctl status minio
3. Добавьте правило:
Код: Выделить всё
sudo ufw allow 9000
Код: Выделить всё
sudo ufw enable
Нажмите y и ENTER для подтверждения. Вы получите следующий результат:Output
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Теперь Minio готов принимать трафик!Output
Firewall is active and enabled on system startup