¿Está buscando un software de almacenamiento de objetos para alojarlo en su servidor?
Supongo que sí
Hay un montón de almacenamiento de objetos basado en la nube como AWS S3 y otros que he mencionado aquí. Sin embargo, si necesita alojar sus datos en su servidor, MinIO puede ayudarle dentro de sus centros de datos.
MiniIO es un software de almacenamiento de objetos distribuido de código abierto, popular y compatible con S3. Está preparado para empresas y es conocido por su alto rendimiento.
Puede utilizar MinIO desde una simple aplicación web hasta grandes cargas de trabajo de distribución de datos para aplicaciones de análisis y aprendizaje automático. Puede ayudarle en muchos casos de uso.
- Almacenamiento de archivos planos estándar
- Distribución de datos en múltiples nubes
- Recuperación ante desastres
- Análisis de datos
¿Es un software voluminoso?
No, sólo ocupa unos ~50 MB y es compatible con Kubernetes. Escribe datos y metadatos como un objeto. Esto elimina la dependencia de disponer de una base de datos o software adicional para almacenar metadatos y mejorar el rendimiento.
La siguiente arquitectura de su sitio oficial.
Exploremos algunas de las características que merece la pena destacar.
- Alto rendimiento – lo dice el título. Es capaz de leer/escribir a una velocidad de ~170GB/s. ¡Eso es mucho!
- Escalable – opte por la agrupación en clústeres y escale según sus necesidades
- Nube nativa
- Protección de datos mediante el método de código de borrado
- Compatible con múltiples cifrados, incluidos AES-CBC, AES-256-GCM, ChaCha20
- Compatible con KMS comunes
- Identidad de aplicaciones y usuarios
- Notificación de eventos
- Federación mediante etcd y CoreDNS
MinIO es una buena opción para el almacenamiento definido por software. Exploremos cómo configurarlo.
Instalación del servidor MinIO
Puede instalarlo en Linux, Windows, macOS y a través de Kubernetes. ¿Prefiere construir a través del código fuente? Claro, puede hacerlo si tiene Golang instalado.
Para esta demostración, voy a instalar en CentOS que está alojado en Kamatera.
- Inicie sesión en el servidor
- Cree una carpeta en el sistema de archivos deseado. Tal vez
minio-server
- Navegue hasta la carpeta recién creada y ejecute el siguiente comando wget
wget https://dl.min.io/server/minio/release/linux-amd64/minio
Descargará un archivo binario y debería tener el siguiente aspecto.
-rw-r--r-- 1 root raíz 48271360 18 de octubre 21:57 minio
Haga ejecutable el archivo con el comando chmod
chmod 755 minio
Iniciemos MinIO como servidor.
./minio servidor /datos &
/data
mencionado anteriormente es el sistema de archivos donde MinIO almacenará los objetos.
El arranque es rápido y debería ver la información de arranque como se indica a continuación.
Punto final: http://xx.71.141.xx:9000 http://127.0.0.1:9000
Clave de acceso: minioadmin
SecretKey: minioadmin
Acceso al navegador:
http://xx.71.141.xx:9000 http://127.0.0.1:9000
Acceso desde la línea de comandos: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc alias set myminio http://xx.71.141.xx:9000 minioadmin minioadmin
API de objetos (compatible con Amazon S3):
Go: https://docs.min.io/docs/golang-client-quickstart-guide
Java: https://docs.min.io/docs/java-client-quickstart-guide
Python: https://docs.min.io/docs/python-client-quickstart-guide
JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
.NET: https://docs.min.io/docs/dotnet-client-quickstart-guide
Detectadas credenciales por defecto 'minioadmin:minioadmin', por favor cambie las credenciales inmediatamente usando 'MINIO_ACCESS_KEY' y 'MINIO_SECRET_KEY
Accedamos a MinIO en el navegador con las credenciales por defecto – minioadmin:minioadmin
La interfaz es muy ordenada y limpia pero antes de nada, cambiemos la credencial por defecto ya que expone el riesgo. No hay ninguna opción para cambiar la credencial de administrador a través del navegador sino variables de entorno.
Para cambiar la credencial por defecto de MinIO, exportaremos la clave de acceso y secreta como se indica a continuación e iniciaremos MinIO.
export MINIO_ACCESS_KEY=geekflare
export MINIO_SECRET_KEY=geekcontraseña
./minio server /data &
Ahora, no debería quejarse de la advertencia de detección de credenciales por defecto.
Intentemos subir algunos archivos.
- Haga clic en el icono de la parte inferior derecha y cree un cubo
- Subí un archivo de prueba e inmediatamente visible en el navegador
y, en el servidor
[root@gf-lab geekflare]# ls -ltr
total 4
-rw-r--r-- 1 root root 11 Oct 19 11:09 MinIO-Test.txt
[root@gf-lab geekflare]#
Si hace clic en el botón para compartir archivos del navegador, obtendrá el enlace para compartir y una opción para establecer la caducidad.
Cliente MinIO
El cliente MinIO es más que aws-cli que le permite gestionar el almacenamiento. El cliente está disponible para Windows, macOS y Linux.
Para instalarlo en Linux, ejecute lo siguiente
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod 755 mc
Ejecute el comando mc
para ver la ayuda del comando.
[root@gf-lab ~]# ./mc
NOMBRE
mc - Cliente MinIO para almacenamiento en la nube y sistemas de archivos.
USO:
mc [BANDAS] COMANDO [BANDAS DE COMANDO | -h] [ARGUMENTOS...]
COMANDOS:
alias establecer, eliminar y listar alias en el archivo de configuración
ls listar cubos y objetos
mb crear un cubo
rb eliminar un cubo
cp copiar objetos
mirror sincronizar objeto(s) a un sitio remoto
cat mostrar el contenido de un objeto
head mostrar las 'n' primeras líneas de un objeto
pipe flujo STDIN a un objeto
share generar URL de acceso temporal a un objeto
find buscar objetos
sql ejecutar consultas sql sobre objetos
stat mostrar metadatos de objetos
mv mover objetos
tree listar cubos y objetos en formato de árbol
du resumir el uso del disco recursivamente
retention establecer la retención de los objetos
legalhold gestionar la retención legal de objeto(s)
diff listar las diferencias en el nombre, tamaño y fecha de los objetos entre dos cubos
rm eliminar objetos
version gestionar el versionado de los cubos
ilm gestión del ciclo de vida de los cubos
encrypt gestionar la configuración de encriptación del cubo
event gestión de notificaciones de objetos
watch escuchar eventos de notificación de objetos
undo deshacer operaciones PUT/DELETE
policy gestionar el acceso anónimo a los cubos y objetos
tag gestionar etiquetas para cubos y objetos
replicar configurar la replicación de cubos del lado del servidor
admin gestionar servidores MinIO
actualizar actualizar mc a la última versión
BANDERAS GLOBALES:
--autocompletion instalar autocompletado para su shell
--config-dir valor, -C valor ruta a la carpeta de configuración (por defecto: "/root/.mc")
--quiet, -q desactivar la visualización de la barra de progreso
--no-color desactivar el tema de color
--json habilitar salida con formato de líneas JSON
--debug habilitar la salida de depuración
--insecure deshabilitar la verificación del certificado SSL
--help, -h mostrar ayuda
--version, -v imprimir la versión
CONSEJO:
Utilice 'mc --autocompletion' para activar el autocompletado del shell
VERSION:
RELEASE.2020-10-03T02-54-56Z
[root@gf-lab ~]#
Intentemos listar el archivo que he cargado mediante el comando mc
.
En primer lugar, tenemos que establecer el alias del almacenamiento que queremos administrar.
[root@gf-lab ~]# ./mc alias set minio http://xx.71.141.xx:9000/ geekflare geekpassword
Añadimos `minio` con éxito.
[root@gf-lab ~]#
- minio es el nombre del alias. Puede cambiarlo por el que desee.
- Cambie el endpoint HTTP por el suyo real
- Cambie la clave de acceso y secreta por la suya
y, para listar, utilizará el comando ls como se indica a continuación.
[root@gf-lab ~]# ./mc ls --recursive minio
[2020-10-19 11:09:06 UTC] 11B geekflare/MinIO-Test.txt
[root@gf-lab ~]#
Genial, ¡funciona!
Puedes hacer literalmente todo a través del cliente. No sólo puede gestionar el almacenamiento en la nube MinIO sino también GCS, AWS S3, Azure.
Echa un vistazo a esta guía de inicio rápido del cliente para más detalles.
SDK de MinIO
Dependiendo de su pila de aplicaciones, puede interactuar con el almacenamiento de objetos mediante programación utilizando SDK. Es compatible con Go, Python, Node.js, .NET, Haskell y Java.
Pasarela MinIO
Añada la pasarela MiniIO a S3, Azure, NAS, HDFS para aprovechar las ventajas del navegador MinIO y el almacenamiento en caché de disco.
Conclusión
Si está buscando almacenamiento de objetos privado, híbrido o multi-nube, entonces MinIO parece prometedor. Pruébelo y se enamorará de él. Para probarlo, puede obtener la VM de MinIO de Kamatera o instalarlo usted mismo en cualquier servidor en la nube.