Un disco da 1 TB contenente una partizione che era l'unico PV in un VG contenente un LV stava fallendo diventando intollerabilmente lento senza riportare errori. Il mio primo pensiero è stato quello di tentare di utilizzare LVM per eseguire il mirroring dei dati su un altro disco e continuare senza interruzioni, quindi ho fatto questo:
- Errore di un disco da 1 TB da un mirror madam impostato nella stessa macchina
- Aggiunto quel disco al VG del disco guasto
- Modificato LV per avere un mirror
Ho lasciato questo durante la notte per copiare, dopo di che ha riferito di aver copiato lo 0,05% dei dati. Considerando questo un errore, ho acquistato due dischi sostitutivi da 1 TB tenendo presente questo:
- Aggiungi il primo nuovo disco all'array mdadm (fatto, nessun problema)
- Ripristina un backup su un LV sostitutivo sul disco valido che è stato rimosso dal set mdadm (fatto, nessun problema, manca circa un giorno di modifiche)
- Clonare tutto ciò che è leggibile dal disco guasto al secondo nuovo disco (fatto in un computer di riserva, ddrescue indica il successo completo dopo alcuni tentativi)
- Montare il clone e unire le modifiche con la copia non aggiornata ripristinata dal backup (bloccato qui)
- Aggiungi il secondo nuovo disco al VG sostitutivo e rispecchia il LV sostitutivo
Il problema è che non riesco a capire come ottenere LVM per consentirmi di accedere al clone del disco guasto.
LVM vede che manca un PV dal VG e non mi consente di attivare il VG, incluso con --partial
o apportare modifiche, incluso lvconvert -m0
o lvconvert --repair
, fino a quando non viene trovato il dispositivo mancante. man vgreduce
indica che vgreduce --removemissing
rimuoverà il LV, non solo lo specchio sul PV mancante. Almeno una fonte suggerisce che potrebbe essere reso accessibile sostituendo il PV mancante usando pvcreate --uuid
, il che richiederebbe di spostare fisicamente un buon disco dall'array mdadm alla macchina di riserva (o acquistarne un altro nuovo) e apparentemente richiede un backup di LVM metadati per il VG (che non ho).
Qual è il modo più semplice per accedere a LV clonato?
Può essere fatto senza aggiungere fisicamente un altro disco al computer di riserva?
AGGIORNARE
Ho spostato un altro disco nella macchina di riserva e ho tentato di ricreare il PV mancante. LVM non sembra supportare la ricreazione automatizzata, quindi sostanzialmente mi sono imperfetto fino a quando non sono riuscito in qualche modo a rendere disponibile la LV. L'ext4 FS su di esso è stato alterato in modo irriconoscibile - e2fsck ha esaurito la memoria ripetutamente cercando di ripararlo.
Ho provato di nuovo, usando ddrescue per copiare dal disco guasto sullo stesso disco buono (questa volta riportando alcuni errori), e questa volta LVM mi ha permesso di rendere disponibile il volume senza alcun disco aggiuntivo (proprio come mi aspettavo in primo luogo) . Questa volta l'FS era sostanzialmente intatto e sono stato in grado di recuperare tutto ciò che speravo di recuperare.
Non ho idea del perché LVM abbia rifiutato di attivare il VG sulla prima copia e abbia funzionato come previsto nella seconda. Poiché Google non restituisce alcuna spiegazione e non ci sono ancora risposte qui, sono preoccupato che il recupero dei volumi LVM sia inaffidabile e potrebbe essere meglio non utilizzarlo.
--restoremissing
serve solo per ricollegare un PV che LVM non è riuscito a riconnettere automaticamente, ma il disco con il mirror dello 0,05% è stato riproposto (nel passaggio 2) per sostituire l'unità guasta.
vgextend --restoremissing VG NEWPV
consente di aggiungere il nuovo disco con i dati ripristinati al VG?