Cómo instalar MinIO Storage en Rocky Linux

MinIO es un servidor de almacenamiento de objetos gratuito y de código abierto escrito en Go. Es compatible con el almacenamiento de objetos S3 de Amazone y es una de las mejores y más gratuitas soluciones para el almacenamiento de objetos. Con MinIO, puedes almacenar fotos, vídeos, archivos de registro, copias de seguridad e imágenes de contenedores/VM.

En el lado del servidor, MinIO proporciona una arquitectura altamente escalable con la simplicidad de la aplicación que hace que el servidor de aplicaciones sea fácil de instalar y configurar. Y en el lado del cliente, proporciona una aplicación cliente binaria que te permite gestionar el almacenamiento de objetos desde el terminal. Además, MinIO proporciona un panel de administración web potente y fácil de usar para los usuarios que prefieran utilizar el navegador web.

MinIO es una solución de almacenamiento de objetos autoalojada que se adapta a múltiples arquitecturas de despliegue. Puedes desplegar MinIO como almacenamiento de objetos en una gran infraestructura con replicación continua de datos o desplegarlo en un entorno pequeño, como un servidor doméstico.

En este tutorial, te guiaremos a través del proceso de instalación del Almacenamiento de Objetos MinIO en un servidor Linux Rocky. También crearás un nuevo almacenamiento de objetos con MinIO y configurarás la máquina cliente Linux para gestionar el servidor de Almacenamiento de Objetos MinIO.

Al final, tendrás el Almacenamiento de Objetos MinIO instalado en el servidor Rocky Linux y protegido con certificados SSL. También dispondrás de la máquina cliente para gestionar MinIO.

Requisitos previos

Para comenzar con este tutorial, necesitarás algunos de los siguientes requisitos:

  • Un servidor que ejecute Rocky Linux – Puedes utilizar Rocky Linux v8 o v9.
  • Un usuario no root con privilegios sudo/root.
  • Se utilizará un disco o directorio adicional como almacenamiento de objetos.
  • Para la producción, necesitarás un nombre de dominio que apunte a la dirección IP del servidor Rocky Linux.

Ahora pasemos a la instalación de MinIO.

Instalación manual de MinIO

MinIO es la nueva generación de almacenamiento de objetos, fácil de instalar y configurar tanto en servidores como en clientes. MinIO proporciona varias versiones de paquetes tanto para máquinas virtuales en contenedores como para máquinas virtuales tradicionales.

Puedes instalar MinIO en Kubernetes, RedHat OpenShift, o utilizando Docker. Para la máquina virtual, puedes instalar MinIO en cualquier distribución de Linux, o utilizando Windows y macOS.

En este ejemplo, instalarás MinIO manualmente en el servidor Linux Rocky.

Ejecuta el siguiente comando curl para descargar el archivo binario de MinIO en‘/usr/local/bin/minio‘.

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

Ahora haz ejecutable el archivo binario de MinIO mediante el siguiente comando chmod.

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

Para asegurarte de que puedes ejecutar el archivo binario de MinIO, debes añadir el directorio ‘/usr/local/bin‘ a la variable de entorno $PATH.

descargar minio

Ejecuta el siguiente comando para añadir el directorio ‘/usr/local/bin‘ a la variable de entorno $PATH mediante la configuración del archivo‘~/.bashrc‘.

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

A continuación, vuelve a cargar el archivo de configuración ‘~/.bashrc’ y verifica la variable de entorno $PATH mediante el siguiente comando.

source ~/.bashrc
echo $PATH

Deberías ver el directorio‘/usr/local/bin‘ añadido a la variable de entorno $PATH.

A continuación, ejecuta el siguiente comando para verificar que el comando ‘minio’ está disponible. Con esto, deberías obtener la ruta completa del archivo binario de MinIO‘/usr/local/bin/minio‘.

which minio

configuración minio

Por último, verifica la versión actual de MinIO que está instalada en tu sistema, utilizando el comando ‘minio‘ que aparece a continuación.

minio --version

Verás que MinIO está instalado en el Linux rocoso.

comprueba la versión de minio

Ahora que ya tienes instalado MinIO. Antes de configurar un almacenamiento de objetos, tendrás que preparar el disco o directorio que se utilizará como almacenamiento de objetos.

Configurar el almacenamiento de objetos MinIO

