Cosa sono gli schemi di erasure coding?
Gli schemi di erasure coding controllano il numero di frammenti di dati e il numero di frammenti di parità creati per ciascun oggetto.
Quando si configura il profilo di erasure coding per una regola ILM, si seleziona uno schema di erasure coding disponibile in base al numero di nodi e siti di storage che si intende utilizzare.
Il sistema StorageGRID utilizza l'algoritmo di erasure coding Reed-Solomon. L'algoritmo suddivide un oggetto in k
frammenti di dati e calcolo m
frammenti di parità. Il k + m = n
i frammenti sono sparsi n
Nodi di storage per la protezione dei dati. Un oggetto può sostenere fino a. m
frammenti persi o corrotti. Per recuperare o riparare un oggetto, k
sono necessari frammenti.
Quando si seleziona il pool di storage da utilizzare per una regola che crea una copia con codice di cancellazione, utilizzare le seguenti linee guida per i pool di storage:
-
Il pool di storage deve includere tre o più siti, o esattamente un sito.
Non è possibile utilizzare la codifica di cancellazione se il pool di storage include due siti. -
Non utilizzare un pool di storage che includa il sito predefinito, tutti i siti.
-
Il pool di storage deve includere almeno
k+m +1
Nodi di storage.Il numero minimo di nodi di storage richiesto è
k+m
. Tuttavia, disporre di almeno un nodo di storage aggiuntivo può contribuire a prevenire gli errori di acquisizione o i backlog ILM se un nodo di storage richiesto non è temporaneamente disponibile.
L'overhead dello storage di uno schema di erasure coding viene calcolato dividendo il numero di frammenti di parità (m
) in base al numero di frammenti di dati (k
). È possibile utilizzare l'overhead dello storage per calcolare la quantità di spazio su disco richiesta da ciascun oggetto con codifica di cancellazione:
disk space = object size + (object size * storage overhead)
Ad esempio, se si memorizza un oggetto da 10 MB utilizzando lo schema 4+2 (con un overhead dello storage del 50%), l'oggetto consuma 15 MB di storage grid. Se si memorizza lo stesso oggetto da 10 MB utilizzando lo schema 6+2 (con un overhead dello storage del 33%), l'oggetto consuma circa 13.3 MB.
Selezionare lo schema di erasure coding con il valore totale più basso di k+m
che soddisfa le tue esigenze. Gli schemi di erasure coding con un numero inferiore di frammenti sono in generale più efficienti dal punto di vista computazionale, in quanto vengono creati e distribuiti (o recuperati) meno frammenti per oggetto, possono mostrare performance migliori grazie alle maggiori dimensioni dei frammenti e possono richiedere l'aggiunta di un numero inferiore di nodi in un'espansione quando è necessario più storage. Per informazioni sulla pianificazione di un'espansione dello storage, consultare la "Istruzioni per espandere StorageGRID".)
Schemi di erasure coding per pool di storage contenenti tre o più siti
La seguente tabella descrive gli schemi di erasure coding attualmente supportati da StorageGRID per i pool di storage che includono tre o più siti. Tutti questi schemi offrono una protezione contro la perdita di sito. È possibile perdere un sito e l'oggetto sarà ancora accessibile.
Per gli schemi di erasure coding che forniscono la protezione dalla perdita di sito, il numero consigliato di nodi di storage nel pool di storage supera k+m +1
Perché ogni sito richiede un minimo di tre nodi di storage.
Schema di erasure coding (k+m) | Numero minimo di siti implementati | Numero consigliato di nodi di storage in ogni sito | Numero totale consigliato di nodi di storage | Protezione contro le perdite di sito? | Overhead dello storage |
---|---|---|---|---|---|
4+2 |
3 |
3 |
9 |
Sì |
50% |
6+2 |
4 |
3 |
12 |
Sì |
33% |
8+2 |
5 |
3 |
15 |
Sì |
25% |
6+3 |
3 |
4 |
12 |
Sì |
50% |
9+3 |
4 |
4 |
16 |
Sì |
33% |
2+1 |
3 |
3 |
9 |
Sì |
50% |
4+1 |
5 |
3 |
15 |
Sì |
25% |
6+1 |
7 |
3 |
21 |
Sì |
17% |
7+5 |
3 |
5 |
15 |
Sì |
71% |
|
StorageGRID richiede un minimo di tre nodi di storage per sito. Per utilizzare lo schema 7+5, ogni sito richiede almeno quattro nodi di storage. Si consiglia di utilizzare cinque nodi di storage per sito. |
Quando si seleziona uno schema di erasure coding che fornisce la protezione del sito, bilanciare l'importanza relativa dei seguenti fattori:
-
Numero di frammenti: Le prestazioni e la flessibilità di espansione sono generalmente migliori quando il numero totale di frammenti è inferiore.
-
Fault tolerance: La tolleranza di errore viene aumentata con più segmenti di parità (cioè, quando
m
ha un valore più elevato). -
Traffico di rete: Durante il ripristino da errori, utilizzando uno schema con più frammenti (ovvero, un totale più elevato per
k+m
) crea più traffico di rete. -
Overhead dello storage: Gli schemi con overhead più elevato richiedono più spazio di storage per oggetto.
Ad esempio, quando si decide tra uno schema 4+2 e uno schema 6+3 (entrambi con un overhead dello storage del 50%), selezionare lo schema 6+3 se è richiesta una fault tolerance aggiuntiva. Selezionare lo schema 4+2 se le risorse di rete sono limitate. Se tutti gli altri fattori sono uguali, selezionare 4+2 perché il numero totale di frammenti è inferiore.
|
In caso di dubbi sul programma da utilizzare, selezionare 4+2 o 6+3 oppure contattare il supporto tecnico. |
Schemi di erasure coding per pool di storage a sito singolo
Un pool di storage a sito singolo supporta tutti gli schemi di erasure coding definiti per tre o più siti, a condizione che il sito disponga di un numero sufficiente di nodi di storage.
Il numero minimo di nodi di storage richiesto è k+m
, ma un pool di storage con k+m +1
Si consiglia di utilizzare i nodi di storage. Ad esempio, lo schema di erasure coding 2+1 richiede un pool di storage con almeno tre nodi di storage, ma si consiglia di utilizzare quattro nodi di storage.
Schema di erasure coding (k+m) | Numero minimo di nodi di storage | Numero consigliato di nodi di storage | Overhead dello storage |
---|---|---|---|
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% |