Come recuperare da un guasto dell'unità in una configurazione RAID 5?


15

Questa mattina un'unità non è riuscita sul nostro server di database. L'array di unità (3 dischi) è impostato in una configurazione RAID 5.

Mentre aspettiamo una sostituzione dell'unità, ci stiamo preparando per una strategia di recupero. Gli utenti continuano a lavorare sul sistema, anche se molto lentamente (non so perché ??).

Come si installa la nuova unità? I dati per questa unità verranno automaticamente ricostruiti dalla parità o c'è un altro processo che dovremmo seguire?

Modifica: questo è un controller RAID hardware. (Grazie per le risposte finora, apprezzato)


4
A proposito, il momento di decidere cosa fare se un'unità si guasta su un server critico è prima che un'unità si guidi su un server critico.
David Schwartz,

Risposte:


15

Il sistema funziona molto lentamente perché deve ricostruire i dati mancanti che comportano CPU e I / O aggiuntivi.

Se hai un disco mancante in una configurazione RAID-5 non hai una strategia di recupero . Se un altro disco si arresta , perderai i tuoi dati . Corri, non camminare, al rivenditore più vicino dal quale puoi ottenere una parte compatibile coperta dalla garanzia del produttore spedita da un corriere urgente lo stesso giorno. Se il fornitore da cui è stato acquistato l'array è già in procinto di ottenere la parte, ottenere entrambe le parti e riporre l'altra come scorta.

Se si utilizza un RAID-5 per un sistema di produzione, è consigliabile lasciare un disco di riserva nell'array come hot spare.

Aggiunto: se i registri non si trovano su un volume separato (dischi fisicamente separati), spostarli in un set separato di dischi, anche solo una singola coppia di mirroring. Questa sarà anche una vittoria delle prestazioni se il database ha un carico significativo poiché la contesa sui volumi di registro ha un effetto sproporzionatamente negativo sulle prestazioni.

Se ciò è possibile, puoi anche rendere più robusto il tuo database nel modo seguente:

  1. Chiudere il database.
  2. Eseguire il backup del database.
  3. Sposta i log in un set di dischi fisicamente separato (assicurati di riconfigurare il database in modo che sappia dove sono stati spostati i log).
  4. Riavviare il database e l'applicazione.

Se i registri sono su un volume separato, è possibile ripristinare e eseguire il roll forward dal backup se e solo se un errore del disco non compromette i registri. I registri del database devono trovarsi su un volume del disco separato per (tra gli altri) i seguenti motivi:

  • I modelli di utilizzo dei registri sono prevalentemente sequenziali, aggiungendo voci di registro alla fine del file (il file è in effetti un buffer ad anello). Ciò significa che è possibile scrivere rapidamente un numero elevato di voci di registro in quanto vi è poca attività di ricerca della testa del disco.

  • Se condividono dischi fisici con un carico di lavoro ad accesso fortemente casuale (ad es. Tabelle e indici transazionali), verranno rallentati in modo sproporzionato mentre l'attività di ricerca della testa interrompe le scritture sequenziali.

  • Avere i log su un volume separato è quasi sempre una vittoria delle prestazioni e necessita solo di una singola coppia di mirroring affinché i log supportino un carico di lavoro piuttosto pesante. Ciò significa che l'hardware per farlo è abbastanza economico, quindi c'è un piccolo costo per una grande vittoria in termini di prestazioni e affidabilità.

  • Se l'array di dati si arresta, i log non vengono persi. Se si dispone di una strategia di backup corretta, è possibile ripristinare dal backup e scorrere in avanti dai registri. Ciò significa che un intero array può scendere sul server senza essere un singolo punto di errore. Sia l'array di log che i dati devono fallire contemporaneamente per causare la perdita di dati.


Grazie per la risposta, in particolare spiegando perché il sistema funziona lentamente.
Philip Fourie,

