Поиск по сайту:

Как установить хранилище MinIO на Rocky Linux


На этой странице

  1. Предпосылки
  2. Установка MinIO вручную
  3. Настройка хранилища для объектного хранилища MinIO
  4. Настройка объектного хранилища MinIO
  5. Запуск MinIO в качестве службы Systemd
  6. Настройка брандмауэра
  7. Защита MinIO с помощью SSL-сертификатов
  8. Создание первого сегмента и загрузка файлов
  9. Настройка интерфейса командной строки клиента MinIO
  10. Создание корзины с помощью командной строки MinIO
  11. Заключение

MinIO — это бесплатный сервер хранения объектов с открытым исходным кодом, написанный на Go. Он совместим с хранилищем объектов Amazone S3 и является одним из лучших и наиболее бесплатных решений для хранения объектов. С MinIO вы можете хранить фотографии, видео, файлы журналов, резервные копии и образы контейнеров/ВМ.

На стороне сервера MinIO обеспечивает масштабируемую архитектуру с простотой приложения, что упрощает установку и настройку сервера приложений. А на стороне клиента он предоставляет бинарное клиентское приложение, которое позволяет вам управлять хранилищем объектов с терминала. Кроме того, MinIO предоставляет мощную и простую в использовании панель веб-администрирования для пользователей, предпочитающих использовать веб-браузер.

MinIO — это решение для хранения объектов с собственным размещением, которое подходит для нескольких архитектур развертывания. Вы можете развернуть MinIO в качестве хранилища объектов в крупной инфраструктуре с непрерывной репликацией данных или развернуть его в небольшой среде, например на домашнем сервере.

В этом руководстве мы подробно рассмотрим процесс установки MinIO Object Storage на сервер Rocky Linux. Вы также создадите новое хранилище объектов с помощью MinIO и настроите клиентский компьютер Linux для управления сервером хранилища объектов MinIO.

В конце концов, у вас будет MinIO Object Storage, установленный на сервере Rocky Linux и защищенный SSL-сертификатами. У вас также будет клиентская машина для управления MinIO.

Предпосылки

Чтобы начать работу с этим руководством, вам потребуются следующие требования:

  • Сервер под управлением Rocky Linux. Вы можете использовать Rocky Linux v8 или v9.
  • Пользователь без полномочий root с привилегиями sudo/root.
  • Дополнительный диск или каталог будут использоваться в качестве хранилища объектов.
  • Для производства вам потребуется доменное имя, указывающее на IP-адрес сервера Rocky Linux.

Теперь давайте перейдем к установке MinIO.

Установка MinIO вручную

MinIO — это объектное хранилище следующего поколения, которое легко установить и настроить как на серверах, так и на клиентах. MinIO предоставляет несколько версий пакетов как для контейнерных, так и для традиционных виртуальных машин.

Вы можете установить MinIO на Kubernetes, RedHat OpenShift или с помощью Docker. для виртуальной машины вы можете установить MinIO в любом дистрибутиве Linux или с помощью Windows и macOS.

В этом примере вы будете устанавливать MinIO вручную на сервер Rocky Linux.

Выполните следующую команду curl, чтобы загрузить двоичный файл для MinIO в /usr/local/bin/minio.

curl -o /usr/local/bin/minio https://dl.min.io/server/minio/release/linux-amd64/minio

Теперь сделайте исполняемый двоичный файл MinIO с помощью приведенной ниже команды chmod.

sudo chmod +x /usr/local/bin/minio

Чтобы убедиться, что вы можете выполнить двоичный файл MinIO, вы должны добавить каталог /usr/local/bin в переменную среды PATH.

Выполните следующую команду, чтобы добавить каталог /usr/local/bin в переменную среды PATH через файл конфигурации ~/.bashrc.

echo 'export PATH="$PATH:/usr/local/bin"' >> ~/.bashrc

Затем перезагрузите файл конфигурации ~/.bashrc и проверьте переменную среды PATH с помощью следующей команды.

source ~/.bashrc
echo $PATH

Вы должны увидеть каталог /usr/local/bin, добавленный в переменную среды PATH.

После этого выполните следующую команду, чтобы убедиться, что команда minio доступна. При этом вы должны получить полный путь к двоичному файлу MinIO /usr/local/bin/minio.

which minio

