• Erledigen Sie die Anwendungssicherheit auf die richtige Weise! Erkennen, schützen, überwachen, beschleunigen und mehr…
  • Suchen Sie nach Objektspeichersoftware, die Sie auf Ihrem Server hosten können?

    Ich denke ja?

    Es gibt viele Cloud-basierte Objektspeicher wie AWS S3 und andere I. hier erwähnt. Wenn Sie Ihre Daten jedoch auf Ihrem Server hosten müssen, kann MinIO in Ihren Rechenzentren helfen.

    MiniIO ist eine Open-Source-Software zur Speicherung verteilter Objekte, die mit S3 kompatibel ist. Es ist unternehmensfähig und bekannt für seine hohe Leistung.

    Sie können MinIO von einer einfachen Webanwendung bis hin zu großen Datenverteilungs-Workloads für Analyse- und maschinelle Lernanwendungen verwenden. Es kann in vielen Anwendungsfällen helfen.

    • Standard-Flatfile-Speicher
    • Multi-Cloud-Datenverteilung
    • Katastrophale Erholung
    • Datenanalyse

    Ist es sperrige Software?

    Nein, es ist nur ungefähr 50 MB groß und Kubernetes-freundlich. Es schreibt Daten und Metadaten als Objekt. Dadurch entfällt die Abhängigkeit von einer zusätzlichen Datenbank oder Software zum Speichern von Metadaten und zur Verbesserung der Leistung.

    Die unten stehende Architektur von ihrer offiziellen Seite.

    Lassen Sie uns einige der bemerkenswerten Funktionen untersuchen.

    • Hochleistung - heißt es im Titel. Es kann mit einer Geschwindigkeit von ~ 170 GB / s lesen / schreiben. Das ist eine Menge!
    • Skalierbar - Clustering und Skalierung nach Bedarf
    • Cloud-nativ
    • Datenschutz mit der Löschcode-Methode
    • Mehrfachverschlüsselung unterstützt, einschließlich AES-CBC, AES-256-GCM, ChaCha20
    • Kompatibel mit gängigen KMS
    • Anwendungs- und Benutzeridentität
    • Ereignisbenachrichtigung
    • Föderation mit etcd und CoreDNS

    MinIO ist eine gute Wahl für softwaredefinierten Speicher. Lassen Sie uns untersuchen, wie Sie die Dinge einrichten.

    Installing MinIO Server

    Sie können nur dann installieren unter Linux, Windows, MacOS und über Kubernetes. Bauen Sie lieber durch die Quelle? Sicher können Sie tun, wenn Sie haben Golang installiert.

    Für diese Demonstration werde ich auf CentOS installieren, auf dem gehostet wird Kamatera.

    • Melden Sie sich beim Server an
    • Erstellen Sie einen Ordner unter dem gewünschten Dateisystem. Vielleicht minio-server
    • Navigieren Sie zum neu erstellten Ordner und führen Sie den folgenden Befehl wget aus
    wget https://dl.min.io/server/minio/release/linux-amd64/minio

    Es wird eine Binärdatei herunterladen und sollte so aussehen.

    -rw-r--r--  1 root root 48271360 Oct 18 21:57 minio

    Machen Sie die Datei ausführbar mit chmod Befehl

    chmod 755 minio

    Starten wir das MinIO als Server.

    ./minio server /data &

    /data oben erwähnt ist das Dateisystem, in dem MinIO die Objekte speichert.

    Der Start ist schnell und Sie sollten die Startinformationen wie folgt sehen.

    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'

    Lassen Sie uns über Browser mit Standardanmeldeinformationen auf MinIO zugreifen - minioadmin:minioadmin

    Die Benutzeroberfläche ist sehr ordentlich und sauber, aber vor allem sollten wir die Standardanmeldeinformationen ändern, da dies das Risiko aufzeigt. Es gibt keine Option zum Ändern der Administratoranmeldeinformationen über den Browser, sondern Umgebungsvariablen.

    Um die MinIO-Standardanmeldeinformationen zu ändern, exportieren wir den Zugriff und den geheimen Schlüssel wie folgt und starten das MinIO.

    export MINIO_ACCESS_KEY=geekflare
    export MINIO_SECRET_KEY=geekpassword
    ./minio server /data &

    Jetzt sollte es sich nicht über die Standardwarnung zur Erkennung von Anmeldeinformationen beschweren.

    Versuchen wir, einige Dateien hochzuladen.

    • Klicken Sie rechts unten auf das Symbol + und erstellen Sie einen Bucket
    • Ich habe eine Testdatei hochgeladen und bin sofort im Browser sichtbar

    und auf dem Server

    [[email protected] geekflare]# ls -ltr
    total 4
    -rw-r--r-- 1 root root 11 Oct 19 11:09 MinIO-Test.txt
    [[email protected] geekflare]#

    Wenn Sie im Browser auf die Schaltfläche zur Dateifreigabe klicken, erhalten Sie den gemeinsam nutzbaren Link und eine Option zum Festlegen des Ablaufs.

    MinIO Client

    Der MinIO-Client ist mehr als aws-cli, mit dem Sie den Speicher verwalten können. Der Client ist für Windows, MacOS und Linux verfügbar.

    Führen Sie zur Installation unter Linux die folgenden Schritte aus.

    wget https://dl.min.io/client/mc/release/linux-amd64/mc
    chmod 755 mc

    Führen Sie die mc Befehl, um die Befehlshilfe anzuzeigen.

    [[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] ~]#

    Versuchen wir, die Datei aufzulisten, über die ich hochgeladen habe mc Befehl.

    Zuerst müssen wir den Alias ​​auf den Speicher setzen, den wir verwalten möchten.

    [[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ geekflare geekpassword
    Added `minio` successfully.
    [[email protected] ~]#
    • minio ist der Aliasname. Sie können dies nach Belieben ändern.
    • Ändern Sie den HTTP-Endpunkt in Ihren echten
    • Ändern Sie den Zugriff und den geheimen Schlüssel mit Ihrem

    Zum Auflisten wird der Befehl ls wie folgt verwendet.

    [[email protected] ~]# ./mc ls --recursive minio 
    [2020-10-19 11:09:06 UTC]    11B geekflare/MinIO-Test.txt
    [[email protected] ~]#

    Toll. Es klappt!

    Sie können buchstäblich alles durch den Kunden tun. Sie können nicht nur den MinIO-Cloud-Speicher verwalten, sondern auch GCS, AWS S3 und Azure.

    Check out this Client-Kurzanleitung für weitere Informationen.

    MinIO SDK

    Abhängig von Ihrem Anwendungsstapel können Sie mithilfe des SDK programmgesteuert mit dem Objektspeicher interagieren. Es unterstützt Go, Python, Node.js, .NET, Haskell und Java.

    MinIO Gateway

    Fügen Sie S3, Azure, NAS, HDFS ein MiniIO-Gateway hinzu, um die Vorteile des MinIO-Browsers und des Festplatten-Caching zu nutzen.

    Fazit

    Wenn Sie nach privatem, hybriden oder Multi-Cloud-Objektspeicher suchen, ist MinIO vielversprechend. Probieren Sie es aus und Sie werden sich in es verlieben. Um Dinge zu testen, können Sie bekommen Kamateras MinIO VM oder installieren Sie sich auf einem Cloud-Server.