Spot on. Vorrei anche suggerire di spegnerlo fino a quando non si installa l'unità sostitutiva. Come dice Nigel, non hai una strategia di recupero. Perdere un altro disco, perdere tutto.
Stu Thompson,

Ciao Nigel, grazie per aver dedicato del tempo e condiviso la tua esperienza. È davvero un ottimo consiglio. Riporterò più avanti l'esito del recupero.
Philip Fourie,

5

1) Backup.

In questo momento nessun dato è stato perso. Se i backup non sono aggiornati, backup ora.

2) Leggi il manuale, chiama il venditore ecc.

Diversi sistemi RAID hanno diversi passaggi per la sostituzione di un disco e, se si fa un errore, si rischia di distruggere l'intero array. Senza sapere che tipo di hardware / software RAID hai, possiamo solo indovinare i passaggi necessari.

Inoltre, le prestazioni lente sono dovute al fatto che RAID 5 in uno stato degradato (ovvero: un disco morto) ha prestazioni di lettura orribili. Quanto orribile dipende da come è memorizzata la parità e da quale disco è morto, ma la "buona" notizia è che le prestazioni lente con un disco andato sono un problema noto e non causa di panico.


4

Prima di tutto leggerei il manuale per l'hardware / software che stai usando - la sezione per il recupero degli errori :)

Dovrebbe essere una semplice questione di sostituzione del disco e ricostruzione dell'array.

Il punto più importante in questi casi è che il disco deve essere sostituito al più presto poiché, se un altro disco si guasta, probabilmente si perderanno i dati. Inoltre dovresti affrontare la causa dell'errore - è stato perché il disco stava invecchiando? Dovresti sostituire anche gli altri? O era a causa di un aumento di potenza, calore o vibrazioni?


1
probabilmente perdere dati? Sicuramente perdiamo tutti i dati sull'array! Vai in prigione, non superare Vai. (backup a parte, ovviamente.)
Stu Thompson,

1

Per quanto ne so RAID5, quando si sostituisce l'unità guasta, viene automaticamente ricostruita, dalle informazioni memorizzate sulle altre due. La possibilità di "hot-swap" della nuova unità in posizione dipende dal sistema in uso, potrebbe essere necessario spegnere prima. Ad ogni modo, considerando il costo relativamente basso delle unità e l'importanza dei tuoi dati (rispecchiata in primo luogo dalla tua decisione di utilizzare RAID5), dovresti davvero avere un disco di riserva, seduto in un cassetto, pronto per tale eventualità .

Di recente ho creato un nuovo PC di sviluppo per me stesso e impostato le principali unità dati sotto RAID5. Ho ordinato un disco in più del necessario, in modo da avere la scorta pronta per quel momento di emergenza (che spero non accada)

Ora che hai posto la domanda, suppongo che dovrei leggere un po 'di più sull'argomento.


Per piccoli volumi di dati una coppia con mirroring è migliore in quanto in genere ha una migliore velocità di accesso sequenziale rispetto a un piccolo RAID-5. Se vuoi hot-swap, guarda alcuni dei sistemi di hot-swap bay in un posto come scsi4me.com
ConcernedOfTunbridgeWells,

0

Totalmente dipendente dal sistema. Cosa dicono i manuali? Il tuo hardware supporta completamente il hotplugging di nuove unità dal controller al vano unità? Hai backup recenti?


0

Il post di NXC lo riassume bene. Nel caso in cui non si sostituisca l'unità guasta prima che si verifichi un secondo guasto, ci sono ancora buone probabilità di recuperare quasi tutto (a volte tutto) da un servizio di recupero specializzato. I dati sono ancora presenti sui dischi e il disco guasto può essere riportato in vita in un laboratorio specializzato con attrezzatura adeguata. Tuttavia, il prezzo per questo servizio è piuttosto elevato. Avere un disco di riserva e backup adeguati (come suggerito da NXC) è sicuramente la strada da percorrere in futuro.

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.