Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Der erste Prototyp von Objektspeichern wurde 1996 weltweit vorgestellt. In 10 Jahren wird Amazon Web Services Amazon S3 auf den Markt bringen und die Welt wird systematisch verrückt nach einem flachen Adressraum. Dank seiner Metadatenverarbeitung und seiner Fähigkeit zur Skalierung ohne Einbußen unter Last hat sich Objektspeicher schnell zum Standard für die meisten Cloud-Speicherdienste und darüber hinaus entwickelt. Ein weiteres wichtiges Merkmal ist die gute Anpassungsfähigkeit zum Speichern von Archiven und ähnlichen selten verwendeten Dateien. Alle, die an der Datenspeicherung beteiligt waren, jubelten und trugen die neue Technologie in ihren Händen.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Aber die Gerüchte der Leute waren voller Gerüchte, dass es bei der Objektspeicherung nur um große Clouds geht, und wenn man keine Lösungen von den verdammten Kapitalisten braucht, wird es sehr schwierig sein, eigene Lösungen zu entwickeln. Über die Bereitstellung einer eigenen Cloud wurde bereits viel geschrieben, über die Erstellung sogenannter S3-kompatibler Lösungen gibt es jedoch nicht genügend Informationen.

Deshalb werden wir heute herausfinden, welche Optionen es gibt: „Wie Erwachsene sein und nicht CEPH und eine größere Datei“, wir werden eine davon bereitstellen und mit Veeam Backup & Replication überprüfen, ob alles funktioniert. Es wird behauptet, dass es die Arbeit mit S3-kompatiblen Speichern unterstützt, und wir werden diese Aussage überprüfen.

Wie wäre es mit anderen?

Ich schlage vor, mit einem kleinen Überblick über den Markt und die Möglichkeiten der Objektspeicherung zu beginnen. Der allgemein anerkannte Marktführer und Standard ist Amazon S3. Die beiden engsten Verfolger sind Microsoft Azure Blob Storage und IBM Cloud Object Storage.

Ist das alles? Gibt es keine anderen Konkurrenten? Natürlich gibt es Konkurrenten, aber jemand geht seinen eigenen Weg, wie Google Cloud oder Oracle Cloud Object Storage, mit unvollständiger Unterstützung für die S3-API. Jemand verwendet alte Versionen der API, wie Baidu Cloud. Und einige, wie Hitachi Cloud, erfordern die Anwendung einer speziellen Logik, was sicherlich eigene Schwierigkeiten mit sich bringen wird. Auf jeden Fall wird jeder mit Amazon verglichen, was als Branchenstandard gelten kann.

Bei On-Premise-Lösungen ist die Auswahl jedoch viel größer. Lassen Sie uns daher die Kriterien skizzieren, die für uns wichtig sind. Im Prinzip reichen nur zwei: die Unterstützung der S3-API und die Verwendung von v4-Signierung. Hand aufs Herz, als zukünftiger Kunde sind wir nur an Schnittstellen zur Interaktion interessiert und nicht so sehr an der internen Küche des Lagers selbst.

Nun, viele Lösungen erfüllen diese einfachen Bedingungen. Zum Beispiel klassische Unternehmensschwergewichte:

  • DellEMC ECS
  • NetApp S3 Storage Grid
  • Nutanix-Eimer
  • Pure Storage FlashBlade und StorReduce
  • Huawei FusionStorage

Es gibt eine Nische reiner Softwarelösungen, die sofort einsatzbereit sind:

  • Red Hat Ceph
  • SUSE Enterprise-Speicher
  • Cloudian

Und selbst diejenigen, die nach dem Zusammenbau gerne sorgfältig mit einer Feile bearbeiten, waren nicht beleidigt:

  • CEPH in seiner reinsten Form
  • Minio (Linux-Version, da es viele Fragen zur Windows-Version gibt)

Die Liste ist bei weitem nicht vollständig, sie kann in den Kommentaren besprochen werden. Vergessen Sie jedoch nicht, vor der Implementierung neben der API-Kompatibilität auch die Systemleistung zu überprüfen. Das Letzte, was Sie wollen, ist der Verlust von Terabytes an Daten aufgrund hängengebliebener Anfragen. Laden Sie also gerne Tests herunter. Im Allgemeinen verfügt jede Software für Erwachsene, die mit großen Datenmengen arbeitet, über mindestens Kompatibilitätsberichte. Im Falle von Veeam es ganzes Programm auf gegenseitigen Tests, die es uns ermöglichen, mutig die volle Kompatibilität unserer Produkte mit bestimmten Geräten zu erklären. Dies ist bereits eine wechselseitige Arbeit, nicht immer schnell, aber wir expandieren ständig Liste geprüfte Lösungen.

