Scopri il ribilanciamento dell'EC dopo l'espansione in StorageGRID
Se stai eseguendo un'espansione per aggiungere Storage Node e usi regole ILM per sottoporre a erasure coding i dati, potresti dover eseguire la procedura di rebalance dell'erasure coding (EC) se non puoi aggiungere abbastanza Storage Node per lo schema di erasure coding che stai usando.
Dopo aver esaminato queste considerazioni, esegui l'espansione e poi vai su "Ribilancia i dati codificati con cancellazione dopo l'aggiunta dei nodi di storage" per eseguire la procedura.
Che cos'è il riequilibrio EC?
Il ribilanciamento EC è una procedura di StorageGRID che potrebbe essere necessaria dopo l'espansione di un nodo di archiviazione. La procedura viene eseguita come script da riga di comando dal nodo di amministrazione primario. Quando esegui la procedura di ribilanciamento EC, StorageGRID ridistribuisce i frammenti sottoposti a erasure coding tra i nodi di archiviazione esistenti e quelli appena aggiunti in un sito.
La procedura di ribilanciamento della EC:
-
Sposta solo i dati degli oggetti sottoposti a erasure coding. Non sposta i dati degli oggetti replicati.
-
Ridistribuisce i dati all'interno di un sito. Non sposta i dati tra siti.
-
Ridistribuisce i dati tra tutti i nodi di archiviazione di un sito. Non ridistribuisce i dati all'interno dei volumi di archiviazione.
-
Tenta di distribuire lo stesso numero di byte a ciascun nodo. I nodi che contengono più dati replicati memorizzeranno meno dati sottoposti a erasure coding dopo il completamento del ribilanciamento.
-
Ridistribuisce i dati sottoposti a erasure coding in modo uniforme tra i nodi di archiviazione senza considerare le capacità relative di ciascun nodo. I dati replicati sono inclusi nel calcolo.
-
Non distribuisce i dati codificati con cancellazione ai nodi di archiviazione che sono pieni per oltre l'80%.
-
Potrebbe ridurre le prestazioni delle operazioni ILM e delle operazioni client S3 quando è in esecuzione—sono necessarie risorse aggiuntive per ridistribuire i frammenti di erasure-coding.
Al termine della procedura di ribilanciamento di EC:
-
I dati sottoposti a erasure coding saranno stati spostati dai nodi di archiviazione con meno spazio disponibile ai nodi di archiviazione con più spazio disponibile.
-
La protezione dei dati degli oggetti sottoposti a erasure coding rimarrà invariata.
-
I valori usati (%) potrebbero essere diversi tra i nodi di archiviazione per due motivi:
-
Le copie degli oggetti replicati continueranno a occupare spazio sui nodi esistenti—la procedura di ribilanciamento dell'EC non sposta i dati replicati.
-
I nodi con maggiore capacità saranno relativamente meno pieni rispetto ai nodi con minore capacità, anche se tutti i nodi finiranno per contenere circa la stessa quantità di dati.
Ad esempio, supponi che tre nodi da 200 TB siano riempiti all'80% ciascuno (200 × 0,8 = 160 TB su ciascun nodo, ovvero 480 TB per il sito). Se aggiungi un nodo da 400 TB e esegui la procedura di ribilanciamento, tutti i nodi avranno ora approssimativamente la stessa quantità di dati sottoposti a erasure coding (480/4 = 120 TB). Tuttavia, la percentuale di spazio utilizzato (%) per il nodo più grande sarà inferiore rispetto alla percentuale di spazio utilizzato (%) per i nodi più piccoli.

-
Quando ribilanciare i dati sottoposti a erasure coding
La procedura di ribilanciamento EC ridistribuisce i dati esistenti sottoposti a erasure coding per garantire che i nodi non si riempiano o rimangano pieni. La procedura aiuta a garantire che la codifica EC possa continuare sul sito.
Esegui la procedura di ribilanciamento quando c'è uno squilibrio preoccupante nella distribuzione dei dati su un sito e il sito memorizza principalmente dati EC (dato che i dati replicati non possono essere spostati tramite ribilanciamento).
Considera il seguente scenario:
-
StorageGRID è in esecuzione presso un'unica sede, che contiene tre nodi di archiviazione.
-
La policy ILM utilizza una regola di erasure coding 2+1 per tutti gli oggetti più grandi di 1,0 MB e una regola di replica a 2 copie per gli oggetti più piccoli.
-
Tutti i nodi di storage sono diventati completamente pieni. L'avviso Low Object Storage è stato attivato al livello di gravità Major.

Il ribilanciamento non è necessario se aggiungi nodi a sufficienza
Per capire quando non è necessario eseguire il ribilanciamento EC, supponi di aver aggiunto tre (o più) nuovi Storage Node. In questo caso, non devi eseguire il ribilanciamento EC. I Storage Node originali rimarranno pieni, ma i nuovi oggetti ora utilizzeranno i tre nuovi nodi per il 2+1 erasure coding: i due frammenti di dati e il frammento di parità possono essere memorizzati ciascuno su un nodo diverso.

|
|
Sebbene in questo caso tu possa eseguire la procedura di ribilanciamento EC, lo spostamento dei dati con codifica di cancellazione esistenti ridurrà temporaneamente le prestazioni della grid, il che potrebbe influire sulle operazioni dei client. |
È necessario un ribilanciamento se non puoi aggiungere nodi a sufficienza
Per capire quando è necessario un ribilanciamento EC, supponi di poter aggiungere solo due Storage Node invece di tre. Poiché lo schema 2+1 richiede che almeno tre Storage Node abbiano spazio disponibile, i nodi vuoti non possono essere utilizzati per nuovi dati sottoposti a erasure coding.

Per utilizzare i nuovi Storage Node, dovresti eseguire la procedura di EC rebalance. Quando questa procedura viene eseguita, StorageGRID ridistribuisce i dati e i frammenti di parità sottoposti a erasure coding esistenti tra tutti i Storage Node del sito. In questo esempio, quando la procedura di EC rebalance è completata, tutti e cinque i nodi sono ora pieni solo al 60% e gli oggetti possono continuare a essere inseriti nello schema di erasure coding 2+1 su tutti i Storage Node.

Raccomandazioni per il riequilibrio EC
NetApp richiede il riequilibrio EC se tutte le seguenti affermazioni sono vere:
-
Utilizzi la codifica di cancellazione per i dati degli oggetti.
-
L'avviso Spazio di archiviazione oggetti insufficiente è stato attivato per uno o più nodi di archiviazione in un sito, indicando che i nodi sono pieni all'80% o più.
-
Non puoi aggiungere un numero sufficiente di nuovi Storage Node per lo schema di erasure-coding in uso. Vedi "Aggiungi capacità di archiviazione per oggetti codificati a cancellazione".
-
I tuoi client S3 possono tollerare prestazioni inferiori per le operazioni di scrittura e lettura mentre è in corso la procedura di ribilanciamento EC.
Puoi eseguire facoltativamente la procedura di ribilanciamento EC se preferisci che i nodi di archiviazione vengano riempiti a livelli simili e i tuoi client S3 possono tollerare prestazioni inferiori per le operazioni di scrittura e lettura mentre la procedura di ribilanciamento EC è in esecuzione.
Come la procedura di ribilanciamento EC interagisce con altre attività di manutenzione
Non puoi eseguire alcune procedure di manutenzione mentre stai eseguendo la procedura di ribilanciamento EC.
| Procedura | Consentito durante la procedura di ribilanciamento dell'EC? |
|---|---|
Procedure aggiuntive di ribilanciamento dell'EC |
No. Puoi eseguire una sola procedura di ribilanciamento EC alla volta. |
Procedura di decommission Lavoro di riparazione dati EC |
No.
|
Procedura di espansione |
No. Se devi aggiungere nuovi nodi di archiviazione in un'espansione, esegui la procedura di ribilanciamento EC dopo aver aggiunto tutti i nuovi nodi. |
Procedura di aggiornamento |
No. Se devi aggiornare il software StorageGRID, esegui la procedura di aggiornamento prima o dopo aver eseguito la procedura di ribilanciamento EC. Se necessario, puoi interrompere la procedura di ribilanciamento EC per eseguire un aggiornamento del software. |
Procedura di clonazione del nodo dell'appliance |
No. Se devi clonare un nodo di archiviazione appliance Storage Node, esegui la procedura di ribilanciamento EC dopo aver aggiunto il nuovo nodo. |
Procedura di hotfix |
Sì. Puoi applicare un hotfix StorageGRID mentre è in corso la procedura di ribilanciamento EC. |
Altre procedure di manutenzione |
No. Devi terminare la procedura di ribilanciamento EC prima di eseguire altre procedure di manutenzione. |
Come la procedura di riequilibrio EC interagisce con ILM
Durante l'esecuzione della procedura di ribilanciamento EC, evita di apportare modifiche a ILM che potrebbero cambiare la posizione degli oggetti esistenti sottoposti a erasure coding. Ad esempio, non iniziare a usare una regola ILM che ha un profilo di erasure coding diverso. Se hai bisogno di fare queste modifiche a ILM, dovresti terminare la procedura di ribilanciamento EC.