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.
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
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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«.
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«.
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‘ al‘cubo-prueba’.
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
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
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 el‘test-minio’. Y ahora deberías obtener información detallada sobre el servidor ‘test-minio ‘.
mc admin info test-minio
A continuación, comprueba la lista de cubos disponibles en el servidor «test-minio«. Deberías obtener el ‘cubo-prueba’ disponible en el servidor‘prueba-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.
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«.
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«.
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.
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.