Как установить сервер хранилища объектов MinIO в Debian 11
На этой странице
- Предпосылки
- Установить сервер Minio
- Создание раздела для хранилища Minio
- Настроить Minio
- Доступ к панели управления Minio
- Заключение
Minio — популярный сервер хранения объектов с открытым исходным кодом, совместимый с Amazon S3, написанный на Go. Это очень полезная альтернатива AWS S3, если вам нужен больший контроль над сервером хранилища объектов. Это позволяет нам хранить фотографии, видео, файлы журналов, резервные копии и образы контейнеров/ВМ. Он предоставляет клиент командной строки, интерфейс браузера, а также поддерживает AMQP. Вы можете использовать Minio в крупномасштабном развертывании для непрерывной репликации данных.
В этой статье я покажу вам, как установить сервер Minio на Debian 11.
Предпосылки
- Сервер под управлением Debian 11.
- На сервере настроен пароль root.
Установить Минио-сервер
Сначала загрузите последнюю версию бинарного файла Minio с помощью следующей команды:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
Затем дайте разрешение на выполнение и переместите двоичный файл Minio в системный путь:
chmod +x minio
mv minio /usr/local/bin/
Затем создайте выделенного пользователя для Minio с помощью следующей команды:
useradd -r minio -s /sbin/nologin
Затем измените владельца бинарного файла Minio на пользователя minio:
chown minio:minio /usr/local/bin/minio
Затем проверьте установленную версию Minio с помощью следующей команды:
minio --version
Вы получите следующий вывод:
minio version RELEASE.2022-02-26T02-54-46Z
Создайте раздел для хранилища Minio
Далее вам нужно будет создать раздел GPT на отдельном диске. Сначала выведите список всех подключенных жестких дисков с помощью следующей команды:
fdisk -l
Вы должны увидеть все подключенные жесткие диски в следующем выводе:
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors Disk model: QEMU HARDDISK Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7d36ef95 Device Boot Start End Sectors Size Id Type /dev/sda1 2048 104855552 104853505 50G 83 Linux Disk /dev/sdb: 50 GiB, 53687091200 bytes, 104857600 sectors Disk model: Volume Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
Затем создайте раздел GPT на диске /dev/sdb с помощью следующей команды:
parted -s -a optimal -- /dev/sdb mklabel gpt
parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%
parted -s -- /dev/sdb align-check optimal 1
Затем отформатируйте раздел с помощью следующей команды:
mkfs.ext4 /dev/sdb1
Вы получите следующий вывод:
mke2fs 1.46.2 (28-Feb-2021) Discarding device blocks: done Creating filesystem with 13106688 4k blocks and 3276800 inodes Filesystem UUID: bd18a11d-a9d9-44a2-a381-f30ba0798661 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Allocating group tables: done Writing inode tables: done Creating journal (65536 blocks): done Writing superblocks and filesystem accounting information: done
Затем создайте точку монтирования для диска Minio.
mkdir /mnt/minio
Затем добавьте запись в файл /etc/fstab для подключения раздела к точке подключения:
nano /etc/fstab
Добавьте следующую строку:
/dev/sdb1 /mnt/minio ext4 rw 0 0
Сохраните и закройте файл, затем смонтируйте раздел с помощью следующей команды:
mount -a
Затем проверьте смонтированный диск с помощью следующей команды:
df -h
Вы должны увидеть следующий вывод:
Filesystem Size Used Avail Use% Mounted on udev 976M 0 976M 0% /dev tmpfs 199M 388K 198M 1% /run /dev/sda1 50G 1.6G 46G 4% / tmpfs 992M 0 992M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 199M 0 199M 0% /run/user/0 /dev/sdb1 49G 24K 47G 1% /mnt/minio
Затем измените владельца крепления Minio на minio:
chown minio:minio /mnt/minio
Настроить Минио
Затем создайте каталог конфигурации Minio с помощью следующей команды:
mkdir /etc/minio
Затем измените владельца каталога конфигурации Minio:
chown minio:minio /etc/minio
Затем создайте файл конфигурации Minio:
nano /etc/default/minio
Добавьте следующие строки:
MINIO_ACCESS_KEY="minioaccesskey" MINIO_VOLUMES="/mnt/minio" MINIO_OPTS="-C /etc/minio --address 0.0.0.0:9000" MINIO_SECRET_KEY="miniosecretkey"
Сохраните и закройте поле, затем загрузите служебный файл Minio с помощью следующей команды:
wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
Затем отредактируйте служебный файл Minio с помощью следующей команды:
nano 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 Group=minio ProtectProc=invisible 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=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
Сохраните и закройте файл, затем скопируйте служебный файл Minio в /etc/systemd/system/.
mv minio.service /etc/systemd/system/
Затем перезагрузите демон systemd, чтобы применить изменения:
systemctl daemon-reload
Затем запустите и включите службу Minio с помощью следующей команды:
systemctl start minio
systemctl enable minio
Затем проверьте службу Minio с помощью следующей команды:
systemctl status minio
Вы должны увидеть следующий вывод:
? minio.service - MinIO Loaded: loaded (/etc/systemd/system/minio.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2022-02-28 02:18:31 UTC; 4s ago Docs: https://docs.min.io Process: 861 ExecStartPre=/bin/bash -c if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set in /etc/default/minio"; ex> Main PID: 862 (minio) Tasks: 7 Memory: 55.2M CPU: 759ms CGroup: /system.slice/minio.service ??862 /usr/local/bin/minio server -C /etc/minio --address 0.0.0.0:9000 /mnt/minio Feb 28 02:18:31 debian11 systemd[1]: Starting MinIO... Feb 28 02:18:31 debian11 systemd[1]: Started MinIO. Feb 28 02:18:32 debian11 minio[862]: WARNING: MINIO_ACCESS_KEY and MINIO_SECRET_KEY are deprecated. Feb 28 02:18:32 debian11 minio[862]: Please use MINIO_ROOT_USER and MINIO_ROOT_PASSWORD Feb 28 02:18:32 debian11 minio[862]: API: http://0.0.0.0:9000 Feb 28 02:18:32 debian11 minio[862]: Console: http://209.208.97.78:42459 http://127.0.0.1:42459 Feb 28 02:18:32 debian11 minio[862]: Documentation: https://docs.min.io Feb 28 02:18:32 debian11 minio[862]: WARNING: Console endpoint is listening on a dynamic port (42459), please use --console-address ":PORT" t>
Доступ к панели управления Minio
Теперь откройте веб-браузер и войдите в веб-интерфейс Minio, используя URL-адрес http://your-server-ip:9000. Вы будете перенаправлены на страницу входа в Minio:
Затем используйте ключ доступа и закрытый ключ из файла конфигурации в качестве имени пользователя и пароля, затем нажмите кнопку «Войти». Вы должны увидеть панель инструментов Minio на следующей странице:
Нажмите на кнопку «Создать корзину». Вы должны увидеть следующую страницу:
Укажите имя корзины и нажмите кнопку «Создать корзину». Вы должны увидеть следующую страницу:
Отсюда вы можете загружать и скачивать файлы из веб-браузера.
Нажмите на кнопку Мониторинг => Метрики. Вы должны увидеть свои показатели корзины на следующей странице:
Нажмите кнопку Журналы. Вы должны увидеть журналы сервера Minio на следующей странице:
Заключение
Поздравляем! вы успешно установили сервер хранения Minio на Debian 11. Теперь вам не нужно полагаться на хранилище AWS S3. Вы можете создать собственный сервер хранения, совместимый с S3, для своей организации. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.