MinIo fĂŒr die Kleinsten

MinIO — eine großartige Lösung, wenn man ein objektorientiertes Storage einfach und unkompliziert einrichten möchte. Die einfache Konfiguration, zahlreiche Plattformen und die gute Leistung haben sich im Bereich der Beliebtheit bewĂ€hrt. Daher gab es fĂŒr uns keinen anderen Weg, als vor einem Monat die KompatibilitĂ€t anzukĂŒndigen. Veeam Backup & Replication und MinIO. Einschließlich einer so wichtigen Funktion wie der UnverĂ€nderlichkeit. TatsĂ€chlich gibt es in der Dokumentation einen gesamten Abschnitt Abschnitt, der unserer Integration gewidmet ist.

Deshalb werden wir heute darĂŒber sprechen, wie man:

  • MinIO sehr schnell einrichtet.
  • MinIO etwas weniger schnell, aber deutlich qualitativ hochwertiger einrichtet.
  • es als Archivtier fĂŒr ein skalierbares Veeam SOBR-Repository verwendet.

MinIo fĂŒr die Kleinsten

Was bist du?

Eine kurze EinfĂŒhrung fĂŒr diejenigen, die noch nicht mit MinIO zu tun hatten. Es handelt sich um ein Open-Source-Objektspeichersystem, das mit dem Amazon S3 API kompatibel ist. Es wird unter der Apache v2 Lizenz veröffentlicht und folgt der Philosophie des spartanischen Minimalismus.

Das bedeutet, dass es keine aufwĂ€ndige GUI mit Dashboards, Grafiken und zahlreichen MenĂŒs gibt. MinIO startet einfach seinen Server mit einem Befehl, auf dem man Daten speichern kann, wobei die gesamte Leistung des S3 API genutzt wird. Aber man muss anmerken, dass diese Einfachheit tĂ€uschend sein kann, wenn es um die verwendeten Ressourcen geht. RAM und CPU werden hervorragend beansprucht, aber dazu spĂ€ter mehr. Übrigens verwenden solche Kombis wie FreeNAS und TrueNAS unter der Haube genau MinIO.

Damit kann die EinfĂŒhrung beendet werden.

Die Einrichtung von MinIO geht sehr schnell

Die Einrichtung erfolgt so schnell, dass wir sie fĂŒr Windows und Linux betrachten werden. Es gibt Optionen fĂŒr Docker, Kubernetes und sogar fĂŒr macOS, aber das Prinzip wird ĂŒberall gleich sein.

Also, im Fall von Windows gehen wir auf die offizielle Website https://min.io/download#/windows und laden die neueste Version herunter. Dort finden wir auch die Anleitung zur AusfĂŒhrung:

 minio.exe server F:Data

Und dort gibt es auch einen Link zu einer etwas ausfĂŒhrlicheren Schnellstartanleitung. Es macht keinen Sinn, den Anweisungen nicht zu glauben; also starten wir und erhalten eine ungefĂ€hr solche Antwort.

MinIo fĂŒr die Kleinsten
Das war's! Das Storage funktioniert und man kann anfangen, damit zu arbeiten. Ich habe nicht ĂŒbertrieben, als ich sagte, dass MinIO Minimalismus ist und einfach funktioniert. Wenn man dem angebotenen Link beim Start folgt, besteht die maximale FunktionalitĂ€t darin, einen Bucket zu erstellen. Und man kann anfangen, Daten zu schreiben.

FĂŒr die Liebhaber von Linux bleibt alles nicht weniger einfach. Die einfachste Anleitung:


wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

Das Ergebnis wird nicht von dem zuvor Gesehenen zu unterscheiden sein. 

Die Konfiguration von MinIO ist etwas sinnvoller.

Wie wir verstehen, ist der vorherige Absatz ein Scherz zu Testzwecken. Und um ehrlich zu sein, wird MinIO bei uns sehr umfassend fĂŒr Tests verwendet, dafĂŒr schĂ€men wir uns nicht. NatĂŒrlich funktioniert es, aber es ist peinlich, es ĂŒber Testumgebungen hinaus zu bringen. Deshalb nehmen wir uns eine Feile zur Hand und beginnen, es zu optimieren.

