Tolleranza di errore ed efficienza di archiviazione nei cluster Azure Stack HCI e server Windows

Si applica a: Azure Stack HCI, versioni 22H2 e 21H2; Windows Server 2022, Windows Server 2019

Questo articolo illustra le opzioni di resilienza disponibili e descrive i requisiti di scalabilità, l'efficienza di archiviazione e i vantaggi generali e i compromessi di ognuno di essi.

Panoramica

Spazi di archiviazione diretta fornisce tolleranza di errore, spesso denominata "resilienza", per i dati. L'implementazione è simile a RAID, ad eccezione del fatto che la distribuzione avviene nei server e l'implementazione nel software.

Come con RAID, ci sono diverse modalità d'uso di Spazi di archiviazione, che comportano compromessi diversi tra tolleranza di errore, efficienza di archiviazione e complessità di calcolo. In generale rientrano in due categorie: "mirroring" e "parità", quest'ultima talvolta denominata "codifica di cancellazione".

Mirroring

Il mirroring fornisce tolleranza di errore grazie alla presenza di più copie di tutti i dati. Questa opzione è analoga a RAID-1. Il modo in cui i dati vengono stripati e inseriti non è semplice (vedere questo blog per altre informazioni), ma è assolutamente vero dire che tutti i dati archiviati usando il mirroring vengono scritti, nel suo insieme, più volte. Ogni copia viene scritta in hardware fisico diverso (unità diverse in server diversi) che si presuppone che non riescano in modo indipendente.

È possibile scegliere tra due tipi di mirroring: "bidirezionale" e "a tre vie".

Mirroring a 2 vie

Il mirroring a 2 vie scrive due copie di tutti gli elementi. L'efficienza di archiviazione è del 50%: per scrivere 1 TB di dati, sono necessari almeno 2 TB di capacità di archiviazione fisica. Analogamente, sono necessari almeno due "domini di errore" hardware, con Spazi di archiviazione diretta, ovvero due server.

mirroring a 2 vie

Avviso

Se sono presenti più di due server, è consigliabile usare invece il mirroring a tre vie.

Mirroring a 3 vie

Il mirroring a 3 vie scrive tre copie di tutti gli elementi. L'efficienza di archiviazione è del 33,3% : per scrivere 1 TB di dati, sono necessari almeno 3 TB di capacità di archiviazione fisica. Analogamente, sono necessari almeno tre domini di errore hardware con Spazi di archiviazione diretta, ovvero tre server.

Il mirroring a tre vie può tollerare in modo sicuro almeno due problemi hardware (unità o server) alla volta. Ad esempio, se si riavvia un server quando improvvisamente un'altra unità o un altro server ha esito negativo, tutti i dati rimangono sicuri e accessibili in modo continuo.

mirroring a 3 vie

Parity

La codifica della parità, spesso denominata "codifica di cancellazione", fornisce la tolleranza di errore usando l'aritmetica bit per bit, che può diventare notevolmente complicata. Il funzionamento è meno ovvio rispetto al mirroring e sono disponibili numerose risorse online (ad esempio la guida di terze parti Dummies Guide to Erasure Coding) che possono aiutarti a capirlo. È sufficiente notare che questo metodo offre maggiore efficienza di archiviazione senza compromettere la tolleranza di errore.

Spazi di archiviazione offre due tipi di parità: parità "singola" e parità "duale", quest'ultima impiega una tecnica avanzata denominata "codici di ricostruzione locale" su larga scala.

Importante

È consigliabile usare il mirroring per la maggior parte dei carichi di lavoro sensibili alle prestazioni. Per altre informazioni su come bilanciare le prestazioni e la capacità a seconda del carico di lavoro, vedere Pianificare i volumi.

Parità singola

La parità singola mantiene solo un simbolo di parità bit per bit, che offre tolleranza di errore solo per un errore alla volta. Questa opzione è analoga a RAID-5. Per usare la parità singola, sono necessari almeno tre domini di errore hardware con Spazi di archiviazione diretta, ovvero tre server. Poiché il mirroring a 3 vie fornisce maggiore tolleranza di errore su scala analoga, l'uso della parità singola non è consigliabile. Ma è lì se si insiste sull'uso, ed è completamente supportato.

Avviso

È consigliabile usare una parità singola perché può tollerare in modo sicuro un errore hardware alla volta: se si riavvia un server quando improvvisamente un'altra unità o un altro server ha esito negativo, si verifica un tempo di inattività. Se hai solo tre server, ti consigliamo di usare il mirroring a 3 vie. Se hai quattro o più server, vedi la sezione successiva.

Doppia parità

La doppia parità implementa Reed-Solomon codici di correzione degli errori per mantenere due simboli di parità bit per bit, fornendo così la stessa tolleranza di errore del mirroring a tre vie (ovvero fino a due errori contemporaneamente), ma con una migliore efficienza di archiviazione. Questa opzione è analoga a RAID-6. Per usare la doppia parità, sono necessari almeno quattro domini di errore hardware con Spazi di archiviazione diretta, ovvero quattro server. In questo caso, l'efficienza di archiviazione è pari al 50%: per archiviare 2 TB di dati sono necessari 4 TB di capacità di archiviazione fisica.

doppia parità

L'efficienza di archiviazione della doppia parità aumenta il numero di domini di errore hardware presenti, dal 50% all'80%. Ad esempio, a sette (con Spazi di archiviazione diretta, ovvero sette server), l'efficienza passa al 66,7% per archiviare 4 TB di dati, è necessaria solo 6 TB di capacità di archiviazione fisica.

doppia parità estesa

Vedi la sezione Riepilogo per informazioni sull'efficienza della doppia parità e dei codici di ricostruzione locali su qualsiasi scala.

Codici di ricostruzione locali

Spazi di archiviazione introduce una tecnica avanzata sviluppata da Microsoft Research denominata "codici di ricostruzione locali" o LRC. Su ampia scala, la doppia parità usa i codici di ricostruzione locali per suddividere codifica/decodifica in alcuni gruppi più piccoli, per ridurre il sovraccarico in caso di scrittura o di ripristino dagli errori.

Con le unità disco rigido (HDD) la dimensione del gruppo è di quattro simboli, mentre con le unità SSD è di sei simboli. Ecco, ad esempio, il layout con unità disco rigido e 12 domini di errore hardware (ovvero 12 server): ci sono due gruppi di quattro simboli di dati. Ottiene un'efficienza di archiviazione del 72,7%.

codici di ricostruzione locali

È consigliabile eseguire questa procedura dettagliata, ma estremamente leggibile, del modo in cui i codici di ricostruzione locali gestiscono vari scenari di errore e perché sono accattivanti, da Claus Joergensen.

Parità accelerata con mirroring

Un volume Spazi di archiviazione diretta può essere parte del mirroring e della parità di parte. Scrive prima il terreno nella parte con mirroring e viene gradualmente spostato nella parte di parità in un secondo momento. In effetti, questo usa il mirroring per accelerare la codifica di cancellazione.

Per combinare mirroring a 3 vie e doppia parità, devi avere almeno quattro domini di errore, ovvero quattro server.

L'efficienza di archiviazione della parità accelerata con mirroring è compresa tra ciò che si ottiene dall'uso di tutto il mirror o di tutte le parità e dipende dalle proporzioni scelte. Ad esempio, la demo al contrassegno di 37 minuti di questa presentazione mostra varie combinazioni che hanno raggiunto il 46%, il 54% e l'efficienza del 65% con 12 server.

Importante

È consigliabile usare il mirroring per la maggior parte dei carichi di lavoro sensibili alle prestazioni. Per altre informazioni su come bilanciare le prestazioni e la capacità a seconda del carico di lavoro, vedere Pianificare i volumi.

Riepilogo

Questa sezione riepiloga i tipi resilienza disponibili in Spazi di archiviazione diretta, i requisiti di scala minimi per ogni tipo, il numero di errori che ogni tipo può tollerare e l'efficienza di archiviazione corrispondente.

Tipi di resilienza

Resilienza Tolleranza di errore Efficienza di archiviazione
Mirroring a 2 vie 1 50.0%
Mirroring a 3 vie 2 33,3%
Doppia parità 2 50% - 80%
Mixed 2 33,3% - 80%

Requisiti di scala minimi

Resilienza Domini di errore minimi necessari
Mirroring a 2 vie 2
Mirroring a 3 vie 3
Doppia parità 4
Mixed 4

Suggerimento

A meno che tu non usi la tolleranza di errore tramite chassis o rack, il numero di domini di errore indica il numero di server. Il numero di unità in ogni server non influisce sui tipi di resilienza che puoi usare, a patto che siano soddisfatti i requisiti minimi per Spazi di archiviazione diretta.

Efficienza della doppia parità per le distribuzioni ibride

Questa tabella mostra l'efficienza di archiviazione della doppia parità e dei codici di ricostruzione locali per distribuzioni ibride di dimensioni diverse contenenti sia unità disco rigido (HDD) che unità SSD.

Domini di errore Layout Efficienza
2
3
4 RS 2+2 50.0%
5 RS 2+2 50.0%
6 RS 2+2 50.0%
7 RS 4+2 66,7%
8 RS 4+2 66,7%
9 RS 4+2 66,7%
10 RS 4+2 66,7%
11 RS 4+2 66,7%
12 LRC (8, 2, 1) 72,7%
13 LRC (8, 2, 1) 72,7%
14 LRC (8, 2, 1) 72,7%
15 LRC (8, 2, 1) 72,7%
16 LRC (8, 2, 1) 72,7%

Efficienza della doppia parità per le distribuzioni all-flash

Questa tabella mostra l'efficienza di archiviazione della doppia parità e dei codici di ricostruzione locali per distribuzioni all-flash di dimensioni diverse contenenti solo unità SSD. Il layout con parità può usare gruppi con dimensioni maggiori e ottenere maggiore efficienza di archiviazione in una configurazione all-flash.

Domini di errore Layout Efficienza
2
3
4 RS 2+2 50.0%
5 RS 2+2 50.0%
6 RS 2+2 50.0%
7 RS 4+2 66,7%
8 RS 4+2 66,7%
9 RS 6+2 75.0%
10 RS 6+2 75.0%
11 RS 6+2 75.0%
12 RS 6+2 75.0%
13 RS 6+2 75.0%
14 RS 6+2 75.0%
15 RS 6+2 75.0%
16 LRC (12, 2, 1) 80%

Esempio

A meno che tu non abbia solo due server, ti consigliamo di usare il mirroring a 3 vie e/o la doppia parità, perché offrono una migliore tolleranza di errore. In particolare, garantiscono che tutti i dati siano sicuri e sempre accessibili, anche nel caso in cui si verifichino errori contemporaneamente in due domini di errore con Spazi di archiviazione diretta, ovvero due server.

Esempi di casi in cui tutti i componenti rimangono online

Questi sei esempi mostrano le situazioni che possono essere tollerate dal mirroring a 3 vie e/o dalla doppia parità.

  • 1. Un'unità persa (include unità cache)
  • 2. Un server perso

esempi 1 e 2 relativi alla tolleranza di errore

  • 3. Un server e un'unità persa
  • 4. Due unità perse in server diversi

esempi 3 e 4 relativi alla tolleranza di errore

  • 5. Più di due unità perse, purché al massimo due server siano interessati
  • 6. Due server persi

esempi 5 e 6 relativi alla tolleranza di errore

...in tutti i casi, tutti i volumi rimangono online. Assicurati che il cluster mantenga il quorum.

Esempi di casi in cui tutti i componenti passano offline

Nel tempo, Spazi di archiviazione può tollerare un numero qualsiasi di errori, perché ripristina la resilienza completa dopo ognuno di essi, a condizione che ci sia un tempo sufficiente per farlo. Tuttavia, in un momento specifico sono tollerati errori in un massimo di due domini di errore. Gli esempi seguenti mostrano le situazioni che non possono essere tollerate dal mirroring a 3 vie e/o dalla doppia parità.

  • 7. Perdita di unità in tre o più server contemporaneamente
  • 8. Tre o più server persi contemporaneamente

esempi 7 e 8 relativi alla tolleranza di errore

Utilizzo

Vedere Creare volumi.

Passaggi successivi

Per altre informazioni sugli argomenti menzionati in questo articolo, vedere quanto segue: