Erfahren Sie mehr über EC-Rebalancing nach der Erweiterung in StorageGRID.
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 Verfahren zum Ausgleich des Erasure Coding (EC) durchführen, wenn Sie nicht genügend Storage Nodes für das von Ihnen verwendete Erasure Coding-Schema hinzufügen können.
Nachdem Sie diese Überlegungen überprüft haben, führen Sie die Erweiterung durch, und fahren Sie dann mit "Ausgleich von Daten, die im Erasure Coding ausgeführt werden, nach dem Hinzufügen von Storage-Nodes"fort, um das Verfahren auszuführen.
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.
-
Es wird versucht, die Datenbytes so zu verteilen, dass jeder Knoten über denselben nutzbaren Speicherplatz verfügt. Knoten, die mehr replizierte Daten enthalten, speichern nach Abschluss des Rebalancing möglicherweise weniger Daten mit Erasure-Coding.
-
Verteilt den nutzbaren Speicherplatz gleichmäßig auf die Storage Nodes, ohne die relativen Kapazitäten der einzelnen Nodes zu berücksichtigen. Replizierte Daten werden in die Berechnung einbezogen.
-
Das Rebalance Verfahren gilt als abgeschlossen, wenn keine weiteren erasure-coded Daten mehr verschoben werden können, selbst wenn der nutzbare Speicherplatz noch nicht gleichmäßig verteilt ist.
-
Erasure-codierte Daten werden nicht an Speicherknoten verteilt, die zu mehr als 80 % belegt sind, oder an Speicherknoten, die nur Metadaten enthalten.
-
Könnte die Performance von ILM-Vorgängen und S3-Client-Operationen beeinträchtigen, wenn sie ausgeführt wird—zusätzliche Ressourcen sind erforderlich, um die Fragmente des Erasure-Coding neu zu verteilen.
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.
-
Knoten mit höherer Kapazität könnten im Vergleich zu Knoten mit geringerer Kapazität relativ weniger ausgelastet sein, obwohl am Ende alle Knoten über ungefähr den gleichen nutzbaren Speicherplatz verfügen.
Beispielsweise sind bei einem 2+1 Erasure Coding-Schema drei 200-TB-Knoten jeweils zu 80 % belegt (200 × 0,8 = 160 TB pro Knoten, also 480 TB für den Standort). Wenn ein 400-TB-Knoten hinzugefügt und das Rebalance-Verfahren ausgeführt wird, haben alle älteren Knoten nun ungefähr die gleiche Menge an erasure-codierten Daten (106,66 TB bzw. 53 % belegt). Der neue Knoten enthält 160 TB Daten bzw. 40 % belegt. In diesem Fall ist der Wert für „Used (%)“ beim größeren Knoten geringer als der Wert für „Used (%)“ bei den kleineren Knoten. Das Rebalance-Verfahren wird abgeschlossen, bevor der nutzbare Speicherplatz ausgeglichen ist, da keine weiteren erasure-codierten Daten verschoben werden können, ohne die Einschränkungen des Erasure Coding-Schemas zu verletzen.

-
Zeitpunkt für den Ausgleich von Daten, die mit Erasure Coding codiert wurden
Das EC-Neuausgleichsverfahren verteilt vorhandene Erasure-Codierte-Daten neu, um sicherzustellen, dass Knoten nicht voll werden oder voll bleiben. Das Verfahren trägt dazu bei, dass die EC-Kodierung auf der Site fortgesetzt werden kann.
Führen Sie das Neuausgleichsverfahren aus, wenn bei der Datenverteilung auf einer Site eine besorgniserregende Verzerrung vorliegt und die Site hauptsächlich EC-Daten speichert (da replizierte Daten durch Neuausgleich nicht verschoben werden können).
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.

Ein Rebalancing ist nicht erforderlich, wenn genügend Knoten 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.

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

Um die neuen Storage Nodes nutzen zu können, sollte die EC rebalance procedure ausgeführt werden. Wenn diese Prozedur läuft, verteilt StorageGRID die vorhandenen erasure-coded Daten und Parität Fragmente neu, sodass der nutzbare Speicherplatz gleichmäßig auf alle Storage Nodes am Standort verteilt ist. In diesem Beispiel sind nach Abschluss der EC rebalance procedure alle fünf Nodes nun zu 60 % belegt, mit 40 % nutzbarem Speicherplatz, und Objekte können weiterhin im 2+1 erasure-coding Schema auf allen Storage Nodes aufgenommen werden.

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".
-
Ihre S3-Clients können eine niedrigere Performance für Schreib- und Lesevorgänge tolerieren, während der EC-Ausgleichvorgang ausgeführt wird.
Sie können optional das EC-Ausgleichverfahren ausführen, wenn Storage Nodes auf ähnliche Ebenen gefüllt werden sollen und Ihre S3-Clients eine niedrigere Performance für ihre Schreib- und Lesevorgänge tolerieren können, 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
|
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.