Ripristino LVM con un disco guasto


0

Ho un setup LVM su Debian 7.8 con kernel 3.2.65-1 + deb7u1 con OpenMediaVault

LV è composto da 4 dischi

Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
Disk /dev/sdc: 2000.4 GB, 2000398934016 bytes
Disk /dev/sdd: 2000.4 GB, 2000398934016 bytes
Disk /dev/sde: 1500.3 GB, 1500301910016 bytes

A partire da ieri sera, l'accesso alle azioni situate sul LV ha iniziato a rallentare, quando finalmente le azioni sono diventate totalmente non rispondenti.

Syslog mostra ripetutamente il seguente messaggio

ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata3.00: BMDMA stat 0x45
ata3.00: failed command: READ DMA
ata3.00: cmd c8/00:80:80:01:00/00:00:00:00:00/e0 tag 0 dma 65536 in
         res 51/40:6f:85:01:00/00:00:4b:00:00/e0 Emask 0x9 (media error)
ata3.00: status: { DRDY ERR }
ata3.00: error: { UNC }
ata3.00: configured for UDMA/133
ata3.01: configured for UDMA/133
ata3: EH complete 

Anche Smartd sta segnalando

Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], SMART Usage Attribute: 193 Load_Cycle_Count changed from 23 to 22
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], SMART Usage Attribute: 7 Seek_Error_Rate changed from 100 to 200
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], SMART Usage Attribute: 7 Seek_Error_Rate changed from 200 to 100
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], SMART Usage Attribute: 193 Load_Cycle_Count changed from 22 to 21
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], SMART Usage Attribute: 7 Seek_Error_Rate changed from 100 to 200
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], SMART Usage Attribute: 193 Load_Cycle_Count changed from 21 to 20
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], 1 Currently unreadable (pending) sectors
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], 689 Currently unreadable (pending) sectors (changed +688)
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], SMART Usage Attribute: 197 Current_Pending_Sector changed from 200 to 198
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], 1416 Currently unreadable (pending) sectors (changed +727)
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], SMART Usage Attribute: 197 Current_Pending_Sector changed from 198 to 195
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], 1465 Currently unreadable (pending) sectors (changed +49)
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], 1465 Currently unreadable (pending) sectors
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], 1465 Currently unreadable (pending) sectors
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], 1465 Currently unreadable (pending) sectors
Device: /dev/disk/by-id/wwn-0x50014ee2af284bdd [SAT], ATA error count increased from 0 to 84

Ho rintracciato che /dev/sdeè il disco problematico e non riesco più a far funzionare LVM perché si blocca.

Dovrei avere abbastanza spazio libero su sdb, sdce sddper rimuovere sdema qualsiasi comando come pvmoveappendere semplicemente quando si tenta di leggere sde.

Qualche suggerimento o il mio volume è brindisi?

Grazie!

# pvs
  PV         VG      Fmt  Attr PSize PFree
  /dev/sdb   storage lvm2 a--  3.64t    0
  /dev/sdc   storage lvm2 a--  1.82t    0
  /dev/sdd   storage lvm2 a--  1.82t    0
  /dev/sde   storage lvm2 a--  1.36t    0

# vgs
  VG      #PV #LV #SN Attr   VSize VFree
  storage   4   1   0 wz--n- 8.64t    0

# lvs
  LV      VG      Attr     LSize Pool Origin Data%  Move Log Copy%  Convert
  storage storage -wi----- 8.64t

2
È morto, Jim. Vai ai tuoi backup ... e metti insieme un array più sano di dischi.
Michael Hampton,

Abbiamo bisogno dell'output di pvs, vgs, lvs.
Avery Payne,

Haha, sì, immaginavo che fosse morto. I dati non sono critici, solo film ecc. Che ho raccolto, mi concentravo più sullo spazio che sulla ridondanza. pvs, vgs and lvs aggiunti alla domanda

@ avery-payne pvs, vgs and lvs aggiunti alla domanda
CJSewell,

Probabilmente perderai comunque dei dati, ma "solo perché" potrei provare a ottenere un altro disco, quindi eseguire ddrescue su / dev / sde - quindi, dopo tutto il tempo necessario, sostituire il vecchio con il nuovo disco. È probabile che il volume non risponda perché le letture sono estremamente lente a causa dei retrys - ovviamente, a seconda di quanto il tuo disco stia morendo, questo potrebbe o meno restituirti la maggior parte dei tuoi dati.
davidgo,

