Come recuperare un array RAID5 software danneggiato?


8

Ack, penso di aver rovinato tutto. Ho avuto un'interruzione di corrente su un array RAID5 che ha causato l'incongruenza dei metadati tra le unità.

Ho seguito il consiglio qui tranne un caso di dita grasse che mi hanno fatto eseguire il comando --create senza un parametro mancante. L'esecuzione dello script Perl che permuta attraverso le varie combinazioni non mi consente di montare un array. Ho diverse domande:

  1. Sono totalmente fregato qui, c'è qualcos'altro che posso fare? Le unità stesse sembrano andare bene. Il parametro mancante esplode ogni possibilità che ho di recuperare i miei dati?

  2. Posso comunque ottenere dei dati, ma montare le unità? Non ho familiarità con il modo in cui i dati vengono suddivisi in striping sui dischi, quindi non so se sia possibile ripristinare alcuni file.


1
Degradato significa che funziona ancora, senza ridondanza.
psusi

2
Qual è l'output di cat /proc/mdstat?
Chris Down,

2
Se nell'array sono presenti tutti i dischi tranne uno, i dati sono recuperabili. Per aiutarti, dobbiamo conoscere lo stato corrente dell'array. Qual è l'output di mdadm -D /dev/md0(sostituire md0con md255o qualunque sia il numero appropriato)? Quali sono i componenti originali dell'array, quali sono andati male?
Gilles 'SO- smetti di essere malvagio' il

Sarebbe anche utile conoscere il conteggio degli eventi di ogni disco membro. Quindi dovresti anche pubblicare l'output di mdadm -E /dev/sdXYper ogni disco membro dell'array corrispondente.
Teissler,

Non necessariamente, per RAID5 devi avere dischi N-1. Quindi, se il tuo array RAID-5 era composto da 5 dischi, devi ricostruirne 4. RAID-5 può gestire solo un disco
sparticvs,

Risposte:


2

Mi dispiace, ma hai appena riscontrato il problema molto comune noto come "buca di scrittura". In breve, non hai alcuna possibilità di recuperare l'array. Ulteriori informazioni su Wikipedia: http://it.wikipedia.org/wiki/RAID_5_write_hole

I costosi controller RAID sono dotati di batterie per evitare questo problema.

Spero che tu abbia un backup, questa è l'ultima tua possibilità.


Il buco di scrittura non corrompe l'intero array!
Totor

Proprio così, corrompe un'area (e) di dimensioni e posizione imprevedibili nell'array.
Anthony Ananich,
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.