HTTPS

Der erste notwendige Schritt in Richtung Produktion ist die VerschlĂŒsselung. Im Internet gibt es bereits eine Million und tausend HandbĂŒcher zur HinzufĂŒgung von Zertifikaten zu MiniIO, aber der allgemeine Plan sieht folgendermaßen aus:

  • Ein Zertifikat erstellen.
  • Im Fall von Windows legen wir es in C:Users%User%.miniocerts.
  • Im Fall von Linux in ${HOME}/.minio/certs. 
  • Den Server neu starten.

Das banale Let’s Encrypt ist langweilig und bereits ĂŒberall beschrieben, also ist unser Weg der Weg eines Samurai. Daher laden wir im Fall von Windows herunter. CygwinIm Fall von Linux prĂŒfen wir einfach, ob openssl installiert ist. Und wir machen etwas Konsolenmagie:

  • SchlĂŒssel erstellen: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key.
  • Zertifikat aus dem SchlĂŒssel erstellen: openssl req -new -x509 -days 3650 -key private.key -out public.crt.
  • private.key und public.crt in den oben angegebenen Ordner kopieren.
  • MinIO neu starten.

Wenn alles geklappt hat, erscheinen im Status etwa solche Zeilen.

MinIo fĂŒr die Kleinsten

MinIO Erasure Coding aktivieren.

Zuerst ein paar Worte zum Thema. Kurz gesagt: Dies ist ein softwarebasierter Schutz von Daten vor BeschĂ€digung und Verlust. Ähnlich wie RAID, aber viel zuverlĂ€ssiger. Wenn klassisches RAID6 zwei Laufwerke verlieren kann, ĂŒbersteht MinIO ohne Probleme den Verlust der HĂ€lfte. Eine genauere Beschreibung der Technologie finden Sie im offiziellen Leitfaden.Aber wenn man das Wesentliche betrachtet, dann ist es die Implementierung von Reed-Solomon-Codes: Alle Informationen werden in Form von Datenblöcken gespeichert, zu denen ParitĂ€tsblöcke gehören. Und es scheint, als wĂ€re das alles schon mehrmals gemacht worden, aber es gibt ein wichtiges "aber": Wir können das VerhĂ€ltnis der ParitĂ€tsblöcke zu den Datenblöcken fĂŒr die gespeicherten Objekte explizit angeben.
Möchten Sie 1:1? Bitte sehr!
Möchten Sie 5:2? Kein Problem!

Eine sehr wichtige Funktion, wenn Sie mehrere Knoten gleichzeitig verwenden und Ihr eigenes Gleichgewicht zwischen maximaler Datensicherheit und eingesetzten Ressourcen finden möchten. Out of the box verwendet MinIO die Formel N/2 (wobei N die Gesamtanzahl der Festplatten ist), d.h. es verteilt Ihre Daten auf N/2 DatentrĂ€ger und N/2 ParitĂ€tsdisketten. Um es einfach auszudrĂŒcken: Sie können die HĂ€lfte der Festplatten verlieren und die Daten wiederherstellen. Dieses VerhĂ€ltnis wird durch Speicherklasse, das Ihnen erlaubt selbst zu wĂ€hlen, was wichtiger ist: ZuverlĂ€ssigkeit oder KapazitĂ€t.

Im Handbuch wird folgendes Beispiel gegeben: Angenommen, Sie haben eine Installation mit 16 Festplatten und möchten eine Datei mit einer GrĂ¶ĂŸe von 100 MB speichern. Wenn die Standardkonfiguration verwendet wird (8 Festplatten fĂŒr Daten, 8 fĂŒr ParitĂ€tsblöcke), nimmt die Datei letztendlich praktisch das Doppelte an Platz ein, also 200 MB. Bei einem VerhĂ€ltnis von 10/6 wĂ€ren 160 MB erforderlich. 14/2 — 114 MB.