Para configurar el almacenamiento de objetos MinIO, tendrás que configurar un directorio o utilizar un disco adicional que se utilizará como almacenamiento de objetos. En este ejemplo, aprenderás a configurar el disco adicional«/dev/vdb » como almacenamiento de objetos MinIO.

En primer lugar, ejecuta el siguiente comando para comprobar la lista de particiones disponibles en el disco ‘/dev/vdb ‘. En este ejemplo, sólo hay una partición ‘ /dev/vdb1‘.

fdisk -l /dev/vdb

Crea ahora un nuevo directorio «/minio-data» que se utilizará como punto de montaje de la partición «/dev/vdb1».

mkdir -p /minio-data

A continuación, monta la partición » /dev/vdb1 » en el directorio de destino «/minio-datos».

sudo mount /dev/vdb1 /minio-data

Esto montará la partición ‘/dev/vdb1‘ temporalmente y la configuración desaparecerá tras el reinicio. Para que la configuración sea permanente, monta la partición mediante el archivo‘/etc/fstab‘ que permite montar particiones automáticamente al arrancar.

Ejecuta el siguiente editor nano para editar el archivo ‘/etc/fstab‘.

sudo nano /etc/fstab

Añade la siguiente configuración al archivo y asegúrate de cambiar la partición de detalle, el montaje de destino y el formato del sistema de archivos.

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

Guarda el archivo y sal del editor cuando hayas terminado.

disco de instalación

Ahora ejecuta el siguiente comando para montar las particiones disponibles en el archivo ‘/etc/fstab’. Asegúrate de que no aparece ningún mensaje de error, lo que significa que las particiones están montadas en cada directorio de destino.

sudo mount -a

Por último, ejecuta el siguiente comando para verificar la configuración de tu partición.

sudo df -h

Deberías ver que la partición «/dev/vdb1 » está montada en el directorio de destino«/minio-data«, que se utilizará como almacenamiento de objetos MinIO.

comprobar disco

Ahora que ya has configurado la partición para el almacenamiento de objetos. A continuación, empezarás a configurar la instalación de MinIO.

Configurar el almacenamiento de objetos MinIO

En este paso, crearás una nueva configuración para MinIO y crearás el nuevo archivo de configuración que se utilizará para ejecutar el servicio MinIO. La configuración de MinIO debe estar en ‘/etc/minio‘, y la configuración para ejecutar el servicio MinIO debe estar en‘/etc/default/minio‘.

Para empezar, ejecuta el siguiente comando para crear un nuevo usuario del sistema dedicado a MinIO. Este usuario se utilizará para ejecutar el servicio MinIO.

sudo useradd -r minio -s /sbin/nologin

A continuación, ejecuta el siguiente comando para cambiar la propiedad del directorio de almacenamiento de objetos«/minio-data» al usuario y grupo «minio».

sudo chown -R minio:minio /minio-data

Después de cambiar la propiedad del directorio de almacenamiento de objetos, tendrás que crear un nuevo directorio de configuración‘/etc/minio‘, y el archivo de configuración por defecto para ejecutar el servicio MinIO‘/etc/default/minio‘.

Ejecuta el siguiente comando para crear un directorio de configuración ‘/etc/minio‘ y cambia la propiedad del nuevo directorio al usuario‘minio‘.

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

Crea un nuevo archivo de configuración de MinIO ‘/etc/default/minio‘ utilizando el siguiente editor nano.

sudo nano /etc/default/minio

Añade la siguiente configuración al archivo. Asegúrate también de cambiar los detalles del directorio de almacenamiento, el usuario administrador de MinIO y la contraseña.

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"

Guarda el archivo y sal del editor cuando hayas terminado.

Por último, ejecuta el siguiente comando para cambiar la propiedad del archivo de configuración de MinIO ‘/etc/default/minio‘ al usuario correcto ‘minio’.

sudo chown minio:minio /etc/default/minio

crear configuración minio

Ahora has creado correctamente el directorio de configuración y la configuración para la instalación de MinIO. Con esto en mente, ya puedes iniciar MinIO. Pero, para hacerlo más fácil, ejecutarás MinIO como un servicio systemd.

Ejecutar MinIO como un servicio systemd

Tras crear el directorio y el archivo de configuración para MinIO, ahora vas a configurar MinIO como un servicio systemd. Esto te permitirá gestionar MinIO fácilmente mediante el comando systemctl en tu servidor terminal.

Ejecuta el siguiente editor nano para crear un nuevo archivo de servicio systemd ‘/lib/systemd/system/minio.service’.

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

