minio-web

¿Qué es el almacenamiento de Objetos?

|

Tiempo de lectura: 3 minutos

Actualizado el miércoles, 26 julio, 2023

Hasta hace unos años, cuando almacenábamos un fichero, la única manera de hacerlo era usando un sistema de bloques. Los datos de las aplicaciones, fotos, vídeos, etc. se guardaban en registros físicos, asociados a un sistema operativo. Para acceder a estos datos en remoto había que usar protocolos específicos, como pueden ser NFS, CIFS o ISCSI. El almacenamiento de Objetos cambia completamente esta manera de trabajar.

Tus fotos, vídeos, backups… los almacena como objetos. Cada uno de ellos contiene datos, metadatos y un identificador único, que permite su recuperación de manera sencilla. Estos objetos pueden estar replicados en varias ubicaciones distintas, incluso en varios Centros de Datos repartidos mundialmente (para evitar perdidas de datos en caso de fallo de algún componente). El acceso a los objetos se puede hacer de manera sencilla vía Web o mediante API REST HTTP.

Algunos de lo proveedores de Objetos más conocidos en la actualidad son Amazon S3, MS Azure Blog Storage y Google Cloud Storage. Para familiarizarnos con la metodología, podemos usar el Software Minio. Es un servidor de almacenamiento de Objetos Open Source, compatible con la API de Amazon S3. La ventaja de este Software es su facilidad de instalación, configuración y gestión. ¡A eso vamos!

Instalación del Servidor

Vamos a montar el servidor Minio en configuración stand-alone, lo que significa que si se cae el servidor donde está alojado no podremos acceder a los datos. Se puede configurar en alta disponibilidad, pero para empezar a hacer pruebas, nos decantamos por una configuración lo más sencilla posible.

Lo primero que necesitamos es un Servidor No Administrado de dinahosting 😉 , en este caso un VPS. Usaremos Debian 9, pero valdría cualquier distribución que soporte Systemd. Ahora, paso a paso:

Descargamos con wget el binario de Minio:
[bash] root@vls666:/opt# cd /usr/local/bin/ root@vls666:/usr/local/bin# wget https://dl.minio.io/server/minio/release/linux-amd64/minio [/bash]
Le damos permisos de ejecución:
[bash]root@vls02:/usr/local/bin# chmod +x minio[/bash]
Creamos un usuario para no ejecutar como root el script:
[bash]
root@vls666:/usr/local/bin# useradd -r minio-user -s /sbin/nologin
root@vls666:/usr/local/bin# chown minio-user:minio-user /usr/local/bin/minio
[/bash]
Creamos un directorio para almacenar los objetos y le damos permisos para que el usuario que creamos pueda acceder correctamente:
[bash]root@vls666:/usr/local/bin# mkdir /home/minio-server
root@vls666:/usr/local/bin# chown minio-user:minio-user /home/minio-server/[/bash]
Creamos una carpeta para almacenar la configuración del servicio:
[bash]root@vls666:/usr/local/bin# mkdir /etc/minio
root@vls666:/usr/local/bin# chown minio-user:minio-user /etc/minio[/bash]
Editamos el archivo de configuración y añadimos las siguientes variables:
[bash]root@vls666:/usr/local/bin# nano /etc/default/minio
MINIO_VOLUMES="/home/minio-server"
MINIO_OPTS="-C /etc/minio"
[/bash]
Descargamos e instalamos el script de inicio de Systemd:
[bash]root@vls666:/home/minio-server # cd /etc/systemd/system
root@vls666:/home/minio-server # wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
root@vls666:/home/minio-server # systemctl daemon-reload[/bash]
Activamos el servicio al inicio del sistema y lo arrancamos:
[bash]root@vls666:/home/minio-server # systemctl enable minio
root@vls666:/home/minio-server # systemctl start minio[/bash]
Comprobamos que el servicio está activo y comprobamos los datos de acceso:
[bash]root@vls666:/etc # systemctl status minio[/bash]

 

Acceso a la interfaz

El servicio dispone de una interfaz web, que permite subir, descargar y compartir objetos de manera muy intuitiva. El acceso se realiza a través de la siguiente URL: http://ip_del_servidor:9000

Minio login

Para poder acceder, necesitamos la accessKey y secretKey que podemos leer en el archivo que se genera automáticamente al iniciar el servicio, /etc/minio/config.json.

[bash]root@vls666:/etc # cat /etc/minio/config.json |grep Key
"accessKey": "9BN0JLURY2LHGD5KSARJ",
 "secretKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"[/bash]
Minio web

Desde esta interfaz puedes subir, descargar, compartir y buscar objetos de manera sencilla.

Si queremos subir objetos hay que crear un Bucket, que se puede extrapolar a un directorio en el que subir objetos.

Para usuarios más avanzados hay clientes compatibles con la Api S3, que permiten trabajar con objetos desde la línea de comandos de Linux. Minio tiene el suyo propio, pero también existen otros, como S3cmd.

¿Lo has entendido todo bien? Déjanos tus comentarios, dudas o aportaciones y te echamos una mano con lo que necesites 🙂


Avatar de Camilo Echevarne

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Newsletter

Suscríbete y recibe periódicamente consejos muy útiles para tu web y ecommerce 🙂 Además, te regalamos
3 guías
: Digitalización, WordPress y Ciberseguridad.

Conviértete en afiliado

Gana dinero recomendando dinahosting a todo el mundo.