Cómo instalar el servidor de almacenamiento de objetos MinIO en Debian 11
Minio es un popular servidor de almacenamiento de objetos de código abierto, autoalojado y compatible con Amazon S3, escrito en Go. Es una alternativa muy útil a AWS S3 si necesitas más control sobre tu servidor de almacenamiento de objetos. Nos permite almacenar fotos, vídeos, archivos de registro, copias de seguridad e imágenes de contenedores/VM. Proporciona un cliente de línea de comandos, una interfaz de navegador y también soporta AMQP. Puede utilizar Minio en el despliegue a gran escala para la replicación continua de datos.
En este artículo, le mostraré cómo instalar el servidor Minio en Debian 11.
Requisitos previos
- Un servidor con Debian 11.
- Se ha configurado una contraseña de root en el servidor.
Instalar el servidor de Minio
Primero, descargue la última versión del binario de Minio usando el siguiente comando:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
A continuación, dé el permiso de ejecución y mueva el binario de Minio a la ruta del sistema:
chmod +x minio mv minio /usr/local/bin/
A continuación, cree un usuario dedicado para Minio con el siguiente comando:
useradd -r minio -s /sbin/nologin
Luego, cambie la propiedad del binario de Minio al usuario minio:
chown minio:minio /usr/local/bin/minio
A continuación, verifique la versión instalada de Minio con el siguiente comando:
minio --version
Obtendrá la siguiente salida:
minio version RELEASE.2022-02-26T02-54-46Z
Crear una partición para el almacenamiento de Minio
A continuación, deberá crear una partición GPT en un disco separado. Primero, liste todos los discos duros conectados usando el siguiente comando:
fdisk -l
Debería ver todos los discos duros conectados en la siguiente salida:
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
A continuación, cree una partición GPT en el disco /dev/sdb con el siguiente comando:
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
A continuación, formatea la partición con el siguiente comando:
mkfs.ext4 /dev/sdb1
Obtendrás la siguiente salida:
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
A continuación, cree un punto de montaje para el disco Minio.
mkdir /mnt/minio
A continuación, añada la entrada en el archivo /etc/fstab para montar la partición en el punto de montaje:
nano /etc/fstab
Añade la siguiente línea:
/dev/sdb1 /mnt/minio ext4 rw 0 0
Guarde y cierre el archivo y luego monte la partición usando el siguiente comando:
mount -a
A continuación, verifique el disco montado utilizando el siguiente comando:
df -h
Debería ver la siguiente salida:
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
A continuación, cambie la propiedad del montaje de Minio a minio:
chown minio:minio /mnt/minio
Configurar Minio
A continuación, cree un directorio de configuración de Minio utilizando el siguiente comando:
mkdir /etc/minio
A continuación, cambie la propiedad del directorio de configuración de Minio:
chown minio:minio /etc/minio
A continuación, cree un archivo de configuración de Minio:
nano /etc/default/minio
Agregue las siguientes líneas:
MINIO_ACCESS_KEY="minioaccesskey" MINIO_VOLUMES="/mnt/minio" MINIO_OPTS="-C /etc/minio --address 0.0.0.0:9000" MINIO_SECRET_KEY="miniosecretkey"
Guarde y cierre el fiel y luego descargue el archivo de servicio de Minio con el siguiente comando:
wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
A continuación, edite el archivo de servicio de Minio con el siguiente comando:
nano minio.service
Cambie el archivo como se muestra a continuación:
[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
Guarde y cierre el archivo y luego copie el archivo de servicio de Minio en /etc/systemd/system/.
mv minio.service /etc/systemd/system/
Luego, recargue el demonio systemd para aplicar los cambios:
systemctl daemon-reload
A continuación, inicie y habilite el servicio Minio con el siguiente comando:
systemctl start minio systemctl enable minio
A continuación, compruebe el servicio Minio con el siguiente comando:
systemctl status minio
Debería ver la siguiente salida:
? 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>
Acceda al panel de control de Minio
Ahora, abra su navegador web y acceda a la interfaz web de Minio utilizando la URL http://your-server-ip:9000. Será redirigido a la página de inicio de sesión de Minio:
A continuación, utilice la clave de acceso y la clave privada del archivo de configuración como nombre de usuario y contraseña y, a continuación, haga clic en el botón Inicio de sesión botón. Debería ver el panel de control de Minio en la siguiente página:Anuncio
Haga clic en el Crear Cubo botón. Debería ver la siguiente página:
Proporcione el nombre de su cubo, y haga clic en el Crear Cubo botón. Debería ver la siguiente página:
Desde aquí, puedes subir y descargar tus archivos desde el navegador web.
Haga clic en el botón Monitorización => Métrica botón. Debería ver las métricas de su cubo en la siguiente página:
Haga clic en el botón Registros botón. Debería ver los registros del servidor de Minio en la siguiente página:
Conclusión
Enhorabuena! ha instalado con éxito el servidor de almacenamiento Minio en Debian 11. Ahora, no necesita depender del almacenamiento S3 de AWS. Puede crear su propio servidor de almacenamiento compatible con S3 para su organización. No dude en preguntarme si tiene alguna duda.