[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: