MinIo für die Kleinen

MinIO ist eine hervorragende Lösung, wenn Sie die Objektspeicherung einfach und unkompliziert organisieren müssen. Einfache Einrichtung, viele Plattformen und gute Leistung haben im Bereich der Volksliebe ihren Dienst getan. Daher blieb uns nichts anderes übrig, als vor einem Monat die Kompatibilität zu erklären Veeam Backup & Replication und MinIO. Einschließlich einer so wichtigen Funktion wie Unveränderlichkeit. Tatsächlich hat MinIO ein Ganzes Abschnitt in der Dokumentation zu unserer Integration.

Deshalb werden wir heute darüber sprechen, wie:

  • Das Einrichten von MinIO geht sehr schnell.
  • Das Einrichten von MinIO ist etwas weniger schnell, aber viel besser.
  • Verwenden Sie es als Archivschicht für das Veeam SOBR Scalable Repository.

MinIo für die Kleinen

Was bist du?

Eine kurze Einführung für diejenigen, die MinIO noch nicht kennengelernt haben. Dies ist ein Open-Source-Objektspeicher, der mit der Amazon S3-API kompatibel ist. Veröffentlicht unter der Apache v2-Lizenz und folgt der Philosophie des spartanischen Minimalismus.

Das heißt, es verfügt nicht über eine weitläufige Benutzeroberfläche mit Dashboards, Grafiken und zahlreichen Menüs. MinIO startet seinen Server einfach mit einem Befehl, wo Sie einfach Daten speichern können, indem Sie die volle Leistung der S3-API nutzen. Es ist jedoch zu beachten, dass diese Einfachheit im Hinblick auf die eingesetzten Ressourcen täuschen kann. RAM und CPU werden perfekt absorbiert, die Gründe dafür werden aber weiter unten besprochen. Und übrigens verwenden Kombinationen wie FreeNAS und TrueNAS MinIO unter der Haube.

Diese Einführung kann hier enden.

Das Einrichten von MinIO geht sehr schnell

Die Einrichtung geht so schnell, dass wir sie uns für Windows und Linux ansehen. Es gibt Optionen für Docker, Kubernetis und sogar für MacOS, aber die Bedeutung wird überall gleich sein.

Besuchen Sie im Fall von Windows die offizielle Website https://min.io/download#/windows und laden Sie die neueste Version herunter. Dort sehen wir auch eine Anleitung zum Starten:

 minio.exe server F:Data

Und es gibt auch einen Link zu einer etwas ausführlicheren Schnellstartanleitung (English). Es hat keinen Sinn, den Anweisungen nicht zu glauben, also führen wir sie aus und erhalten etwa diese Antwort.

MinIo für die Kleinen
Das ist alles! Der Speicher funktioniert und Sie können damit beginnen. Ich habe nicht gescherzt, als ich sagte, dass MinIO minimalistisch ist und einfach funktioniert. Wenn Sie dem beim Start angebotenen Link folgen, stehen Ihnen maximal die Funktionen zum Erstellen eines Buckets zur Verfügung. Und Sie können mit dem Schreiben von Daten beginnen.

Für Linux-Liebhaber 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 zu unterscheiden sein, was zuvor gesehen wurde. 

Etwas sinnvoller ist die Einrichtung von MinIO

Soweit wir wissen, dient der vorherige Absatz nur zu Testzwecken. Und seien wir ehrlich, wir nutzen MinIO sehr häufig zum Testen, was wir keineswegs zugeben müssen. Natürlich funktioniert es, aber es ist schade, das jenseits von Prüfständen auszuhalten. Deshalb nehmen wir eine Akte in die Hand und beginnen, uns daran zu erinnern.

HTTPS

Der erste zwingende Schritt auf dem Weg zur Produktion ist die Verschlüsselung. Es gibt bereits eine Million und Abertausend Handbücher im Netzwerk zum Hinzufügen von Zertifikaten zu MiniIO, aber ihr allgemeiner Plan ist dieser:

  • Erstellen Sie ein Zertifikat
  • Im Fall von Windows legen Sie es in C:Users%User%.miniocerts ab
  • Für Linux in ${HOME}/.minio/certs 
  • Neustart des Servers

Das banale Let's Encrypt ist langweilig und wird überall beschrieben, daher ist unser Weg der Weg der Samurai, also laden wir im Fall von Windows herunter Cygwin, und im Fall von Linux überprüfen wir einfach, ob wir openssl installiert haben. Und wir machen ein wenig Konsolenzauber:

  • Schlüssel erstellen: openssl ecparam -genkey -name prime256v1 | openssl ec -out private.key
  • Wir erstellen ein Zertifikat mit dem Schlüssel: openssl req -new -x509 -days 3650 -key private.key -out public.crt
  • Kopieren Sie private.key und public.crt in den oben angegebenen Ordner
  • Starten Sie MinIO neu

