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.
Inhaltsverzeichnis
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.
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.
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.
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.