Aufbau unseres Standes

Ich möchte ein wenig über die Auswahl einer Testperson sprechen.

Zuerst wollte ich eine Option finden, die sofort funktioniert. Nun ja, oder zumindest mit der größtmöglichen Wahrscheinlichkeit, dass es ohne unnötige Gesten klappt. Nachts mit einem Tamburin zu tanzen und an der Konsole zu spielen, ist sehr aufregend, aber manchmal möchte man, dass es sofort klappt. Und die Gesamtzuverlässigkeit solcher Lösungen ist in der Regel höher. Und ja, der Abenteuergeist ist in uns verschwunden, wir haben aufgehört, durch die Fenster zu unseren geliebten Frauen zu klettern usw. (c).

Zweitens, um ehrlich zu sein, besteht in relativ großen Unternehmen die Notwendigkeit, mit Objektspeicher zu arbeiten. Dies ist also der Fall, wenn die Suche nach Lösungen auf Unternehmensebene nicht nur nicht beschämt, sondern sogar gefördert wird. Mir sind jedenfalls noch keine Beispiele dafür bekannt, dass jemand gekündigt wurde, weil er solche Lösungen kaufte.

Aufgrund des Vorstehenden fiel meine Wahl auf Dell EMC ECS Community Edition. Das ist ein sehr interessantes Projekt, und ich halte es für notwendig, Ihnen davon zu erzählen.

Das Erste, was einem in den Sinn kommt, wenn man den Zusatz sieht Gemeinschaftsausgabe - dass es sich lediglich um ein Pauspapier eines vollwertigen ECS mit einigen Einschränkungen handelt, die durch den Kauf einer Lizenz aufgehoben werden. Also nein!

Denken Sie daran:

!!!Community Edition ist ein separates Projekt, das zum Testen und ohne technischen Support von Dell erstellt wurde!!
Und es kann nicht in ein vollwertiges ECS umgewandelt werden, selbst wenn Sie es wirklich wollen.

Lass uns verstehen

Viele Leute denken, dass Dell EMC ECS fast die beste Lösung ist, wenn Sie Objektspeicher benötigen. Alle Projekte unter der Marke ECS, einschließlich kommerzieller und geschäftlicher Projekte, sind githabe. Eine Art Geste des guten Willens von Dell. Und zusätzlich zu der Software, die auf der Markenhardware läuft, gibt es eine Open-Source-Version, die sogar in der Cloud, sogar auf einer virtuellen Maschine, sogar in einem Container, sogar auf jeder Ihrer Hardware bereitgestellt werden kann. Voraussichtlich wird es sogar eine OVA-Version geben, die wir verwenden werden.
Die DELL ECS Community Edition selbst ist eine Miniversion der vollwertigen Software, die auf Servern der Marke Dell EMC ECS läuft.

Ich habe vier Hauptunterschiede identifiziert:

  • Keine Verschlüsselungsunterstützung. Es ist schade, aber nicht kritisch.
  • Es gibt keine Stoffschicht. Dieses Ding ist für den Aufbau von Clustern, die Verwaltung von Ressourcen, die Aktualisierung, Überwachung und Speicherung von Docker-Images verantwortlich. Hier ist es schon sehr enttäuschend, aber Dell kann man auch verstehen.
  • Die schlimmste Konsequenz des vorherigen Punktes: Die Größe des Knotens kann nach Abschluss der Installation nicht mehr erweitert werden.
  • Kein technischer Support. Hierbei handelt es sich um ein Produkt zum Testen, dessen Einsatz in kleinen Installationen nicht verboten ist, ich persönlich würde mich aber nicht trauen, Petabytes an wichtigen Daten dort hochzuladen. Aber technisch gesehen kann Sie niemand davon abhalten.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Was ist in der großen Version?

Lassen Sie uns im Galopp durch Europa die Eisenlösungen durchgehen, um ein vollständigeres Bild des Ökosystems zu erhalten.

Ich werde die Aussage, dass DELL ECS der beste lokale Objektspeicher ist, weder bestätigen noch widerlegen, aber wenn Sie etwas zu diesem Thema zu sagen haben, lese ich es gerne in den Kommentaren. Der Version zufolge jedenfalls IDC MarketScape 2018 Dell EMC steigt selbstbewusst in die Top XNUMX der OBS-Marktführer ein. Obwohl Cloud-basierte Lösungen nicht berücksichtigt werden, ist dies eine separate Diskussion.