Ein weiteres wichtiges Unterscheidungsmerkmal zu RAID: Im Falle eines Festplattenausfalls arbeitet MinIO auf Objektebene und stellt diese nacheinander wieder her, ohne den Betrieb des gesamten Systems zu stoppen. WÀhrend ein regulÀres RAID gezwungen ist, das gesamte Volume wiederherzustellen, was unvorhersehbar lange dauert. Der Erinnerung des Autors nach hat ein Festplattenschrank, der nach dem Ausfall von zwei Festplatten eine Neuberechnung benötigte, anderthalb Wochen gebraucht. Das war sehr unangenehm.

Und ein wichtiger Hinweis: MinIO unterteilt alle Festplatten fĂŒr Erasure Coding in Sets von 4 bis 16 Festplatten und nutzt die maximal mögliche Set-GrĂ¶ĂŸe. In Zukunft wird ein Informationselement nur innerhalb eines Sets gespeichert.

Das klingt alles sehr gut, aber wie kompliziert wird die Einrichtung sein? Lassen Sie uns nachsehen. Wir nehmen den Befehl zum Starten und listen einfach die Festplatten auf, auf denen der Speicher erstellt werden soll. Wenn alles korrekt gemacht wurde, sehen wir im Bericht die Anzahl der verwendeten Festplatten. Und ein Hinweis, dass es nicht gut ist, zur gleichen Zeit die HĂ€lfte der Festplatten zu einem einzelnen Host hinzuzufĂŒgen, da dies zu Datenverlust fĂŒhren kann.

c:minio>minio.exe server F: G: H: I: J: K:

MinIo fĂŒr die Kleinsten
Um den MinIO-Server zu verwalten und zu konfigurieren, benötigen wir einen Agenten, den Sie alles dort von der offiziellen Website herunterladen können.

Um nicht jedes Mal die Adresse und die ZugangsschlĂŒssel einzutippen (und das ist auch unsicher), ist es praktisch, beim ersten Start sofort ein Alias nach der Formel mc alias set [YOUR-ACCESS-KEY] [YOUR-SECRET-KEY] zu erstellen.

mc alias set veeamS3 https://172.17.32.52:9000 YOURS3ACCESSKEY YOURSECERTKE

Oder Sie können sofort Ihren Host hinzufĂŒgen:

mc config host add minio-veeam https://minio.jorgedelacruz.es YOURS3ACCESSKEY YOURSECERTKEY

Und dann erstellen wir einen immutable Bucket mit diesem schönen Befehl

mc mb --debug -l veeamS3/immutable

mc:  PUT /immutable/ HTTP/1.1
Host: 172.17.32.52:9000
User-Agent: MinIO (windows; amd64) minio-go/v7.0.5 mc/2020-08-08T02:33:58Z
Content-Length: 0
Authorization: AWS4-HMAC-SHA256 Credential=minioadmin/20200819/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-bucket-object-lock-enabled;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Bucket-Object-Lock-Enabled: true
X-Amz-Content-Sha256: UNSIGNED-PAYLOAD
X-Amz-Date: 20200819T092241Z
Accept-Encoding: gzip
mc:  HTTP/1.1 200 OK
Content-Length: 0
Accept-Ranges: bytes
Content-Security-Policy: block-all-mixed-content
Date: Wed, 19 Aug 2020 09:22:42 GMT
Location: /immutable
Server: MinIO/RELEASE.2020-08-16T18-39-38Z
Vary: Origin
X-Amz-Request-Id: 162CA0F9A3A3AEA0
X-Xss-Protection: 1; mode=block
mc:  Response Time:  253.0017ms

—debug zeigt nicht nur die endgĂŒltige Nachricht, sondern auch detailliertere Informationen an. 

-l Das bedeutet —with-lock, was immutable bedeutet.

Wenn wir jetzt zur WeboberflĂ€che zurĂŒckkehren, wird unser neuer Bucket angezeigt.

MinIo fĂŒr die Kleinsten
Das ist alles fĂŒr den Moment. Wir haben einen gesicherten Speicher erstellt und sind bereit, zur Integration mit Veeam ĂŒberzugehen.

Wir können auch sicherstellen, dass alles einwandfrei funktioniert:

