¿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 tener 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
Endpoint: http://xx.71.141.xx:9000 http://127.0.0.1:9000
AccessKey: minioadmin
SecretKey: minioadmin
Browser Access:
http://xx.71.141.xx:9000 http://127.0.0.1:9000
Command-line Access: 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 utilizando '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=geekpassword
./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 [FLAGS] COMANDO [COMMAND FLAGS | -h] [ARGUMENTOS...]
COMANDOS:
alias set, eliminar y listar alias en el archivo de configuración
ls listar cubos y objetos
mb hacer un cubo
rb eliminar un cubo
cp copiar objetos
mirror sincronizar objeto(s) a un sitio remoto
cat mostrar contenido de objeto
head mostrar primeras 'n' líneas de un objeto
pipe stream STDIN a un objeto
share generar URL para acceso temporal 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 objeto(s)
legalhold gestionar la retención legal de objeto(s)
diff listar las diferencias en el nombre del objeto, tamaño and date between two buckets
rm remove objects
version manage bucket versioning
ilm manage bucket lifecycle
encrypt manage bucket encryption config
event manage object notifications
watch listen for object notification events
undo deshacer operaciones PUT/DELETE
policy gestionar acceso anónimo a cubos y objetos
tag gestionar etiquetas para cubo y objeto(s)
replicate configurar replicación de cubos del lado del servidor
admin gestionar servidores MinIO
update actualizar mc a la última versión
GLOBAL FLAGS:
--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 activar la salida con formato de líneas JSON
--debug activar la salida de depuración
--insecure desactivar la verificación de certificados SSL
--help, -h mostrar ayuda
--version, -v imprimir la versión
CONSEJO:
Utilice 'mc --autocompletion' para activar el autocompletado del shell
VERSIÓN:
RELEASE.2020-10-03T02-54-56Z
[root@gf-lab ~]#
Intentemos listar el archivo que he cargado a través del 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ñadido `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
MinIO SDK
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 el navegador MinIO y el almacenamiento en caché de disco
Conclusión
Si está buscando un almacenamiento de objetos privado, híbrido o multi-nube, entonces MinIO parece prometedor. Pruébelo y se enamorará de él. Para probarlo, puede conseguir la VM de MinIO de Kamatera o instalarlo usted mismo en cualquier servidor en la nube.