Con quale frequenza devo cancellare il mio RAID?


13

In generale, vorrei sapere con quale frequenza è necessario pulire un array RAID. Cosa contribuisce alla necessità di cancellare più spesso (lettura dei dati?, Scrittura dei dati?, Arresti imprevisti?, Età dell'unità?, Dimensione dell'unità?, Numero di utenti? Ecc.)?

Ho letto la wiki di Arch qui e tutto ciò che dice davvero è che il lavaggio dovrebbe essere fatto regolarmente. Mi stavo solo chiedendo quanto sia abbastanza regolare. Ovviamente dipenderà, ma qual è un intervallo ragionevole? Annuale? Mensile? Settimanalmente? Quotidiano? Grazie mille per qualsiasi informazione


1
Quanto è grande il tuo array? Quanto tempo richiede uno scrub dell'array? Le matrici più grandi possono richiedere ore o giorni per uno scrub completo. Ovviamente non puoi scrub più frequentemente di quanto ci vuole per completare un singolo scrub. Il pacchetto Debian include uno script cron che viene eseguito la prima domenica di ogni mese.
Zoredache,


@Zoredache: questo è esattamente il tipo di cose che stavo cercando. Dal momento che array più grandi richiedono più tempo, ciò ridurrebbe la frequenza con cui dovresti scrub? Aumentare il numero di utenti aumenterebbe quella frequenza? Devi scrub se non stai davvero scrivendo molti nuovi dati?
sig.

Software RAID? RAID hardware? ZFS?
ewwhite,

Risposte:


15

La frequenza con cui eseguire la scansione dipende da molte cose.

  • Età dei dischi. Più sono vecchi, più è probabile che contengano il male .
  • La qualità originale dei dischi in questione. Le cose vendute come 'impresa' hanno più probabilità di durare senza errori, e i dischi di dimensioni 1 + TB del 2014 sono molto più affidabili rispetto ai loro equivalenti del 2009 quando sono stati spediti.
  • Quanto è sensibile il tuo I / O di produzione all'I / O di lavaggio.
  • Quanto del tuo set di dati consideri il tuo set di lavoro.

I fornitori di hardware RAID spesso includono un processo di pulizia in background proprio per questo motivo, alcuni addirittura consentono di ottimizzare la priorità di I / O del processo di pulizia che consente di evitare (o ridurre notevolmente) la penalità di I / O di produzione per una pulizia. Naturalmente, se la tua priorità è bassa e il tuo I / O prod esegue i dischi per lo più in piano, probabilmente non completerai mai uno scrub e non lo noterai nemmeno fino a quando non ottieni un errore.

Sfortunatamente, non so se il kernel Linux deprioritizza l'I / O scrubbing o meno. Ad ogni modo, è una buona idea testarlo con i tuoi carichi di prod per accertarti che qualsiasi risultato positivo sia accettabile. Se è accettabile, bene! In caso contrario, puoi scegliere se aggiungere o meno i mandrini per consentire scrub + prod I / O o semplicemente accettare il rischio di possibili guasti dell'array lungo la strada.

Un'altra cosa che influisce sulla frequenza di lavaggio è il modello di utilizzo I / O. Se i carichi di produzione colpiscono solo una minoranza dei dischi, l'unico I / O che normalmente troverebbe un blocco errato nella parte inattiva sarebbe il tuo scrub; in quel caso vuoi strofinare più spesso. Se i carichi di produzione leggono regolarmente l'intero set di dischi (come i backup completi giornalieri), gli I / O di produzione si imbatteranno in problemi più presto e potrai scrub meno spesso.

Un buon piano d'azione sarebbe:

  1. Esegui alcuni test per vedere se il lavaggio ostacolerà la produzione.
    1. Scopri quanto tempo impiega uno scrub completo mentre ci sei.
  2. Scopri quale percentuale del tuo set di dischi otterrà più accessi in una determinata settimana (includi l'eventuale I / O di backup in questo calcolo).
  3. In base a 1 e 2 decidi se sei nel campo meno spesso o più spesso.

Una volta che hai quei dati ...

  • Se una scansione completa richiede meno di un giorno e non influisce in modo evidente sulla produzione, puoi andare spesso una volta alla settimana.
  • Se una scansione completa richiede meno di un giorno e influisce sulla produzione, capire quale parte della settimana / del mese è meno interessata e provare a eseguirla.
  • Se una scansione completa dura più di un giorno ma meno di una settimana e non influisce sulla produzione, eseguirla ogni due settimane o una volta ogni due mesi.
  • Se una scansione completa dura più di un giorno ma meno di una settimana e influisce sulla produzione, prendere in considerazione l'aggiunta di risorse per consentirne l'esecuzione, richiedere l'esecuzione di scansioni durante le finestre di manutenzione ordinata o sfruttare la capacità di inattività / controllo dello scrubbing da fare si adatta e si avvia continuamente.
  • Se una scansione completa dura più di una settimana, una volta al mese è spesso sufficiente. Ma se influisce sulla produzione, sarà necessario aggiungere risorse per consentirne il completamento.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.