Aus technischer Sicht handelt es sich bei ECS um einen Objektspeicher, der den Zugriff auf Daten mithilfe von Cloud-Speicherprotokollen ermöglicht. Unterstützt AWS S3 und OpenStack Swift. Für dateifähige Buckets unterstützt ECS NFSv3 für den dateiweisen Export.

Der Prozess des Schreibens von Informationen ist, insbesondere nach den klassischen Blockspeichersystemen, eher ungewöhnlich.

  • Wenn neue Daten eintreffen, wird ein neues Objekt erstellt, das einen Namen, die Daten selbst und Metadaten enthält.
  • Objekte werden in 128-MB-Blöcke unterteilt, und jeder Block wird gleichzeitig auf drei Knoten geschrieben.
  • Die Indexdatei wird aktualisiert, in der Kennungen und Speicherorte aufgezeichnet werden.
  • Die Protokolldatei (Aufzeichnungsprotokoll) wird aktualisiert und ebenfalls auf drei Knoten geschrieben.
  • Über einen erfolgreichen Datensatz wird eine Nachricht an den Client gesendet.
    Alle drei Kopien der Daten werden parallel geschrieben. Der Schreibvorgang gilt nur dann als erfolgreich, wenn alle drei Kopien erfolgreich geschrieben wurden.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Lesen ist einfacher:

  • Der Client fordert Daten an.
  • Der Index sucht nach einem Ort zum Speichern von Daten.
  • Daten werden von einem Knoten gelesen und an den Client gesendet.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Da es selbst einige Server gibt, werfen wir einen Blick auf den kleinsten Dell EMC ECS EX300. Es beginnt bei 60 TB und kann auf bis zu 1,5 TB erweitert werden. Und sein älterer Bruder Dell EMC ECS EX3000 ermöglicht bereits die Speicherung von bis zu 8,6 Pb pro Rack.

Einsetzen

Technisch kann Dell ECS CE beliebig groß eingesetzt werden. Explizite Einschränkungen habe ich jedenfalls nicht gefunden. Die gesamte Skalierung erfolgt jedoch praktischerweise durch Klonen des allerersten Knotens, für den wir Folgendes benötigen:

  • 8 vCPU
  • 64GB RAM
  • 16 GB für Betriebssystem
  • 1 TB direkt zur Speicherung
  • Neueste Version von CentOS minimal

Dies ist eine Option für den Fall, dass Sie von Anfang an alles selbst installieren möchten. Für uns ist diese Option nicht relevant, weil. Ich werde für die Bereitstellung ein OVA-Image verwenden.

Aber auf jeden Fall sind die Anforderungen selbst für einen Knoten sehr schlecht, und wenn man sich strikt an den Wortlaut des Gesetzes hält, braucht man vier solcher Knoten.

ECS CE-Entwickler leben jedoch in der realen Welt und die Installation ist auch mit einem einzelnen Knoten erfolgreich, und die Mindestanforderungen sind:

  • 4 vCPU
  • 16 GB RAM
  • 16 GB für Betriebssystem
  • 104 GB Speicher selbst

Diese Ressourcen sind für die Bereitstellung des OVA-Images erforderlich. Schon viel menschlicher und realistischer.

Der Installationsknoten selbst kann dem Beamten entnommen werden github. Es gibt auch eine ausführliche Dokumentation zur Bereitstellung von All-in-One, Sie können aber auch die offizielle Dokumentation lesen readthedocs. Daher werden wir nicht im Detail auf den Einsatz von OVA eingehen, es gibt keine Tricks. Die Hauptsache ist, vor dem Start nicht zu vergessen, entweder die Festplatte auf das erforderliche Volumen zu erweitern oder die erforderlichen hinzuzufügen.
Wir starten die Maschine, öffnen die Konsole und verwenden die besten Standard-Creds:

  • Login: Admin
  • Passwort: changeme

Dann führen wir sudo nmtui aus und konfigurieren die Netzwerkschnittstelle – IP/Maske, DNS und Gate. Da es in CentOS Minimal keine Net-Tools gibt, überprüfen wir die Einstellungen über die IP-Adresse.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Und da nur die Mutigen die Meere erobern, führen wir ein leckeres Update durch und starten anschließend neu. Es ist eigentlich ziemlich sicher. Die gesamte Bereitstellung erfolgt über Playbooks und alle wichtigen Docker-Pakete sind an die aktuelle Version gebunden.

Jetzt ist es an der Zeit, das Installationsskript zu bearbeiten. Für Sie gibt es keine schönen Fenster oder Pseudo-Benutzeroberflächen – alles erfolgt über Ihren bevorzugten Texteditor. Rein technisch gesehen gibt es zwei Möglichkeiten: Sie können jeden Befehl manuell ausführen oder sofort den Videploy-Konfigurator ausführen. Es öffnet einfach die Konfiguration in vim und beginnt beim Beenden mit der Überprüfung. Aber es ist nicht interessant, Ihr Leben absichtlich zu vereinfachen, also führen wir zwei weitere Befehle aus. Obwohl es keinen Sinn ergibt, habe ich Sie gewarnt =)

Also erstellen wir vim ECS-CommunityEdition/deploy.xml und nehmen die optimalen Mindeständerungen vor, damit ECS aktiviert wird und funktioniert. Die Liste der Parameter kann gekürzt werden, aber ich habe es so gemacht:

  • Licensed_accepted: true Sie müssen es nicht ändern, dann werden Sie bei der Bereitstellung explizit aufgefordert, es zu akzeptieren und einen netten Satz anzuzeigen. Es könnte sogar ein Osterei sein.
    Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister
  • Kommentieren Sie die Zeilen „autonames:“ und „custom:“ aus. Geben Sie mindestens einen gewünschten Namen für den Knoten ein – der Hostname wird während des Installationsvorgangs durch diesen ersetzt.
  • install_node: 192.168.1.1 Geben Sie die tatsächliche IP des Knotens an. In unserem Fall geben wir dasselbe an wie in nmtui
  • dns_domain: Geben Sie Ihre Domain ein.
  • dns_servers: Geben Sie Ihren DNS ein.
  • ntp_servers: Jeder kann angegeben werden. Ich habe den ersten aus dem Pool 0.pool.ntp.org genommen (es wurde 91.216.168.42)
  • Automatische Benennung: Benutzerdefiniert. Wenn kein Kommentar hinterlassen wird, wird der Mond Luna genannt.
  • ecs_block_devices:
    / dev / sdb
    Aus einem unbekannten Grund ist möglicherweise das Blockspeichergerät /dev/vda nicht vorhanden
  • storage_pools:
    Mitglieder:
    192.168.1.1 Auch hier geben wir die echte IP des Knotens an
  • ecs_block_devices:
    /dev/sdb Wir wiederholen den Vorgang des Ausschneidens nicht vorhandener Geräte.

Im Allgemeinen wird die gesamte Datei sehr detailliert beschrieben DokumentationAber wer wird es in einer so turbulenten Zeit lesen? Dort steht auch, dass es mindestens ausreicht, die IP und die Maske anzugeben, aber in meinem Labor startete ein solcher Satz nicht gut und ich musste ihn auf den oben angegebenen erweitern.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Nach dem Verlassen des Editors müssen Sie update_deploy /home/admin/ECS-CommunityEdition/deploy.yml ausführen. Wenn alles richtig gemacht wurde, wird dies explizit gemeldet.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Dann müssen Sie noch videploy starten, auf die Aktualisierung der Umgebung warten und können die Installation selbst mit dem Befehl ova-step1 und nach erfolgreichem Abschluss mit dem Befehl ova-step2 starten. Wichtig: Stoppen Sie Skripte nicht manuell! Manche Schritte können lange dauern, länger dauern als der erste Versuch und es sieht so aus, als wäre alles kaputt. In jedem Fall müssen Sie auf natürliche Weise auf die Fertigstellung des Skripts warten. Am Ende sollten Sie so etwas sehen.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Jetzt können wir endlich das WebUI-Kontrollfeld mit der uns bekannten IP öffnen. Wenn es in der Konfigurationsphase nicht geändert wurde, ist das Standardkonto root/ChangeMe. Sie können unseren S3-kompatiblen Speicher sogar sofort nutzen. Es ist auf den Ports 9020 für HTTP und 9021 für HTTPS verfügbar. Auch hier gilt: Wenn nichts geändert wurde, dann access_key: object_admin1 und Secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Aber lasst uns nicht überstürzen und in der richtigen Reihenfolge beginnen.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Beim ersten Login werden Sie zwangsweise aufgefordert, das Passwort in ein passendes zu ändern, was absolut korrekt ist. Das Haupt-Dashboard ist äußerst übersichtlich. Lassen Sie uns also etwas Interessanteres tun, als die offensichtlichen Kennzahlen zu erklären. Erstellen wir beispielsweise einen Benutzer, mit dem wir auf das Repository zugreifen. In der Welt der Dienstleister nennt man diese Mieter. Dies erfolgt unter Verwalten > Benutzer > Neuer Objektbenutzer

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Beim Anlegen eines Benutzers werden wir aufgefordert, einen Namensraum anzugeben. Technisch gesehen hindert uns nichts daran, sie so viele zu starten, wie es Benutzer gibt. Umgekehrt. Dadurch können Ressourcen für jeden Mandanten unabhängig verwaltet werden.

Dementsprechend wählen wir die von uns benötigten Funktionen aus und generieren Benutzerschlüssel. S3/Atmos wird mir reichen. Und vergessen Sie nicht, den Schlüssel aufzubewahren 😉

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Der Benutzer wurde erstellt. Jetzt ist es an der Zeit, dass er den Bucket auswählt. Gehen Sie zu Verwalten > Bucket und füllen Sie die erforderlichen Felder aus. Hier ist alles einfach.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Jetzt haben wir alles für einen echten Kampfeinsatz unseres S3-Speichers vorbereitet.

Veeam einrichten

Wie wir uns erinnern, ist eine der Hauptanwendungen der Objektspeicherung die langfristige Speicherung von Informationen, auf die selten zugegriffen wird. Ein ideales Beispiel ist die Notwendigkeit, Backups an einem entfernten Standort zu speichern. In Veeam Backup & Replication wird diese Funktion als Kapazitätsstufe bezeichnet.

Beginnen wir mit der Einrichtung, indem wir unser Dell ECS CE zur Veeam-Schnittstelle hinzufügen. Starten Sie auf der Registerkarte „Backup-Infrastruktur“ den Assistenten zum Hinzufügen eines neuen Repositorys und wählen Sie das Element „Objektspeicher“ aus.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Wir wählen aus, wofür alles gestartet wurde – S3-kompatibel.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Geben Sie im angezeigten Fenster den gewünschten Namen ein und gehen Sie zum Schritt Konto. Hier müssen Sie den Servicepunkt im Formular angeben https://your_IP:9021, kann die Region unverändert belassen und der erstellte Benutzer hinzugefügt werden. Ein Gate-Server ist erforderlich, wenn sich Ihr Speicher an einem entfernten Standort befindet. Dies ist jedoch bereits ein Thema der Infrastrukturoptimierung und ein separater Artikel, sodass Sie ihn hier getrost überspringen können.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Wenn alles korrekt angegeben und konfiguriert ist, erscheint eine Warnung zum Zertifikat und anschließend ein Fenster mit einem Bucket, in dem Sie einen Ordner für unsere Dateien erstellen können.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Wir übergeben den Assistenten bis zum Ende und genießen das Ergebnis.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Der nächste Schritt besteht darin, entweder ein neues Scale-out-Backup-Repository zu erstellen oder unser S3 zum bestehenden hinzuzufügen – es wird als Kapazitätsschicht für die Archivspeicherung verwendet. Die Funktion, S3-kompatible Repositories wie ein reguläres Repository direkt zu nutzen, ist im aktuellen Release nicht enthalten. Es gibt zu viele eher nicht offensichtliche Probleme, als dass dies gelöst werden könnte, aber alles kann gelöst werden.
Wir gehen in die Repository-Einstellungen und schalten die Kapazitätsstufe ein. Dort ist alles transparent, aber es gibt eine interessante Nuance: Wenn Sie möchten, dass alle Daten so schnell wie möglich an den Objektspeicher gesendet werden, setzen Sie ihn einfach auf 0 Tage.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Wenn Sie nach dem Durchlaufen des Assistenten nicht warten möchten, können Sie im Repository Strg+RMB drücken, den Tiering-Job zwangsweise ausführen und das Crawlen der Diagramme beobachten.

Objektlagerung im Hinterzimmer oder So werden Sie Ihr eigener Dienstleister

Das ist alles für den Moment. Ich denke, dass ich die Aufgabe gemeistert habe, zu zeigen, dass Blockspeicher nicht so beängstigend ist, wie gemeinhin angenommen wird. Ja, Lösungen und Optionen für die Ausführung eines Wagens und eines kleinen Trolleys, aber es ist unmöglich, alles in einem Artikel abzudecken. Teilen wir also unsere Erfahrungen in den Kommentaren.

Source: habr.com

Kommentar hinzufügen