• ¡Obtenga la seguridad de la aplicación de la manera correcta! Detectar, proteger, monitorear, acelerar y más ...
  • ¿Está buscando un software de almacenamiento de objetos para alojar en su servidor?

    ¿Supongo que si?

    Existe una gran cantidad de almacenamiento de objetos basado en la nube como AWS S3 y otros mencionado 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 en múltiples nubes
    • Recuperación de desastres
    • Análisis de datos

    ¿Es un software voluminoso?

    No, solo tiene 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 dignas de mención.

    • 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 lo necesite
    • Nativo de la nube
    • Protección de datos mediante el método de código de borrado
    • Admite múltiples cifrados, incluidos AES-CBC, AES-256-GCM, ChaCha20
    • Compatible con KMS común
    • Aplicación y identidad de 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.

    Instalación del servidor MinIO

    Puede instalar 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 Kamatera.

    • Iniciar sesión en el servidor
    • Cree una carpeta en el sistema de archivos deseado. Tal vez minio-server
    • 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 chmod comando

    chmod 755 minio

    Comencemos 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, sino 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=geekflare
    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 icono + en la parte inferior derecha y cree un cubo
    • Subí un archivo de prueba y lo vi inmediatamente 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 el vencimiento.

    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 mc comando 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é mc mando.

    Primero, necesitamos establecer el alias para el almacenamiento que queremos administrar.

    [[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ geekflare geekpassword
    Added `minio` successfully.
    [[email protected] ~]#
    • minio es el nombre de alias. Puedes cambiar esto a lo que quieras.
    • Cambie el punto final HTTP por el real
    • 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 geekflare/MinIO-Test.txt
    [[email protected] ~]#

    Excelente. ¡funciona!

    Literalmente puede hacer 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 este pequeño 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 de manera programática usando 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é de disco.

    Conclusión

    Si está buscando un almacenamiento de objetos privado, híbrido o de múltiples nubes, MinIO parece prometedor. Pruébalo y te enamorarás. Para probar cosas, puede obtener MinIO VM de Kamatera o instale usted mismo en cualquier Servidor en la nube.