Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Überlegungen zur Lastverteilung bei Daten, die mit Erasure Coding versehen sind

Beitragende

Wenn Sie eine Erweiterung zum Hinzufügen von Storage Nodes durchführen und ILM-Regeln zum Löschen von Code-Daten verwenden, müssen Sie möglicherweise das EC-Ausgleichs-Verfahren durchführen, wenn Sie nicht genügend Storage Nodes für das von Ihnen verwendete Erasure-Coding-Schema hinzufügen können.

Führen Sie die Erweiterung durch, und fahren Sie mit fort "Ausgleich von Daten, die im Erasure Coding ausgeführt werden, nach dem Hinzufügen von Storage-Nodes" Zum Ausführen des Verfahrens.

Was ist die Neuausrichtung der EG?

Bei der EC-Ausbalancierung handelt es sich um ein StorageGRID-Verfahren, das nach einer Erweiterung des Storage-Nodes erforderlich sein kann. Das Verfahren wird als Kommandozeilenskript vom primären Admin-Knoten ausgeführt. Beim Ausführen des EC-Ausgleichs verteilt StorageGRID Fragmente, die mit Löschvorgängen codiert wurden, auf die vorhandenen und die neu hinzugefügten Storage-Nodes an einem Standort.

Das EC-Ausgleichverfahren:

  • Verschiebt nur Objektdaten, die Erasure Coding verwenden. Es werden keine replizierten Objektdaten verschoben.

  • Verteilt die Daten an einem Standort neu. Es werden keine Daten zwischen Standorten verschoben.

  • Verteilt Daten auf alle Storage-Nodes an einem Standort neu. Daten werden nicht innerhalb von Storage Volumes neu verteilt.

  • Berücksichtigt nicht die Verwendung replizierter Daten auf jedem Storage Node bei der Festlegung, wo Daten mit Erasure Coding verschoben werden sollen.

  • Verteilt Daten, die mit Erasure Coding codiert wurden, gleichmäßig zwischen Storage-Nodes, ohne die relativen Kapazitäten jedes Nodes zu berücksichtigen.

  • Die Daten, die nach einer Erasure Coded codiert wurden, werden nicht an Storage-Nodes verteilt, die zu mehr als 70 % voll sind.

  • Könnte die Performance von ILM-Vorgängen und S3- und Swift-Client-Operationen beeinträchtigen, wenn sie ausgeführt werden—zusätzliche Ressourcen sind erforderlich, um die Fragmente des Erasure-Coding neu zu verteilen.

  • Bei Systemen mit einer sehr großen Anzahl von Objekten, die zur Fehlerkorrektur codiert wurden, muss eventuell mehr als einmal ausgeführt werden. Um die Ressourcennutzung zu begrenzen, ist die maximale Anzahl der Verschiebungen für jeden Job begrenzt.

Wenn das EC-Ausgleichverfahren abgeschlossen ist:

  • Daten, die mit Erasure coded werden, werden von Storage-Nodes mit weniger verfügbarem Speicherplatz auf Storage-Nodes mit mehr verfügbarem Speicherplatz verschoben.

  • Die Datensicherung von Objekten, die mit Erasure Coding versehen sind, wird unverändert beibehalten.

  • Die verwendeten (%) Werte können zwischen den Storage-Nodes aus zwei Gründen unterschiedlich sein:

    • Replizierte Objektkopien verbrauchen weiterhin Speicherplatz auf den vorhandenen Nodes—beim EC-Ausgleichverfahren werden keine replizierten Daten verschoben.

    • Nodes mit höherer Kapazität sind relativ weniger voll als Nodes mit geringerer Kapazität, obwohl alle Nodes am Ende ungefähr das gleiche Volumen an Daten mit Erasure-Coded-Verfahren aufweisen.

      Angenommen, drei 200-TB-Nodes werden jeweils zu 80 % gefüllt (200 × 0.8 = 160 TB auf jedem Node oder 480 TB für den Standort). Wenn Sie einen 400-TB-Node hinzufügen und das Ausgleichs-Verfahren ausführen, verfügen alle Nodes nun über ungefähr die gleiche Menge an Daten aus dem Löschcode (480/4 = 120 TB). Der verwendete Wert (%) für den größeren Knoten ist jedoch kleiner als der verwendete Wert (%) für die kleineren Knoten.

    Vor der Erweiterung verwendeter Speicherplatz

Zeitpunkt für den Ausgleich von Daten, die mit Erasure Coding codiert wurden

Betrachten wir das folgende Szenario:

  • StorageGRID wird an einem Standort ausgeführt, der drei Storage-Nodes enthält.

  • Die ILM-Richtlinie verwendet eine 2+1-Regel zur Einhaltung von Datenkonsistenz für alle Objekte, die größer als 1.0 MB sind, und eine Replizierungsregel mit 2 Kopien für kleinere Objekte.

  • Alle Storage-Nodes sind vollständig voll geworden. Der Alarm Low Object Storage wurde auf dem Hauptschweregrad ausgelöst.

    Vor der Erweiterung verwendeter Speicherplatz

Eine Neuverteilung ist nicht erforderlich, wenn genügend Nodes hinzugefügt werden

Um zu verstehen, wann EC-Lastausgleich nicht erforderlich ist, nehmen wir an, Sie haben drei (oder mehr) neue Storage-Nodes hinzugefügt. In diesem Fall müssen Sie keine EC-Ausbalancierung durchführen. Die ursprünglichen Speicher-Nodes bleiben voll, aber neue Objekte verwenden nun die drei neuen Knoten für 2+1 Erasure Coding—die beiden Datenfragmente und das eine Parity Fragment können jeweils auf einem anderen Knoten gespeichert werden.

Genutzter Speicherplatz nach einer 3-Node-Erweiterung
Achtung In diesem Fall können Sie zwar das Verfahren zum Lastausgleich der EC ausführen, jedoch wird durch das Verschieben der vorhandenen Daten, die nach der Löschung codiert wurden, die Performance des Grids vorübergehend beeinträchtigt, was sich auf die Client-Operationen auswirken kann.

Eine Neuverteilung ist erforderlich, wenn nicht genügend Nodes hinzugefügt werden können

Um zu verstehen, wann EC-Lastausgleich erforderlich ist, nehmen wir an, dass Sie nur zwei Storage Nodes anstelle von drei hinzufügen können. Da für das Schema 2+1 mindestens drei Speicher-Nodes Speicherplatz verfügbar sein muss, können die leeren Knoten nicht für neue mit Löschcode codierte Daten verwendet werden.

Genutzter Speicherplatz nach Erweiterung mit 2 Nodes

Um die neuen Storage-Nodes zu verwenden, sollten Sie das EC-Neuausgleich-Verfahren ausführen. Wenn dieses Verfahren ausgeführt wird, verteilt StorageGRID vorhandene Daten und Paritätsfragmente über alle Storage Nodes am Standort. Wenn in diesem Beispiel der EC-Ausgleichvorgang abgeschlossen ist, sind alle fünf Nodes nun nur zu 60 % voll und die Objekte können auf allen Storage-Nodes weiterhin in das Erasure Coding-Schema 2+1 aufgenommen werden.

Genutzter Speicherplatz nach EC-Ausgleich

Empfehlungen für eine Neuverteilung der EG

NetApp erfordert eine Ausbalancierung anhand von EC-Vorgaben, wenn alle der folgenden Aussagen treffen:

  • Sie verwenden das Erasure Coding für Ihre Objektdaten.

  • Die Warnung Low Object Storage wurde für einen oder mehrere Storage Nodes an einem Standort ausgelöst, was darauf hinweist, dass die Knoten zu mindestens 80 % voll sind.

  • Sie können nicht genügend neue Storage-Nodes für das verwendete Erasure-Coding-Schema hinzufügen. Siehe "Erweitern Sie Storage-Kapazität für Objekte, die nach dem Erasure-Coding-Verfahren codiert wurden".

  • Während das EC-Ausgleichverfahren läuft, tolerieren Ihre S3- und Swift-Clients eine niedrigere Performance bei Schreib- und Leseoperationen.

Sie können optional das EC-Ausgleichverfahren ausführen, wenn Storage Nodes auf ähnliche Ebenen gefüllt werden sollen. Ihre S3- und Swift-Clients können eine geringere Performance für ihre Schreib- und Lesevorgänge tolerieren, während das EC-Ausgleichverfahren ausgeführt wird.

Wie EC-Ausgleichs-Verfahren mit anderen Wartungsaufgaben interagiert

Sie können bestimmte Wartungsverfahren nicht gleichzeitig durchführen, während Sie das EC-Ausgleichs-Verfahren ausführen.

Verfahren Während des EC-Ausgleichs erlaubt?

Weitere EC-Ausgleichverfahren

Nein

Sie können nur ein EC-Ausgleichverfahren gleichzeitig ausführen.

Verfahren zur Deaktivierung

EC-Datenreparaturauftrag

Nein

  • Während des EC-Ausgleichs werden Sie daran gehindert, eine Stilllegung oder eine EC-Datenreparatur zu starten.

  • Sie können den EC-Ausgleichvorgang nicht starten, während ein Ausmustern von Storage Nodes oder eine EC-Datenreparatur ausgeführt wird.

Expansionsverfahren

Nein

Wenn Sie neue Storage-Nodes in einer Erweiterung hinzufügen müssen, führen Sie nach dem Hinzufügen aller neuen Nodes das Verfahren zur EC-Neuverteilung aus.

Upgrade-Verfahren

Nein

Wenn Sie ein Upgrade der StorageGRID-Software durchführen müssen, führen Sie das Upgrade vor oder nach dem Ausführen des EC-Ausgleichs durch. Bei Bedarf können Sie den EC-Ausgleichvorgang beenden, um ein Software-Upgrade durchzuführen.

Klonvorgang für Appliance-Node

Nein

Wenn Sie einen Appliance-Storage-Node klonen müssen, führen Sie nach dem Hinzufügen des neuen Node das Verfahren zur EC-Neuverteilung aus.

Hotfix-Verfahren

Ja.

Sie können einen StorageGRID-Hotfix anwenden, während der EC-Ausgleichvorgang ausgeführt wird.

Andere Wartungsarbeiten

Nein

Sie müssen das EC-Ausgleichverfahren beenden, bevor Sie andere Wartungsverfahren durchführen.

Wechselwirkungen zwischen EC-Ausgleichsoperationen und ILM

Während des EC-Ausgleichs ausgeführt wird, vermeiden Sie ILM-Änderungen, die den Standort vorhandener Objekte, die mit Erasure-Coding-Verfahren codiert wurden, ändern könnten. Verwenden Sie beispielsweise nicht eine ILM-Regel mit einem anderen Profil für Erasure Coding. Wenn Sie solche ILM-Änderungen vornehmen müssen, sollten Sie das EC-Neuausgleich-Verfahren beenden.