Re: Capire un disco con lvm
Il giorno 01/lug/2015, alle ore 23:25, Leandro Noferini <lnoferin@cybervalley.org> ha scritto:
> Ciao a tutti,
>
> devo mettere le mani su un disco (anzi un raid1) senza sapere
> esattamente quel che si è stato fatto perché chi l'ha fatto è
> temporaneamente indisponibile. Quel che so, oltre alla cosa del raid, è
> che stato fatto con lvm, che conosco poco.
Esamina i dischi dal “metallo" verso il file system: comincia guardando le partizioni, poi la struttura RAID, poi LVM (se annidato sul RAID), ed infine i file system.
Comincia con lsblk, che dovrebbe darti un’eccellente visione d’insieme dello storage.
Ad esempio questo è (in parte) l’output che ottengo su un sistema con 2 dischi in RAID 1, con dei volumi LVM sopra (se non si legge chiaramente, copialo e incollalo in un editor che usi un carattere monospaziato per rendere più leggibile il diagramma):
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1,8T 0 disk
└─sda1 8:1 0 1,8T 0 part
└─md0 9:0 0 1,8T 0 raid1
├─raidvg-varlv (dm-1) 252:1 0 15G 0 lvm /var
├─raidvg-srvlv (dm-2) 252:2 0 304G 0 lvm /srv
├─raidvg-systemlv (dm-3) 252:3 0 10,2G 0 lvm /
└─raidvg-swaplv (dm-4) 252:4 0 3,7G 0 lvm [SWAP]
sdb 8:16 0 1,8T 0 disk
└─sdb1 8:17 0 1,8T 0 part
└─md0 9:0 0 1,8T 0 raid1
├─raidvg-varlv (dm-1) 252:1 0 15G 0 lvm /var
├─raidvg-srvlv (dm-2) 252:2 0 304G 0 lvm /srv
├─raidvg-systemlv (dm-3) 252:3 0 10,2G 0 lvm /
└─raidvg-swaplv (dm-4) 252:4 0 3,7G 0 lvm [SWAP]
Come si legge?
Allora, su questo sistema vediamo 2 dischi, sda e sdb, da circa 2 TB ciascuno. Questi due dischi sono partizionati ciascino con una singola partizione preparata per il RAID (sda1 e sdb1).
Te ne puoi accertare chiedendo lumi a fdisk (nel mio caso fdisk dice "Autorilevamento raid di Linux"):
$ sudo fdisk -l /dev/sda /dev/sdb
Scendendo nel diagramma di lsblk vedi che c’è md0: è il dispositivo RAID (md sta per “multiple device”). Il comando lsblk mi dice che è un dispositivo RAID 1.
Posso verificare, ed ottenere più dettagli in proposito usando mdadm:
$ sudo mdadm --query --detail /dev/md0
Al passo successivo vedo che ci sono i vari volumi LVM, da dm-1 a dm-4, e vedo dove sono montati. lsblk mi dice che sono volumi LVM.
I volumi logici LVM (LV) stanno dentro i gruppi di volumi LVM (VG), che si appoggiano ai volumi fisici (PV). Dal diagramma di lsblk sembra che l’unico volume fisico usato in questo caso sia /dev/md0.
I nomi tipo “raidvg-varlv” sono costruiti dal sistema unendo il nome del gruppo di volumi con il nome del volume logico, separati da un trattino - per evitare confusioni di solito non uso i trattini nei nomi dei gruppi di volumi e dei volumi logici!
Verifico chiedendo al sistema i volumi fisici che conosce (pvdisplay ci mostrerebbe più dettagli):
$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/md0 raidvg lvm2 a-- 1,82t 1,49t
OK, qui c’è un solo volume fisico (md0), sul quale c’è un solo gruppo di volumi raidvg.
Se vogliamo possiamo esaminare la struttura dei gruppi di volumi con (anche qui, vgdisplay per avere pù dettagli):
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
raidvg 1 4 0 wz--n- 1,82t 1,49t
OK, come immaginavamo il VG raidvg contiene 4 volumi logici.
Vediamo anche questo (lvdisplay per più dettagli, come per esempio il percorso del dispositivo, che sarà tipo /dev/raidvg/systemlv):
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
srvlv raidvg -wi-ao--- 304,02g
swaplv raidvg -wi-ao--- 3,72g
systemlv raidvg -wi-ao--- 10,19g
varlv raidvg -wi-ao--- 15,00g
A questo punto dovresti avere le idee piuttosto chiare sullo storage installato sulla macchina.
Se vuoi sapere che file system c’è sui vari volumi logici senza montarli puoi usare blkid, oppure il buon vecchio comando file, con l’opzione -s:
$ sudo file -sL /dev/raidvg/srvlv
/dev/raidvg/srvlv: Linux rev 1.0 ext4 filesystem data, UUID=b486400d-2940-4ee6-983c-0adaa03e364e, volume name "srvfs" (needs journal recovery) (extents) (large files) (huge files)
Riassumendo:
1. Visione d’insieme dello storage: lsblk
2. Partizionamento dei dischi: fdisk -l
3. Struttura dei dispositivi RAID trovati: mdadm --query --detail /dev/md0
4. Informazioni su LVM: pvs, vgs, lvs (e le controparti pvdisplay, vgdisplay e lvdisplay)
5. Informazioni sui file system installati sui vari volumi logici: file -sL /dev/raidvg/srvlv
In bocca al lupo,
gerlos
--
"Fairy tales are more than true, not because they tell us that dragons exist,
but because they tell us that dragons can be beaten."
G. K. Chesterton
<http://gerlos.altervista.org>
gerlos +- - - > gnu/linux registred user #311588
Reply to: