Lvm:raid casopratico

Da tazzadelcesso Wiki.

LVM, oltre a tante features interessanti, offre anche un meccanismo di raid 1 piuttosto efficace.

Come tutti i raid, uno dei dischi puo' rompersi o comunque andare in errore. E' questo il caso odierno:

caso reale, il disco guasto e' sdb, macchina inchiodata.

vediamo come abbiamo risolto e come il santo pinguino ci e' venuto incontro:

1: riavvio macchina, modalita' amministrativa.

2: identifichiamo il disco con i log e i vari messaggi. nel nostro caso : sdb. Visto che l'assegnazione dei device e' ormai cosa curiosa, provvediamo a segnarci anche il numero di serie e il modello attraverso hdparm -i /dev/sdb

3: cerchiamo ora di capire come viene utilizzato sdb1. In primo luogo vgscan -vvv; nell'ultima parte e' presente un elenco che indica quali dischi e quali volumi logici sono associati.

     Adding data:0 as an user of data_mlog

Read data metadata (334) from /dev/sde1 at 238592 size 4788

Freeing VG data at 0x1ffc070.

/dev/sdc1 0: 0 238466: multimedia(0:0)

/dev/sde1 0: 0 476932: freebsd(0:0)

/dev/sdd1 0: 0 5960: system_mimage_1(0:0)

/dev/sdd1 1: 5960 470018: data_mimage_1(0:0)

/dev/sdd1 2: 475978 953: NULL(0:0)

/dev/sda2 0: 0 5960: system_mimage_0(0:0)

/dev/sda2 1: 5960 929: swap(0:0)

/dev/sda2 2: 6889 470018: data_mimage_0(0:0)

/dev/sda2 3: 476907 19: swap(929:0)

/dev/sdb1 0: 0 1: system_mlog(0:0)

/dev/sdb1 1: 1 1: data_mlog(0:0)

/dev/sdb1 2: 2 476929: NULL(0:0)

Bene. Non avendo altro disco libero da agganciare al volo, ho deciso di rimuovere il raid ovviamente in modo dinamico, ovvero direttamente in corsa:

lvmconvert -m 0 /dev/data/system

lvmcomvert -m 0 /dev/data/data

il comando rimuove la seconda partizione, ovvero quella che occupa sdb.

liberata la partizione, provvediamo togliere i riferimenti lvm dal disco, rimuovendo prima il disco dal gruppo lvm:

vgreduce /dev/data /dev/sdb1

e successivamente, rimuoviamo il volume fisico lvm dalla periferica:

pvremove /dev/sdb1

STOP. La prima fase e' completa.

Ora down della macchina (qualche volta sono cosi' sadico che queste cose le faccio senza neanche spegnere il pc - potere del pinguino), sostituzione del disco e riavviamo.

il procedimento inverso e' piuttosto semplice:

creazione della partizione: fdisk, parted, quello che volete. Ricordarsi di marcare la partizione come volume lvm (per fdisk: tipo 8e)

creazione del volume fisico: pvcreate /dev/sdb1

aggiunta del volume fisico al gruppo lvm: vgextend /dev/data /dev/sdb1

creazione del raid:

lvmconvert -m 1 /dev/data/system

lvmconvert -m 1 /dev/data/data

queste ultime due righe sono piuttosto lunghe nell'esecuzione.

tenetevi una console tranquilla in un angoletto in modo che possano finire in pace.

ricordiamoci anche di reinstallare grub con il classico grub-install /dev/sdb