Наконец, проверьте текущую версию MinIO, установленную в вашей системе, с помощью приведенной ниже команды minio.

minio --version

Вы увидите, что MinIO установлен на Rocky Linux.

Теперь, когда вы установили MinIO. Перед настройкой объектного хранилища вам необходимо подготовить диск или каталог, который будет использоваться в качестве объектного хранилища.

Настройка хранилища для объектного хранилища MinIO

Чтобы настроить хранилище объектов MinIO, вам потребуется настроить каталог или использовать дополнительный диск, который будет использоваться в качестве хранилища объектов. В этом примере вы узнаете, как настроить дополнительный диск /dev/vdb в качестве хранилища объектов MinIO.

Сначала выполните следующую команду, чтобы проверить список доступных разделов на диске /dev/vdb. В этом примере есть только один раздел /dev/vdb1.

fdisk -l /dev/vdb

Теперь создайте новый каталог /minio-data, который будет использоваться в качестве точки подключения для раздела /dev/vdb1.

mkdir -p /minio-data

Затем смонтируйте раздел /dev/vdb1 в целевой каталог /minio-data.

sudo mount /dev/vdb1 /minio-data

Это временно смонтирует раздел /dev/vdb1, и этот параметр исчезнет после перезапуска. Чтобы сделать этот параметр постоянным, вы монтируете раздел через файл /etc/fstab, который позволяет автоматически монтировать разделы при загрузке.

Запустите следующий редактор nano, чтобы отредактировать файл /etc/fstab.

sudo nano /etc/fstab

Добавьте следующую конфигурацию в файл и обязательно измените подробный раздел, целевое монтирование и формат файловой системы.

/dev/vdb1 /minio-data ext4 defaults 0 0

Сохраните файл и выйдите из редактора, когда закончите.

Теперь выполните следующую команду, чтобы смонтировать доступные разделы в файле /etc/fstab. Убедитесь, что у вас нет сообщения об ошибке, что означает, что разделы монтируются в каждый целевой каталог.

sudo mount -a

Наконец, выполните следующую команду, чтобы проверить конфигурацию вашего раздела.

sudo df -h

Вы должны увидеть, что раздел /dev/vdb1 подключен к целевому каталогу /minio-data, который будет использоваться в качестве хранилища объектов MinIO.

Теперь, когда вы настроили раздел для хранилища объектов. Далее вы начнете настройку установки MinIO.

Настройка объектного хранилища MinIO

На этом шаге вы создадите новую конфигурацию для MinIO и создадите новый файл конфигурации, который будет использоваться для запуска службы MinIO. Конфигурация MinIO должна находиться в /etc/minio, а конфигурация для запуска службы MinIO должна находиться в /etc/default/minio.

Для начала выполните следующую команду, чтобы создать нового выделенного системного пользователя для MinIO. Этот пользователь будет использоваться для запуска службы MinIO.

sudo useradd -r minio -s /sbin/nologin

Затем выполните приведенную ниже команду, чтобы изменить владельца каталога хранилища объектов /minio-data на пользователя и группу minio.

sudo chown -R minio:minio /minio-data

После смены владельца каталога хранилища объектов вам потребуется создать новый каталог конфигурации /etc/minio и файл конфигурации по умолчанию для запуска службы MinIO /etc/default/minio .

Выполните следующую команду, чтобы создать каталог конфигурации /etc/minio и изменить владельца нового каталога на пользователя minio.

sudo mkdir -p /etc/minio
sudo chown -R minio:minio /etc/minio

Создайте новый файл конфигурации MinIO /etc/default/minio, используя следующий редактор nano.

sudo nano /etc/default/minio

Добавьте следующую конфигурацию в файл. Кроме того, обязательно измените сведения о каталоге хранилища, администраторе MinIO и пароле.

MINIO_ROOT_USER="minio"
MINIO_VOLUMES="/minio-data"
MINIO_OPTS="-C /etc/minio --address :9000 --console-address :9001"
MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD="PassMinioStorage"

Сохраните файл и выйдите из редактора, когда закончите.

Наконец, выполните следующую команду, чтобы изменить владельца файла конфигурации MinIO /etc/default/minio на правильного пользователя minio.

sudo chown minio:minio /etc/default/minio

