Probieren Sie MinIO aus – selbst gehosteter S3-konformer Hochleistungs-Objektspeicher

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, die ich hier erwähnt habe. Wenn Sie Ihre Daten jedoch auf Ihrem Server hosten müssen, kann MinIO in Ihren Rechenzentren helfen.

MiniIO ist Open-Source, beliebte verteilte Objektspeichersoftware und mit S3 kompatibel. Es ist unternehmenstauglich 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-Flat-File-Speicher
  • Multi-Cloud-Datenverteilung
  • Notfallwiederherstellung
  • Datenanalyse

Ist es sperrige Software?

Nein, es ist nur etwa 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 folgende Architektur von ihrer offiziellen Website.

Lassen Sie uns einige der erwähnenswerten Funktionen untersuchen.

  • Leistungsstark – der Titel sagt es. Es kann mit einer Geschwindigkeit von ~ 170 GB / s lesen / schreiben. Das ist eine Menge!
  • Skalierbar – Entscheiden Sie sich für Clustering und skalieren Sie nach Bedarf
  • Cloud-nativ
  • Datenschutz durch Erasure-Code-Verfahren
  • Mehrere Verschlüsselungen werden unterstützt, einschließlich AES-CBC, AES-256-GCM, ChaCha20
  • Kompatibel mit gängigen KMS
  • Anwendungs- und Benutzeridentität
  • Ereignisbenachrichtigung
  • Federation mit etcd und CoreDNS

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

MinIO-Server installieren

Du kannst Installieren unter Linux, Windows, macOS und über Kubernetes. Bauen Sie lieber über die Quelle? Sicher, Sie können dies tun, wenn Sie Golang installiert haben.

Für diese Demonstration werde ich auf CentOS installieren, das 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 wget-Befehl aus
wget https://dl.min.io/server/minio/release/linux-amd64/minio

Es lädt eine Binärdatei herunter und sollte so aussehen.

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

Machen Sie die Datei mit dem Befehl chmod ausführbar

chmod 755 minio

Lassen Sie uns die MinIO als Server starten.

./minio server /data &

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

  Was genau ist ein „Gacha“-Videospiel?

Das Starten ist schnell und Sie sollten die Startinformationen wie unten 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 auf MinIO im Browser mit Standardanmeldeinformationen zugreifen – minioadmin:minioadmin

Die Benutzeroberfläche ist sehr ordentlich und sauber, aber vor allem ändern wir die Standardanmeldeinformationen, da sie das Risiko aufzeigen. Es gibt keine Möglichkeit, die Administratoranmeldeinformationen über den Browser zu ändern, sondern Umgebungsvariablen.

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

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

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

Lassen Sie uns versuchen, einige Dateien hochzuladen.

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

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 Dateifreigabe-Schaltfläche klicken, erhalten Sie den teilbaren Link und eine Option zum Festlegen des Ablaufs.

  So nehmen Sie Audio auf iPhone und iPad auf

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 Folgendes aus.

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

Führen Sie den Befehl mc aus, 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, die ich über den Befehl mc hochgeladen habe.

  6 Anti-Spyware-Tools zum Bereinigen Ihrer Geräte

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/ wdzwdz geekpassword
Added `minio` successfully.
[[email protected] ~]#
  • minio ist der Aliasname. Sie können dies beliebig ändern.
  • Ändern Sie den HTTP-Endpunkt in Ihren echten
  • Ändern Sie den Zugriff und den geheimen Schlüssel mit Ihrem

und, um aufzulisten, wird der Befehl ls wie unten verwendet.

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

Groß. Es klappt!

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

Schau dir das an Client-Kurzanleitung für mehr Details.

MinIO-SDK

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

MinIO-Gateway

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

Fazit

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