Wenn alles so gelaufen ist, wie es sollte, wird im Status so etwas angezeigt.

MinIo für die Kleinen

Aktivieren Sie MinIO Erasure Coding

Zunächst ein paar Worte zum Thema. Kurz gesagt: Das ist der Software-Schutz von Daten vor Beschädigung und Verlust. Wie ein Raid, nur viel zuverlässiger. Wenn es sich das klassische RAID6 leisten kann, zwei Festplatten zu verlieren, kann MinIO den Verlust der Hälfte problemlos verkraften. Die Technologie wird ausführlicher beschrieben in offizieller Führer. Aber wenn wir das Wesentliche betrachten, dann ist dies eine Implementierung von Reed-Solomon-Codes: Alle Informationen werden in Form von Datenblöcken gespeichert, die Paritätsblöcke haben. Und es scheint, dass das alles schon oft gemacht wurde, aber es gibt ein wichtiges „Aber“: Wir können das Verhältnis von Paritätsblöcken zu Datenblöcken für gespeicherte Objekte explizit angeben.
Wollen Sie 1:1? Bitte!
Willst du 5:2? Kein Problem!

Ein sehr wichtiges Feature, wenn Sie mehrere Knoten gleichzeitig nutzen und Ihre eigene Balance zwischen maximaler Datensicherheit und aufgewendeten Ressourcen finden möchten. Standardmäßig verwendet MinIO die Formel N/2 (wobei N die Gesamtzahl der Festplatten ist), d. h. teilt Ihre Daten auf N/2 Datenfestplatten und N/2 Paritätsfestplatten auf. Auf den Menschen übertragen: Sie können die Hälfte der Festplatten verlieren und die Daten wiederherstellen. Diese Beziehung ist gegeben durch SpeicherklasseSo können Sie selbst entscheiden, was wichtiger ist: Zuverlässigkeit oder Kapazität.

Das Handbuch enthält das folgende Beispiel: Angenommen, Sie haben eine Installation auf 16 Festplatten und müssen eine Datei mit einer Größe von 100 MB speichern. Wenn die Standardeinstellungen verwendet werden (8 Festplatten für Daten, 8 für Paritätsblöcke), nimmt die Datei letztendlich fast das Doppelte des Volumens ein, d. h. 200 MB. Wenn das Festplattenverhältnis 10/6 beträgt, werden 160 MB benötigt. 14/2 - 114 MB.

Ein weiterer wichtiger Unterschied zu Raids: Im Falle eines Festplattenausfalls arbeitet MinIO auf Objektebene und stellt eines nach dem anderen wieder her, ohne das gesamte System anzuhalten. Während ein normaler Raid dazu gezwungen ist, das gesamte Volumen wiederherzustellen, was unvorhersehbar viel Zeit in Anspruch nehmen wird. Der Autor erinnert sich an ein Plattenregal, dessen Neuberechnung nach dem Herausfallen zweier Platten anderthalb Wochen dauerte. Es war ziemlich unangenehm.

Und ein wichtiger Hinweis: MinIO unterteilt alle Festplatten für Erasure Coding in Sätze von 4 bis 16 Festplatten und nutzt dabei die maximal mögliche Satzgröße. Und in Zukunft wird ein Informationselement nur noch in einem Satz gespeichert.

Das klingt alles sehr cool, aber wie schwierig wird die Einrichtung sein? Werfen wir einen Blick darauf. Wir nehmen den Befehl zum Ausführen und listen einfach die Festplatten auf, auf denen der Speicher erstellt werden muss. Wenn alles richtig gemacht wurde, sehen wir im Bericht die Anzahl der beteiligten Festplatten. Und der Rat ist, dass es nicht sinnvoll ist, die Hälfte der Festplatten auf einmal einem Host hinzuzufügen, da dies zu Datenverlust führt.

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

MinIo für die Kleinen
Als nächstes benötigen wir zur Verwaltung und Konfiguration des MinIO-Servers einen Agenten, den Sie herunterladen können ibid von der offiziellen Seite.

Um Ihre Finger nicht jedes Mal zu ermüden, wenn Sie die Adresse und die Zugriffstasten eingeben (und das ist nicht sicher), ist es praktisch, sofort einen Alias ​​zu erstellen, wenn Sie den Formula MC-Alias-Satz zum ersten Mal verwenden [DEIN-ZUGANGSSCHLÜSSEL] [DEIN-GEHEIM-SCHLÜSSEL]

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

Oder Sie können Ihren Gastgeber sofort hinzufügen:

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

Und dann werden wir mit einem großartigen Team einen unveränderlichen Eimer schaffen

mc mb --debug -l veeamS3/immutable 

mc: <DEBUG> 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: <DEBUG> 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: <DEBUG> Response Time:  253.0017ms

--debuggen ermöglicht es Ihnen, nicht nur die endgültige Nachricht, sondern auch detailliertere Informationen anzuzeigen. 

-l bedeutet – mit Sperre, was unveränderlich bedeutet

Kehren wir nun zur Weboberfläche zurück, erscheint dort unser neuer Bucket.

MinIo für die Kleinen
Das ist alles für den Moment. Wir haben einen sicheren Speicher geschaffen und sind bereit für die Integration mit Veeam.

Außerdem können Sie sicherstellen, dass alles perfekt funktioniert:

c:minio>mc admin info veeamS3

●  172.17.32.52:9000
   Uptime: 32 minutes
   Version: 2020-08-16T18:39:38Z
   Network: 1/1 OK
   Drives: 6/6 OK
0 B Used, 1 Bucket, 0 Objects
6 drives online, 0 drives offline

MinIO und Veeam

Achtung! Wenn Sie aus irgendeinem unglaublichen Grund über HTTP arbeiten möchten, erstellen Sie unter HKEY_LOCAL_MACHINESOFTWAREVeeamVeeam Backup and Replication einen DWORD-Schlüssel SOBRArchiveS3DisableTLS. Setzen Sie den Wert auf 1 und denken Sie daran, dass wir ein solches Verhalten ausdrücklich nicht gutheißen und es niemandem empfehlen.

Nochmals Achtung! Wenn Sie aufgrund eines Missverständnisses weiterhin Windows 2008 R2 verwenden, erhalten Sie beim Versuch, MinIO mit Veeam zu verbinden, höchstwahrscheinlich eine Fehlermeldung wie diese: Verbindung zum Amazon S3-Endpunkt konnte nicht hergestellt werden. Dies kann mit einem offiziellen Patch von behandelt werden Microsoft.

Nun, die Vorbereitungen sind abgeschlossen. Öffnen wir die VBR-Schnittstelle und gehen zur Registerkarte „Backup-Infrastruktur“, wo wir den Assistenten zum Hinzufügen eines neuen Repositorys aufrufen.

MinIo für die Kleinen
Natürlich interessieren wir uns für Objektspeicher, nämlich S3-kompatibel. Legen Sie im sich öffnenden Assistenten einen Namen fest und führen Sie die Schritte zur Angabe der Adresse und des Kontos durch. Vergessen Sie bei Bedarf nicht, das Gate anzugeben, über das Anfragen an den Speicher weitergeleitet werden.

MinIo für die Kleinen
Wählen Sie dann den Bucket und Ordner aus und aktivieren Sie das Kontrollkästchen Aktuelle Backups unveränderlich machen. Oder wir installieren es nicht. Aber da wir einen Speicher geschaffen haben, der diese Funktion unterstützt, wäre es eine Sünde, ihn nicht zu nutzen.

MinIo für die Kleinen
Weiter > Beenden Sie den Vorgang und genießen Sie das Ergebnis.

Jetzt müssen wir es als Kapazitätsschicht zum SOBR-Repository hinzufügen. Dazu erstellen wir entweder ein neues oder bearbeiten ein bestehendes. Wir interessieren uns für den Schritt „Capacity Tier“.

MinIo für die Kleinen
Hier müssen wir auswählen, mit welchem ​​Szenario wir arbeiten möchten. Alle Möglichkeiten sind in einem anderen recht gut beschrieben Artikel, also werde ich mich nicht wiederholen

Und nach Abschluss des Assistenten werden automatisch Aufgaben zum Kopieren oder Übertragen von Backups gestartet. Wenn Sie jedoch nicht planen, alle Systeme sofort zu belasten, stellen Sie sicher, dass Sie akzeptable Intervalle für die Arbeit an der Fensterschaltfläche festlegen.

MinIo für die Kleinen
Und natürlich können Sie separate Sicherungskopie-Aufgaben ausführen. Manche glauben, dass dies sogar noch praktischer ist, da sie für den Benutzer, der sich nicht in die Details der Bedienung des Schießstandes vertiefen möchte, etwas transparenter und vorhersehbarer sind. Da es dort genügend Details gibt, empfehle ich noch einmal den entsprechenden Artikel unter dem obigen Link.

Und zum Schluss noch die Antwort auf die heikle Frage: Was passiert, wenn Sie trotzdem versuchen, das Backup aus dem unveränderlichen Speicher zu löschen?

Hier ist die Antwort:

MinIo für die Kleinen
Das ist alles für heute. Fangen Sie in wahrer Tradition eine Liste mit nützlichen Themen zum Thema an:

Source: habr.com

Kommentar hinzufügen