c:minio>mc admin info veeamS3

● 172.17.32.52:9000
  Uptime: 32 Minuten
  Version: 2020-08-16T18:39:38Z
  Netzwerk: 1/1 OK
  Laufwerke: 6/6 OK
0 B Verwendet, 1 Bucket, 0 Objekte
6 Laufwerke online, 0 Laufwerke offline

MinIO und Veeam

Achtung! Wenn Sie aus irgendeinem unglaublichen Grund ĂŒber HTTP arbeiten möchten, erstellen Sie im Verzeichnis HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication einen DWORD-SchlĂŒssel SOBRArchiveS3DisableTLS. Setzen Sie den Wert auf 1 und denken Sie daran, dass wir dieses Verhalten entschieden nicht unterstĂŒtzen und niemandem empfehlen.

Achtung noch einmal! Wenn Sie aufgrund eines MissverstÀndnisses weiterhin Windows 2008 R2 verwenden, erhalten Sie beim Versuch, MinIO mit Veeam zu verbinden, wahrscheinlich eine Fehlermeldung wie: Failed to establish connection to Amazon S3 endpoint. Dies kann mit dem offiziellen Patch von von Microsoft.

Nun, die Vorbereitungen sind abgeschlossen, lassen Sie uns die VBR-OberflĂ€che öffnen und zum Tab Backup-Infrastruktur wechseln, wo wir den Assistenten zum HinzufĂŒgen eines neuen Repositories aufrufen.

MinIo fĂŒr die Kleinsten
SelbstverstĂ€ndlich interessiert uns die Object Storage, genauer gesagt die S3-kompatible. Im geöffneten Assistenten geben wir einen Namen ein und gehen die Schritte mit der Angabe der Adresse und des Kontos durch. Wenn erforderlich, vergessen Sie nicht, das Gateway anzugeben, ĂŒber das die Anfragen an den Speicher weitergeleitet werden.

MinIo fĂŒr die Kleinsten
Danach wÀhlen wir den Bucket, den Ordner aus und setzen das HÀkchen bei "Make recent backups immutable". Oder wir lassen es weg. Aber da wir einen Speicher mit dieser Funktion erstellt haben, wÀre es nachlÀssig, dies nicht zu nutzen.

MinIo fĂŒr die Kleinsten
Next > Finish und genießen Sie das Ergebnis.

Jetzt muss er als Capacity Tier zum SOBR-Repository hinzugefĂŒgt werden. Dazu erstellen wir entweder einen neuen oder bearbeiten einen bestehenden. Uns interessiert der Schritt Capacity Tier.

MinIo fĂŒr die Kleinsten
Hier mĂŒssen wir wĂ€hlen, nach welchem Szenario wir arbeiten werden. Alle Optionen sind in einem anderen Artikel, gut beschrieben, daher möchte ich mich nicht wiederholen.

Nach Abschluss des Assistenten werden automatisch Aufgaben zum Kopieren oder Verschieben von Backups gestartet. Falls es jedoch nicht in Ihren PlĂ€nen liegt, sofort alle Systeme zu belasten, sollten Sie unbedingt die zulĂ€ssigen Intervalle fĂŒr die Arbeit ĂŒber die SchaltflĂ€che Window festlegen.

MinIo fĂŒr die Kleinsten
Und natĂŒrlich können auch separate Backup Copy-Aufgaben erstellt werden. Einige halten das fĂŒr praktischer, da sie etwas transparenter und vorhersehbarer fĂŒr den Benutzer sind, der sich nicht mit den Einzelheiten des Capacity Tiers befassen möchte. Und davon gibt es einige, also empfehle ich nochmals den entsprechenden Artikel ĂŒber den obigen Link.

Und schließlich die Antwort auf die hinterhĂ€ltige Frage: Was wird passieren, wenn man versucht, ein Backup aus dem Immutable-Speicher zu löschen?

Hier ist die Antwort:

MinIo fĂŒr die Kleinsten
Das ist alles fĂŒr heute. Wie gewohnt, hier ist eine Liste nĂŒtzlicher Themen zum Thema:

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster