Erfahren Sie mehr über Erasure-Coding-Schemata in StorageGRID
Erasure-Coding-Verfahren steuern, wie viele Datenfragmente und wie viele Paritätsfragmente für jedes Objekt erzeugt werden.
Beim Erstellen oder Bearbeiten einer ILM-Regel wird ein verfügbares Erasure-Codierungsschema ausgewählt. StorageGRID erstellt automatisch Erasure-Codierungsschemata basierend darauf, wie viele Storage Nodes und Standorte den Speicherpool bilden, den Sie verwenden möchten.
Datenschutz
Das StorageGRID System verwendet den Reed-Solomon-Algorithmus. Der Algorithmus zerlegt ein Objekt in `k`Datenfragmente und berechnet `m`Paritätsfragmente.
Die `k + m = n`Fragmente werden auf `n`Storage Nodes verteilt, um den Datenschutz wie folgt zu gewährleisten:
-
Um ein Objekt wiederherzustellen oder zu reparieren,
kwerden Fragmente benötigt. -
Ein Objekt kann bis zu
mverlorene oder beschädigte Fragmente verkraften. Je höher der Wert vonm, desto höher ist die Fehlertoleranz.
Den besten Datenschutz bietet das Erasure-Codierungsverfahren mit der höchsten Fehlertoleranz gegenüber Knoten oder Volumes innerhalb eines Speicherpools.
Storage-Overhead
Der Speicherbedarf eines Erasure-Coding-Verfahrens wird berechnet, indem die Anzahl der Paritätsfragmente (m durch die Anzahl der Datenfragmente (k geteilt wird. Mit dem Speicherbedarf lässt sich berechnen, wie viel Speicherplatz jedes Erasure-Coding-Objekt benötigt:
disk space = object size + (object size * storage overhead)
Wenn Sie beispielsweise ein 10 MB großes Objekt im 4+2-Schema speichern (das einen Storage-Overhead von 50 % aufweist), belegt das Objekt 15 MB Grid-Storage. Wenn Sie dasselbe 10 MB große Objekt im 6+2-Schema speichern (das einen Storage-Overhead von 33 % aufweist), belegt es etwa 13,3 MB.
Wählen Sie das Löschcodierungsverfahren mit dem niedrigsten Gesamtwert von k+m, das Ihren Anforderungen entspricht. Löschcodierungsverfahren mit einer geringeren Anzahl von Fragmenten sind recheneffizienter, weil:
-
Es werden weniger Fragmente pro Objekt erzeugt und verteilt (oder abgerufen)
-
Sie zeigen eine bessere Leistung, weil die Fragmentgröße größer ist
-
Sie können weniger Knoten in einem "Erweiterung, wenn mehr Speicherplatz benötigt wird" hinzufügen müssen
Richtlinien für Storage Pools
Bei der Auswahl des Speicherpools für eine Regel, die eine mit Erasure Coding erstellte Kopie erzeugt, gelten die folgenden Richtlinien für Speicherpools:
-
Der Speicherpool muss drei oder mehr Standorte oder genau einen Standort umfassen.
Erasure Coding kann nicht verwendet werden, wenn der Speicherpool zwei Standorte umfasst. -
Keinen Speicherpool verwenden, der den Standort „All Sites“ enthält.
-
Der Speicherpool sollte mindestens
k+m +1Storage Nodes enthalten, die Objektdaten speichern können.Speicherknoten können während der Installation so konfiguriert werden, dass sie Objektdaten und Metadaten („kombinierter“ Speicherknoten), nur Objektmetadaten oder nur Objektdaten enthalten. Weitere Informationen sind unter "Arten von Speicherknoten" zu finden. Die Mindestanzahl der erforderlichen Storage Nodes beträgt
k+m. Allerdings kann mindestens ein zusätzlicher Storage Node dazu beitragen, Ingest-Fehler oder ILM-Rückstände zu vermeiden, falls ein erforderlicher Storage Node vorübergehend nicht verfügbar ist.
Löschcodierungsverfahren für Speicherpools mit drei oder mehr Standorten
Die folgende Tabelle beschreibt die von StorageGRID derzeit unterstützten Erasure-Coding-Verfahren für Speicherpools, die drei oder mehr Standorte umfassen. Alle diese Verfahren bieten Schutz vor Standortverlust. Ein Standort kann ausfallen, und das Objekt bleibt weiterhin zugänglich.
Bei Erasure-Codierungsverfahren, die einen Schutz vor Standortverlust bieten, ist die empfohlene Anzahl von Storage Nodes im Speicherpool größer k+m +1, da jeder Standort mindestens drei Storage Nodes benötigt.
| Erasure-Coding-Schema (k+m) | Mindestanzahl der eingesetzten Standorte | Empfohlene Anzahl von Storage Nodes an jedem Standort | Empfohlene Gesamtzahl der Storage Nodes | Schutz vor Standortverlust? | Storage-Overhead |
|---|---|---|---|---|---|
4+2 |
3 |
3 |
9 |
Ja |
50% |
6+2 |
4 |
3 |
12 |
Ja |
33% |
8+2 |
5 |
3 |
15 |
Ja |
25% |
6+3 |
3 |
4 |
12 |
Ja |
50% |
9+3 |
4 |
4 |
16 |
Ja |
33% |
2+1 |
3 |
3 |
9 |
Ja |
50% |
4+1 |
5 |
3 |
15 |
Ja |
25% |
6+1 |
7 |
3 |
21 |
Ja |
17% |
7+5 |
3 |
5 |
15 |
Ja |
71% |
|
|
StorageGRID benötigt mindestens drei Storage-Nodes pro Standort. Für das 7+5-Schema sind mindestens vier Storage-Nodes pro Standort erforderlich. Die Verwendung von fünf Storage-Nodes pro Standort wird empfohlen. |
Bei der Auswahl eines Löschcodierungsverfahrens, das den Schutz von Standorten bietet, ist die relative Bedeutung der folgenden Faktoren abzuwägen:
-
Anzahl der Fragmente: Leistung und Erweiterungsflexibilität sind im Allgemeinen besser, wenn die Gesamtzahl der Fragmente geringer ist.
-
Fehlertoleranz: Die Fehlertoleranz wird durch eine höhere Anzahl an Paritätssegmenten erhöht (das heißt, wenn
meinen höheren Wert hat.) -
Netzwerkverkehr: Bei der Wiederherstellung nach Ausfällen führt die Verwendung eines Schemas mit mehr Fragmenten (d. h. einer höheren Gesamtzahl für
k+m) zu mehr Netzwerkverkehr. -
Speicheraufwand: Schemata mit höherem Aufwand erfordern mehr Speicherplatz pro Objekt.
Bei der Entscheidung zwischen einem 4+2 Schema und einem 6+3 Schema (beide mit 50 % Speicher-Overhead) sollte das 6+3 Schema gewählt werden, wenn zusätzliche Fehlertoleranz erforderlich ist. Das 4+2 Schema ist zu wählen, wenn Netzwerkressourcen eingeschränkt sind. Wenn alle anderen Faktoren gleich sind, ist das 4+2 Schema vorzuziehen, da es eine geringere Gesamtanzahl an Fragmenten aufweist.
|
|
Wenn nicht klar ist, welches Schema verwendet werden soll, empfiehlt sich die Auswahl von 4+2 oder 6+3 oder die Kontaktaufnahme mit dem technischen Support. |
Löschcodierungsverfahren für Speicherpools an einem Standort
Ein Speicherpool an einem einzigen Standort unterstützt alle für drei oder mehr Standorte definierten Erasure-Codierungsverfahren, vorausgesetzt, der Standort verfügt über genügend Storage Nodes.
Die Mindestanzahl an Storage Nodes beträgt k+m, aber ein Storage-Pool mit k+m +1 Storage Nodes wird empfohlen. Zum Beispiel erfordert das 2+1 Erasure-Coding-Schema einen Storage-Pool mit mindestens drei Storage Nodes, aber vier Storage Nodes werden empfohlen.
| Erasure-Coding-Schema (k+m) | Mindestanzahl an Speicherknoten | Empfohlene Anzahl von Storage Nodes | Storage-Overhead |
|---|---|---|---|
4+2 |
6 |
7 |
50% |
6+2 |
8 |
9 |
33% |
8+2 |
10 |
11 |
25% |
6+3 |
9 |
10 |
50% |
9+3 |
12 |
13 |
33% |
2+1 |
3 |
4 |
50% |
4+1 |
5 |
6 |
25% |
6+1 |
7 |
8 |
17% |
7+5 |
12 |
13 |
71% |