Tolleranza di errore ed efficienza di archiviazione in Spazi di archiviazione diretta

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016

Questo argomento presenta le opzioni di resilienza disponibili in Spazi di archiviazione diretta e descrive i requisiti di scalabilità, l'efficienza di archiviazione, nonché i compromessi e i vantaggi generali di ogni soluzione. Fornisce anche alcune istruzioni di base, nonché riferimenti a interessanti documenti, blog e contenuti aggiuntivi per ottenere altre informazioni.

Se conosci già Spazi di archiviazione, puoi passare alla sezione Riepilogo.

Panoramica

Il suo Spazi di archiviazione riguarda la tolleranza di errore, spesso definita "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. Questi rientrano in due categorie: "mirroring" e "parità", quest'ultima chiamata talvolta "cancellazione del codice".

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 che tutti i dati archiviati usando il mirroring vengono scritti, nella sua interezza, più volte. Ogni copia viene scritta in hardware fisico diverso (unità diverse in server diversi) che si presuppone non riescano in modo indipendente.

In Windows Server 2016, Spazi di archiviazione due tipi di mirroring: "bidirezione" e "a tre vie".

Mirroring a 2 vie

Il mirroring a 2 vie scrive due copie di tutti gli elementi. L'efficienza di archiviazione è pari al 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 Direct, ovvero due server.

mirroring a 2 vie

Avviso

Se si dispone di più di due server, è consigliabile usare invece l'errore tridimensionale.

Mirroring a 3 vie

Il mirroring a 3 vie scrive tre copie di tutti gli elementi. L'efficienza di archiviazione è pari al 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 si verifica un errore di un'altra unità o server, tutti i dati rimangono sicuri e accessibili continuamente.

mirroring a 3 vie

Parity

La codifica di parità, spesso denominata "codifica di cancellazione", fornisce la tolleranza di errore usando l'aritmetica bit per bit, che può essere 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.

In Windows Server 2016, Spazi di archiviazione offre due tipi di parità: la parità "singola" e la parità "doppia", quest'ultima che usa una tecnica avanzata denominata "codici di ricostruzione locale" su scale più grandi.

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 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 è disponibile se si insistono sull'uso ed è completamente supportato.

Avviso

È sconsigliabile usare la parità singola perché può tollerare in modo sicuro solo un errore hardware alla volta: se si riavvia un server quando improvvisamente si verifica un errore di un'altra unità o server, si verificano tempi 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 in tal modo la stessa tolleranza di errore del mirroring a tre vie (ad esempio 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 con l'aumentare del numero di domini di errore hardware, dal 50% fino all'80%. Ad esempio, con sette domini di errore (con Spazi di archiviazione diretta, ovvero sette server) l'efficienza passa al 66,7%: per archiviare 4 TB di dati sono sufficienti 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 in Windows Server 2016 introduce una tecnica avanzata sviluppata da Microsoft Research denominata "codici di ricostruzione locale", 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. L'efficienza di archiviazione ottenuta è del 72,7%.

codici di ricostruzione locali

È consigliabile usare questa procedura approfondita ma estremamente leggibile per illustrare come i codici di ricostruzione locali gestiscono i vari scenari di errore e perché sono accattivanti, dal nostro molto personale Dio Joergensen.

Parità accelerata con mirroring

A partire Windows Server 2016, un volume Spazi di archiviazione direct può essere parte del mirror e della parità delle parti. Le scritture vengono spostate per prime nella parte con mirroring e vengono gradualmente spostate nella parte di parità in un secondo momento. In effetti, si usa il mirroring per accelerare la cancellazione del codice.

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à con accelerazione mirror è compresa tra ciò che si ottiene usando tutti i mirror o tutte le parità e dipende dalle proporzioni che si scelgono. La demo di questa presentazione, in corrispondenza del minuto 37, mostra ad esempio diverse combinazioni per ottenere un'efficienza pari al 46%, 54% e 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 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%

Esempi

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. Perdita di un'unità (incluse unità cache)
  • 2. Perdita di un server

esempi 1 e 2 relativi alla tolleranza di errore

  • 3. Perdita di un server e un'unità
  • 4. Perdita di due unità in server diversi

esempi 3 e 4 relativi alla tolleranza di errore

  • 5. Perdita di più di due unità, con un massimo di due server interessati
  • 6. Perdita di due server

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

Uso

Vedere Creazione di volumi in Spazi di archiviazione Direct.

Riferimenti aggiuntivi

Ognuno dei link seguenti è presente anche nel corpo di questo argomento.