¿Está buscando un software de almacenamiento de objetos para alojarlo en su servidor?
¿Supongo que si?
Hay mucho almacenamiento de objetos basado en la nube como AWS S3 y otros que mencioné aquí. Sin embargo, si necesita alojar sus datos en su servidor, MinIO puede ayudarlo dentro de sus centros de datos.
MiniIO es un popular software de almacenamiento de objetos distribuidos de código abierto y compatible con S3. Está preparado para la empresa y es conocido por su alto rendimiento.
Puede usar 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 ayudar en muchos casos de uso.
- Almacenamiento de archivos planos estándar
- Distribución de datos de múltiples nubes
- Recuperación de desastres
- análisis de datos
¿Es un software voluminoso?
No, es solo alrededor de ~ 50 MB y 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 vale la pena mencionar.
- Alto rendimiento – dice el título. Es capaz de leer/escribir a una velocidad de ~170 GB/s. ¡Eso es mucho!
- Escalable: opte por la agrupación en clústeres y escale según sus necesidades
- Nativo de la nube
- Protección de datos mediante el método de código de borrado
- Cifrado múltiple compatible, incluidos AES-CBC, AES-256-GCM, ChaCha20
- Compatible con KMS comunes
- Aplicación e identidad del usuario
- Notificación de eventos
- Federación usando etcd y CoreDNS
MinIO es una buena opción para el almacenamiento definido por software. Exploremos cómo configurar las cosas.
Tabla de contenido
Instalación del servidor MinIO
Puedes Instalar en pc en Linux, Windows, macOS y a través de Kubernetes. ¿Prefieres construir a través de la fuente? Claro, puedes hacerlo si tienes Golang instalado.
Para esta demostración, instalaré en CentOS que está alojado en Camatera.
- Iniciar sesión en el servidor
- Cree una carpeta en el sistema de archivos deseado. Tal vez minio-servidor
- Navegue a 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 verse así.
-rw-r--r-- 1 root root 48271360 Oct 18 21:57 minio
Haga que el archivo sea ejecutable con el comando chmod
chmod 755 minio
Iniciemos el MinIO como servidor.
./minio server /data &
/data mencionado anteriormente es el sistema de archivos donde MinIO almacenará los objetos.
El inicio es rápido y debería ver la información de inicio como se muestra 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 Object API (Amazon S3 compatible): 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 Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'
Accedamos a MinIO en el navegador con las credenciales predeterminadas – minioadmin:minioadmin
La interfaz es muy ordenada y limpia, pero antes que nada, cambiemos la credencial predeterminada, ya que expone el riesgo. No hay opción para cambiar la credencial de administrador a través del navegador, pero las variables de entorno.
Para cambiar la credencial predeterminada de MinIO, exportaremos el acceso y la clave secreta como se muestra a continuación e iniciaremos MinIO.
export MINIO_ACCESS_KEY=kirukiru.es export MINIO_SECRET_KEY=geekpassword ./minio server /data &
Ahora, no debería quejarse de la advertencia de detección de credenciales predeterminada.
Intentemos subir algunos archivos.
- Haga clic en el ícono + en la parte inferior derecha y cree un cubo
- Subí un archivo de prueba e inmediatamente visible en el navegador
y en el servidor
[[email protected] geekflare]# ls -ltr total 4 -rw-r--r-- 1 root root 11 Oct 19 11:09 MinIO-Test.txt [[email protected] geekflare]#
Si hace clic en el botón para compartir archivos en el 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 administrar el almacenamiento. El cliente está disponible para Windows, macOS y Linux.
Para instalar 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.
[[email protected] ~]# ./mc NAME: mc - MinIO Client for cloud storage and filesystems. USAGE: mc [FLAGS] COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...] COMMANDS: alias set, remove and list aliases in configuration file ls list buckets and objects mb make a bucket rb remove a bucket cp copy objects mirror synchronize object(s) to a remote site cat display object contents head display first 'n' lines of an object pipe stream STDIN to an object share generate URL for temporary access to an object find search for objects sql run sql queries on objects stat show object metadata mv move objects tree list buckets and objects in a tree format du summarize disk usage recursively retention set retention for object(s) legalhold manage legal hold for object(s) diff list differences in object name, size, 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 undo PUT/DELETE operations policy manage anonymous access to buckets and objects tag manage tags for bucket and object(s) replicate configure server side bucket replication admin manage MinIO servers update update mc to latest release GLOBAL FLAGS: --autocompletion install auto-completion for your shell --config-dir value, -C value path to configuration folder (default: "/root/.mc") --quiet, -q disable progress bar display --no-color disable color theme --json enable JSON lines formatted output --debug enable debug output --insecure disable SSL certificate verification --help, -h show help --version, -v print the version TIP: Use 'mc --autocompletion' to enable shell autocompletion VERSION: RELEASE.2020-10-03T02-54-56Z [[email protected] ~]#
Intentemos enumerar el archivo que cargué a través del comando mc.
Primero, debemos configurar el alias para el almacenamiento que queremos administrar.
[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ kirukiru.es geekpassword Added `minio` successfully. [[email protected] ~]#
- minio es el nombre de alias. Puedes cambiar esto a lo que quieras.
- Cambie el punto final HTTP a su verdadero
- Cambia el acceso y la clave secreta con la tuya
y, para enumerar, usará el comando ls como se muestra a continuación.
[[email protected] ~]# ./mc ls --recursive minio [2020-10-19 11:09:06 UTC] 11B kirukiru.es/MinIO-Test.txt [[email protected] ~]#
Excelente. ¡funciona!
Puedes hacer literalmente todo a través del cliente. No solo puede administrar el almacenamiento en la nube de MinIO, sino también GCS, AWS S3, Azure.
Mira esto 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 mediante SDK. Es compatible con Go, Python, Node.js, .NET, Haskell y Java.
Puerta de enlace MinIO
Agregue la puerta de enlace MiniIO a S3, Azure, NAS, HDFS para aprovechar el navegador MinIO y el almacenamiento en caché del disco.
Conclusión
Si está buscando almacenamiento de objetos privado, híbrido o de múltiples nubes, entonces MinIO parece prometedor. Pruébalo y te enamorarás. Para probar cosas, puedes obtener Máquina virtual MinIO de Kamatera o instálate tú mismo en cualquier servidor Cloud.