En el editor, añade la siguiente configuración.

[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

Guarda el archivo y sal del editor cuando hayas terminado.

Cuando hayas creado el servicio systemd para MinIO, ejecuta el siguiente comando para recargar el gestor systemd.

sudo systemctl daemon-reload

Ahora inicia y habilita el servicio «minio» utilizando el siguiente comando.

sudo systemctl start minio
sudo systemctl enable minio

configurar servicio minio

El servicio «minio» debería estar ahora ejecutándose y habilitado. Verifica el servicio«minio» mediante el comando systemctl que aparece a continuación.

sudo systemctl status minio

Ahora deberías recibir la salida del servicio «minio» en ejecución. También verás que el servicio está habilitado y se ejecutará automáticamente al arrancar el sistema, especialmente después de que se ejecute la red.

comprobar servicio minio

En este punto, el MinIO se está ejecutando en el puerto por defecto 9000, puedes verificarlo visitando la dirección IP de tu servidor seguida del puerto TCP 9000. Pero antes, debes abrir puertos en firewalld y asegurar tu despliegue de MinIO con certificados SSL.

Configurar Firewalld

En este paso, configurarás el firewalld para abrir puertos para el almacenamiento de objetos MinIO. La instalación por defecto de MinIO utiliza el puerto 9000 para el panel de administración web del usuario y el puerto 9001 para la API.

Ejecuta el siguiente comando firewall-cmd para abrir los puertos 9000 y 9001 en tu firewalld.

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

A continuación, ejecuta el siguiente comando para recargar las reglas del firewalld y aplicarle los nuevos cambios. A continuación, comprueba la lista de reglas habilitadas en firewalld.

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

Deberías ver los puertos 9000 y 9001 añadidos al firewalld.

configurar firewalld

Asegurar MinIO con certificados SSL

Después de configurar los puertos en firewalld, lo siguiente será asegurar la instalación de MinIO con certificados SSL.

Antes de empezar a asegurar MinIO con SSL, asegúrate de que has generado certificados SSL. y Si estás instalando MinIO en producción, deberías tener el nombre de dominio apuntando a la dirección IP de tu servidor.

Ejecuta el siguiente comando cp para copiar los certificados SSL al directorio‘/etc/minio/certs‘. Este ejemplo utiliza certificados SSL generados con Letsencrypt y utiliza el dominio‘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

A continuación, abre el archivo de configuración de MinIO‘/etc/default/minio‘ utilizando el siguiente editor nano.

sudo nano /etc/default/minio

Añade la opción de configuración‘MINIO_SERVER_URL‘ y cambia el nombre de dominio por tu dominio.

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

Cuando hayas terminado, guarda el archivo y sal del editor.

Siempre que realices cambios en el archivo‘/etc/default/minio‘, reinicia el servicio‘minio‘ utilizando el comando systemctl que aparece a continuación para aplicar los cambios que hayas realizado.

sudo systemctl restart minio

El almacenamiento de objetos MinIO ya está en marcha y protegido con certificados SSL.

asegurar minio con ssl

Ahora abre tu navegador web y visita el nombre de dominio de tu instalación de MinIO seguido del puerto por defecto 9000 (es decir: https://minio.hwdomain.io:9000/). Y deberías ver la página de inicio de sesión de MinIO.

Introduce el usuario y la contraseña configurados en el archivo ‘/etc/default/minio’ y haz clic en Iniciar sesión.

inicio de sesión minio

Si tienes el usuario y la contraseña correctos, deberías obtener la pantalla del panel de usuario de MinIO como se muestra a continuación.

salpicadero minio

Ya tienes todo configurado y MinIO instalado y asegurado. En el siguiente paso, aprenderás a crear un cubo y a configurar la máquina cliente con la línea de comandos de MinIO.

Crear el primer cubo y subir archivos

En este paso, aprenderás a crear un cubo en MinIO a través del panel de administración web. Antes de empezar, asegúrate de que has iniciado sesión en el panel de control de MinIO con tu usuario.

Para crear un cubo en MinIO, haz clic en el menú«Cubos» y pulsa el botón«Crear cubo«.

crear cubo

Ahora introduce el nombre y los detalles de tu cubo y haz clic en «Crearcubo» para confirmar. En este ejemplo, crearás un nuevo cubo«test-bucket«.

crear cubo y subir archivos

Una vez creado el cubo, puedes subir nuevos archivos o crear directorios dentro del«cubo de prueba».

En la siguiente pantalla, puedes ver los nuevos archivos subidos‘pool1.png‘ y‘pool2.png‘ alcubo-prueba’.

listar archivos en bucket

Configurar la CLI cliente de MinIO

MinIO proporciona una aplicación cliente que te permite gestionar el almacenamiento de objetos MinIO a través de la línea de comandos. En este ejemplo, instalarás la CLI cliente de MinIO en la máquina cliente, añadirás el servidor MinIO y, a continuación, verificarás la lista de cubos y archivos a través de la línea de comandos.

En tu máquina local, ejecuta el siguiente comando para descargar la CLI del cliente MinIO en‘/usr/local/bin/mc‘.

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

Tras la descarga, haz ejecutable la CLI del cliente MinIO en ‘ /usr/local/bin/mc‘.

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

instalar cliente minio

Ahora ejecuta el siguiente comando para verificar la versión de la CLI del cliente MinIO. Deberías ver el cliente MinIO instalado en tu sistema.

which mc
mc --version

comprobar la versión del cliente

Después de configurar la CLI del cliente MinIO, a continuación añadirás tu servidor MinIO.

Ejecuta el siguiente comando para añadir el servidor MinIO a tu máquina local. Y asegúrate de cambiar el nombre de alias«test-minio«, el nombre de dominio de tu almacenamiento de objetos MinIO, y el usuario y la contraseña.

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

Después de añadir, deberías ver el mensaje de salida como ‘Añadido test-minio con éxito‘.

Ahora ejecuta el siguiente comando para verificar eltest-minio’. Y ahora deberías obtener información detallada sobre el servidor ‘test-minio .

mc admin info test-minio

añadir servidor minio

A continuación, comprueba la lista de cubos disponibles en el servidor «test-minio«. Deberías obtener el ‘cubo-prueba’ disponible en el servidorprueba-minio’.

mc ls test-minio

Por último, ejecuta el siguiente comando para comprobar la lista de archivos del«cubo de prueba».

mc ls test-minio/test-bucket

En la siguiente pantalla, puedes ver que el archivo«pool1.png» y«pool2.png» está disponible en el «cubo de pruebas«. Ese archivo es el mismo que se subió en el ejemplo superior.

listar cubo y archivos

Crear un cubo mediante la línea de comandos MinIO

En este último paso, aprenderás a gestionar el cubo a través de la línea de comandos del cliente MinIO. Crearás un nuevo cubo, subirás un archivo y verificarás la lista de archivos del cubo MinIO a través de la línea de comandos del cliente.

Ejecuta el siguiente comando para crear un nuevo cubo ‘test-bucket2′ en el servidor‘test-minio‘.

mc mb test-minio/test-bucket2

Crea un nuevo archivo ‘prueba .txt ‘ utilizando el siguiente comando. Este archivo se subirá al ‘cubo-prueba2‘.

echo "test file" > test.txt

A continuación, sube el archivo «test.txt» a «test-bucket2» mediante el siguiente comando «mc cp».

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

Una vez subido el archivo, ejecuta el siguiente comando para verificar la lista de archivos en el«cubo de pruebas 2″.

mc ls test-minio/test-bucket2

Ahora deberías recibir el resultado de la siguiente captura de pantalla. El archivo«prueba.txt » se ha subido al «cubo deprueba2«.

crear cubo

Ahora vuelve al panel de usuario de MinIO y haz clic en el menú«Cubos«. Deberías ver que se ha creado el «cubo de prueba2«.

cubo de comprobación

Haz clic en el«cubo de prueba 2″ y verás el archivo«prueba.txt» que se ha cargado a través de la línea de comandos de MinIO.

comprobar archivos en el cubo

Conclusión

En esta guía, has instalado y configurado el Almacenamiento de Objetos MinIO en el servidor Rocky Linux. También has aprendido la configuración básica para configurar el disco en Linux y asegurar MinIO mediante certificados SSL y ejecutar MinIO como un servicio systemd.

Al final, has aprendido el uso básico de MinIO creando buckets y subiendo archivos a través del panel de administración web de MinIO. También has aprendido a instalar la línea de comandos del cliente MinIO y su uso básico para añadir un servidor MinIO, crear cubos, comprobar la lista de archivos en el cubo y subir archivos a un cubo específico.

Scroll al inicio