Теперь вы успешно создали каталог конфигурации и конфигурацию для установки MinIO. Имея это в виду, теперь вы можете запустить MinIO. Но для упрощения вы будете запускать MinIO как службу systemd.

Запуск MinIO как службы Systemd

После создания каталога конфигурации и файла для MinIO теперь вы будете настраивать MinIO как службу systemd. Это позволяет легко управлять MinIO с помощью команды systemctl на сервере терминалов.

Запустите следующий редактор nano, чтобы создать новый файл службы systemd /lib/systemd/system/minio.service.

sudo nano /lib/systemd/system/minio.service

В вашем редакторе добавьте следующую конфигурацию.

[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local/

User=minio
Group=minio

EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"

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=65536

# Disable timeout logic and wait until the process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

Сохраните файл и выйдите из редактора, когда закончите.

После того, как вы создали службу systemd для MinIO, выполните следующую команду, чтобы перезагрузить диспетчер systemd.

sudo systemctl daemon-reload

Теперь запустите и включите службу minio с помощью приведенной ниже команды.

sudo systemctl start minio
sudo systemctl enable minio

Теперь служба minio должна быть запущена и включена. проверьте службу minio с помощью приведенной ниже команды systemctl.

sudo systemctl status minio

Теперь вы должны получить выходные данные работающей службы minio. Вы также увидите, что служба включена и будет запускаться автоматически при загрузке системы, особенно после запуска сети.

На данный момент MinIO работает на порту 9000 по умолчанию, вы можете проверить это, посетив IP-адрес вашего сервера, а затем TCP-порт 9000. Но перед этим вы должны открыть порты в firewalld и защитить развертывание MinIO с помощью SSL-сертификатов.

Настройка брандмауэра

На этом этапе вы будете настраивать firewalld для открытия портов для хранилища объектов MinIO. Установка MinIO по умолчанию использует порт 9000 для пользовательской панели веб-администрирования и порт 9001 для API.

Выполните следующую команду firewall-cmd, чтобы открыть порты 9000 и 9001 на вашем firewalld.

sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9001/tcp --permanent

Затем выполните следующую команду, чтобы перезагрузить правила firewalld и применить к ним новые изменения. Затем проверьте список включенных правил на firewalld.

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Вы должны увидеть порты 9000 и 9001, добавленные в firewalld.

Защита MinIO с помощью SSL-сертификатов

После настройки портов на firewalld вы будете защищать установку MinIO с помощью SSL-сертификатов.

Прежде чем приступить к защите MinIO с помощью SSL, убедитесь, что вы создали сертификаты SSL. и Если вы устанавливаете MinIO в рабочей среде, доменное имя должно указывать на IP-адрес вашего сервера.

Выполните следующую команду cp, чтобы скопировать сертификаты SSL в каталог /etc/minio/certs. В этом примере используются SSL-сертификаты, созданные с помощью Letsencrypt, и используется домен minio.hwdomain.io.

sudo cp /etc/letsencrypt/live/minio.hwdomain.io/privkey.pem /etc/minio/certs/private.key
sudo cp /etc/letsencrypt/live/minio.hwdomain.io/fullchain.pem /etc/minio/certs/public.crt

Затем откройте файл конфигурации MinIO /etc/default/minio с помощью следующего редактора nano.

sudo nano /etc/default/minio

Добавьте параметр конфигурации MINIO_SERVER_URL и измените имя домена на свой домен.

MINIO_SERVER_URL="https://minio.hwdomain.io:9000"

Когда вы закончите, сохраните файл и выйдите из редактора.

Всякий раз, когда вы вносите изменения в файл /etc/default/minio, перезапускайте службу minio с помощью приведенной ниже команды systemctl, чтобы применить внесенные вами изменения.

sudo systemctl restart minio

Хранилище объектов MinIO теперь работает и защищено SSL-сертификатами.

Теперь откройте веб-браузер и посетите доменное имя вашей установки MinIO, а затем порт по умолчанию 9000 (например, https://minio.hwdomain.io:9000/). И вы должны увидеть страницу входа в MinIO.

Введите имя пользователя и пароль, настроенные в файле /etc/default/minio, и нажмите Войти.

Если у вас есть правильный пользователь и пароль, вы должны получить экран пользовательской панели MinIO, как показано ниже.

Теперь у вас все настроено, MinIO установлен и защищен. На следующем шаге вы узнаете, как настроить корзину и настроить клиентский компьютер с помощью командной строки MinIO.

Создание первого сегмента и загрузка файлов

На этом этапе вы узнаете, как создать корзину на MinIO с помощью панели веб-администрирования. Прежде чем начать, убедитесь, что вы вошли в панель управления MinIO под своим пользователем.

Чтобы создать корзину на MinIO, щелкните меню «Корзины» и нажмите кнопку «Создать корзину».

Теперь введите имя и сведения о своем сегменте и нажмите «Создать сегмент» для подтверждения. В этом примере вы создадите новую тестовую корзину.

После создания ведра вы можете загружать новые файлы или создавать каталоги внутри тестового ведра.

На следующем экране вы можете увидеть новые загруженные файлы pool1.png и pool2.png в тестовую корзину.

Настройка интерфейса командной строки клиента MinIO

MinIO предоставляет клиентское приложение, которое позволяет вам управлять хранилищем объектов MinIO через командную строку. В этом примере вы установите интерфейс командной строки клиента MinIO на клиентский компьютер, добавите сервер MinIO, а затем проверите список и файлы через командную строку.

На локальном компьютере выполните следующую команду, чтобы загрузить интерфейс командной строки клиента MinIO в /usr/local/bin/mc.

curl -o /usr/local/bin/mc https://dl.min.io/client/mc/release/linux-amd64/mc

После загрузки сделайте CLI клиента MinIO /usr/local/bin/mc исполняемым.

sudo chmod +x /usr/local/bin/mc

Теперь выполните следующую команду, чтобы проверить версию интерфейса командной строки клиента MinIO. Вы должны увидеть клиент MinIO, установленный в вашей системе.

which mc
mc --version

После настройки интерфейса командной строки клиента MinIO вы добавите свой сервер MinIO.

Выполните следующую команду, чтобы добавить сервер MinIO на локальный компьютер. И обязательно измените псевдоним test-minio, доменное имя хранилища объектов MinIO, а также пользователя и пароль.

mc alias set test-minio https://minio.hwdomain.io:9000 admin PassMinioStorage

После добавления вы должны увидеть выходное сообщение, такое как «Успешно добавлен тест-минио».

Теперь выполните следующую команду, чтобы проверить файл test-minio. Теперь вы должны получить подробную информацию о сервере test-minio.

mc admin info test-minio

Затем проверьте список доступных корзин на сервере test-minio. Вы должны получить тестовое ведро, доступное на сервере test-minio.

mc ls test-minio

Наконец, выполните следующую команду, чтобы проверить список файлов в тестовом сегменте.

mc ls test-minio/test-bucket

На следующем экране вы можете увидеть, что файлы pool1.png и pool2.png доступны в тестовой корзине. Это тот же файл, который был загружен в верхнем примере.

Создание корзины через командную строку MinIO

На этом последнем шаге вы узнаете, как управлять корзиной через командную строку клиента MinIO. Вы создадите новую корзину, загрузите файл и проверите список файлов в корзине MinIO через командную строку клиента.

Выполните следующую команду, чтобы создать новую корзину test-bucket2 на сервере test-minio.

mc mb test-minio/test-bucket2

Создайте новый файл test.txt, используя приведенную ниже команду. Этот файл будет загружен в test-bucket2.

echo "test file" > test.txt

Затем загрузите файл test.txt в test-bucket2 с помощью команды mc cp ниже.

mc cp test.txt test-minio/test-bucket2

После загрузки файла выполните следующую команду, чтобы проверить список файлов в test-bucket2.

mc ls test-minio/test-bucket2

Теперь вы должны получить вывод, как показано на следующем снимке экрана. Файл test.txt загружается в test-bucket2.

Теперь вернитесь к пользовательской панели MinIO и щелкните меню Buckets. Вы должны увидеть, что test-bucket2 создан.

Нажмите на test-bucket2, и вы должны увидеть файл test.txt, загруженный через командную строку MinIO.

Заключение

В этом руководстве вы установили и настроили объектное хранилище MinIO на сервере Rocky Linux. Вы также изучили базовую конфигурацию для настройки диска в Linux и защиты MinIO с помощью SSL-сертификатов и запуска MinIO в качестве службы systemd.

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