Risposte:


2

Quindi dopo una settimana di ddrescue e circa un giorno di e2fsck ho tutto ciò che è stato ripristinato. Sembra che la maggior parte dei dati sia presente e non corrotta, sebbene gran parte di essi rimanga persa + ha scoperto che è leggibile.

Ecco una panoramica di come l'ho fatto.
Una nota importante: i miei dischi di sistema non facevano parte di LVM. Per fare ciò se il tuo se i tuoi dischi di sistema non funzionano potrebbero richiedere l'avvio da un'unità CD / USB live

Avvia il sistema Il
mio sistema non si avvia e si blocca durante il tentativo di attivare LVM. Per ovviare a questo, ho scollegato il disco del problema sde, quindi ho avviato la macchina e ho aspettato che potessi accedere. Ho quindi sdericollegato e sono corso
echo '0 0 0' > /sys/class/scsi_host/host3/scan dopo che è sdestato raccolto. ( host3 era la porta che sdeera attiva e potrebbe non essere la stessa per il tuo disco)

Installa ddrescude (per debian)

apt-get install gddrescue

Clona il disco dieing con ddrescue (Primo passaggio, salta gli errori per leggere rapidamente quanti più dati possibili. Richiede molto tempo a seconda degli errori e delle dimensioni del disco)

ddrescue -f -n /dev/sde /dev/sdf /root/sde.rescue.log


GNU ddrescue 1.16
Press Ctrl-C to interrupt
rescued:   644394 MB,  errsize:    372 kB,  current rate:    4390 kB/s
rescued:     1500 GB,  errsize:  22036 kB,  current rate:       66 B/s
   ipos:    200704 B,   errors:      77,    average rate:    4942 kB/s
   opos:    200704 B,     time since last successful read:       0 s
Finished

Tenta un altro passaggio (saltando i dati che abbiamo già copiato, riprova 3 volte prima di rinunciare. Per me questo ha richiesto anche più tempo del primo passaggio)

ddrescue -d -f -r3 /dev/sde /dev/sdf /root/sde.rescue.log


GNU ddrescue 1.16
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued:     1500 GB,  errsize:  22036 kB,  errors:      77
Current status
rescued:     1500 GB,  errsize:  12014 kB,  current rate:      512 B/s
   ipos:    199680 B,   errors:     972,    average rate:      768 B/s
   opos:    199680 B,     time since last successful read:       0 s
Splitting failed blocks...

Ho quindi spento e rimosso la macchina e ho sdecollegato ciò che era sdfnella stessa porta SATA che sdeera acceso e ho avviato il backup.
All'avvio si è verificato LVM, ma si sono verificati altri errori durante il tentativo di esaminare i file.

Risolvi il filesystem (Rispondi a tutte le missioni, sii Verbose e Forza il controllo del file system)

e2fsck -y -v -f /dev/mapper/storage-storage

Sono stato quindi in grado di montare il filesystem e iniziare a guardare il danno. Come detto, una grande mole di dati è finita in lost + found. Finora, i suoi unici nomi di cartelle sono andati persi. Controllando il contenuto delle cartelle sono in grado di mettere insieme dove tutto appartiene

Riferimenti:


0

È un colpo lungo, ma potresti tentare una migrazione dei dati usando la funzione mirror di LVM . Il rovescio della medaglia è che avrai bisogno della stessa quantità di spazio di archiviazione nel nuovo volume del tuo vecchio volume. Non vi è inoltre alcuna garanzia che recupererai tutti i tuoi dati a causa di errori persistenti del disco, ma qualsiasi dato leggibile potrebbe comunque sopravvivere al viaggio. Vale la pena provarlo; il peggio che succede è che perdi comunque i dati che stai per perdere.


Grazie per quello ddrescue ha terminato un passaggio sul disco dieing ed è riuscito a recuperare tutti tranne 30 MB. Lo sto eseguendo di nuovo per vedere se riesce ad afferrare più. Una volta terminato, sostituirò il disco che muore con il clone. Se fallisce, darò una possibilità a questo metodo.
CJSewell,
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.