Mancano i dispositivi LVM in / dev / mapper


21

Sto usando Debian Squeeze ed eseguo LVM sul software RAID 1. Ho appena scoperto per caso che /dev/mappermancano la maggior parte dei collegamenti , anche se il mio sistema sembra funzionare ancora correttamente.

Non sono sicuro di cosa sia successo. L'unica cosa che posso immaginare è stata il mio tentativo fallito di far funzionare un container fedora LXC. Ho finito per eliminare una directory /cgroup/laughlin, corrispondente al contenitore, ma non riesco a immaginare perché ciò avrebbe dovuto causare il problema. /dev/mappersembrava (ho apportato alcune modifiche, vedi sotto) approssimativamente come

orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x  2 root root     540 Apr 12 05:08 .
drwxr-xr-x 22 root root    4500 Apr 12 05:08 ..
crw-------  1 root root  10, 59 Apr  8 10:32 control
lrwxrwxrwx  1 root root       7 Mar 29 08:28 debian-root -> ../dm-0
lrwxrwxrwx  1 root root       8 Apr 12 03:32 debian-video -> ../dm-23

debian-video corrisponde a un LV che avevo appena creato.

Tuttavia, ho un certo numero di VG sul mio sistema, corrispondenti a 4 VG distribuiti su 4 dischi. vgs

orwell:/dev/mapper# vgs
  VG         #PV #LV #SN Attr   VSize   VFree  
  backup       1   2   0 wz--n- 186.26g  96.26g
  debian       1   7   0 wz--n- 465.76g 151.41g
  olddebian    1  12   0 wz--n- 186.26g  21.26g
  testdebian   1   3   0 wz--n- 111.75g  34.22g

Ho provato a correre

 /dev/mapper# vgscan --mknodes

e alcuni dispositivi sono stati creati (vedi l'output di seguito), ma non sono collegamenti simbolici ai dispositivi dm come dovrebbero essere, quindi non sono sicuro se questo sia inutile o peggio. Avrebbero ostacolato la ricreazione dei collegamenti corretti? Devo eliminare di nuovo questi dispositivi?

Credo che udev crei questi collegamenti, quindi un riavvio risolverà questo problema o otterrei un sistema non avviabile? Cosa devo fare per risolvere questo problema? Esistono controlli diagnostici / di integrità che dovrei eseguire per assicurarmi che non ci siano altri problemi che non ho notato? Grazie in anticipo per qualsiasi assistenza.

orwell:/dev/mapper# ls -la
total 0
drwxr-xr-x  2 root root     540 Apr 12 05:08 .
drwxr-xr-x 22 root root    4500 Apr 12 05:08 ..
brw-rw----  1 root disk 253,  1 Apr 12 05:08 backup-local_src
brw-rw----  1 root disk 253,  2 Apr 12 05:08 backup-video
crw-------  1 root root  10, 59 Apr  8 10:32 control
brw-rw----  1 root disk 253, 15 Apr 12 05:08 debian-boot
brw-rw----  1 root disk 253, 16 Apr 12 05:08 debian-home
brw-rw----  1 root disk 253, 22 Apr 12 05:08 debian-lxc_laughlin
brw-rw----  1 root disk 253, 21 Apr 12 05:08 debian-lxc_squeeze
lrwxrwxrwx  1 root root       7 Mar 29 08:28 debian-root -> ../dm-0
brw-rw----  1 root disk 253, 17 Apr 12 05:08 debian-swap
lrwxrwxrwx  1 root root       8 Apr 12 03:32 debian-video -> ../dm-23
brw-rw----  1 root disk 253, 10 Apr 12 05:08 olddebian-etch_template
brw-rw----  1 root disk 253, 13 Apr 12 05:08 olddebian-fedora
brw-rw----  1 root disk 253,  8 Apr 12 05:08 olddebian-feisty
brw-rw----  1 root disk 253,  9 Apr 12 05:08 olddebian-gutsy
brw-rw----  1 root disk 253,  4 Apr 12 05:08 olddebian-home
brw-rw----  1 root disk 253, 11 Apr 12 05:08 olddebian-lenny
brw-rw----  1 root disk 253,  7 Apr 12 05:08 olddebian-msi
brw-rw----  1 root disk 253,  5 Apr 12 05:08 olddebian-oldchresto
brw-rw----  1 root disk 253,  3 Apr 12 05:08 olddebian-root
brw-rw----  1 root disk 253, 14 Apr 12 05:08 olddebian-suse
brw-rw----  1 root disk 253,  6 Apr 12 05:08 olddebian-vgentoo
brw-rw----  1 root disk 253, 12 Apr 12 05:08 olddebian-wsgi
brw-rw----  1 root disk 253, 20 Apr 12 05:08 testdebian-boot
brw-rw----  1 root disk 253, 18 Apr 12 05:08 testdebian-home
brw-rw----  1 root disk 253, 19 Apr 12 05:08 testdebian-root

Sarò il primo a dichiarare l'ovvio qui. Esegui immediatamente il backup dei tuoi dati importanti su quella casella, quindi diagnostica se la casella è chiusa o meno.
rfelsburg,

4
Dovresti provare /etc/init.d/lvm2 start. Ha fatto il trucco per me (ma non ero esattamente nella tua situazione).
Totor

Grazie @Totor per il tuo commento; mi hai appena salvato la giornata! :-)
Valentin,

Risposte:


16

In questi giorni /devè su tmpfs e viene creato da zero ogni avvio da udev. È possibile riavviare in modo sicuro e questi collegamenti torneranno.

Dovresti anche trovare collegamenti simbolici LVM ai /dev/dm-Xnodi nelle /dev/<vg>directory, una directory per ciascun gruppo di volumi. Tuttavia, anche quei nodi ricreati vgscan --mknodesfunzioneranno bene, supponendo che abbiano i numeri maggiori / minori giusti - ed è un presupposto sicuro che siano stati creati correttamente.

Probabilmente puoi anche udevricreare i collegamenti simbolici usando udevadm triggeruna corrispondenza appropriata, testando --dry-runfino a quando non è giusto. Non sembra valere la pena, tuttavia, anche quando un riavvio risolverà il problema.


Grazie per la risposta. Una richiesta di chiarimento: quando dici "quei nodi ricreati funzioneranno bene" ti riferisci a "nodi / dev / dm-X", giusto? Cosa intendi con "ricreato" qui, e anche "funziona bene" in che senso? Funziona bene per cosa? Scusa la mia lentezza. Presumo che tutti i dispositivi LVM siano ricreati dalle informazioni archiviate /etc/lvm/archive?
Faheem Mitha,

Intendo i nodi creati da vgscan --mknodes. Non sono i collegamenti simbolici originali, ma sono i nodi di sviluppo a blocchi che i collegamenti simbolici avrebbero indicato. Ad esempio, dovresti trovare /dev/olddebian/rootun collegamento simbolico a ../dm-3, che avrà gli stessi numeri maggiori: minori del ricreato /dev/mapper/olddebian-root.
Camh,

Grazie per il chiarimento. Ho verificato che ciò che dici fosse corretto per / dev / mapper / debian-video, che era uno dei miei due collegamenti simbolici intatti. :-) Ho appena letto un numero di dispositivo maggiore / minore. Grazie per la risposta educativa.
Faheem Mitha,

38

Ho appena avuto un problema simile a quello che descrivi, anche se per me è successo quando stavo tentando di installare il nuovo Ubuntu 11.10 Oneiric Ozelot su un volume LVM. Avevo fatto quanto segue per impostare lvm su un sistema di avvio live (i volumi logici di cui avevo bisogno erano già presenti):

apt-get install lvm2
vgscan --mknodes -v

Ora lvscan -vmostrava i miei volumi ma non erano /dev/mapperné dentro né dentro /dev/<vg>/. Alla fine ho scoperto che dovevo attivare il gruppo di volumi, in questo modo:

vgchange -a y <name of volume group>

Il comando sopra ha creato per me tutti i file del dispositivo mancanti. Ora potrei avviare il programma di installazione e trovare i volumi di LVM e permettermi di installarli.

Trovare queste informazioni su google è stato difficile, quindi scrivo questa risposta nella speranza che gli altri possano trascorrere un periodo più semplice, da qui il contesto approfondito e il rinvio.

Anche se non fa parte della domanda, per completezza aggiungerò che nella situazione sopra (installazione Ubuntu LVM) è necessario aggiungere lvm2 all'inizio del sistema appena installato una volta che ha terminato l'installazione, altrimenti non si avvia. Il tuo nuovo sistema dovrebbe essere impostato per te in / target, ma se non lo è, fallo manualmente in questo modo:

mount /dev/vg/new_root /target
mount /dev/sdx1 /target/boot       # important
mount -o bind /proc /target/proc
mount -o bind /sys /target/sys
mount -o bind /dev /target/dev
mount -o bind /dev/pts /target/dev/pts

Avevo bisogno di fare questo per far funzionare la rete nel chroot, che passerò al prossimo:

cp /etc/resolv.conf /target/etc/

Ora chroot al nuovo sistema e installa lvm2:

chroot /target
apt-get install lvm2

Si noti che esegue update-initramfs. Ora digita exit e riavvia e il tuo sistema dovrebbe avviarsi correttamente.


+1 Funzione molto oscura di LVM. Perché sulla Terra è stato considerato "attivato" (senza effetti visibili, ovviamente) su un CD di salvataggio ma non su un altro?
Van Jone,

Grazie. Ho finito per leggere questo e usare vgchangeoltre 6 anni dopo aver scritto la domanda e dopo aver trovato la domanda in una ricerca. :-) Avevo dimenticato di averlo scritto. Nel mio caso, il problema era sicuramente che i LV non erano attivi.
Faheem Mitha,

3

Questo ha funzionato anche per me.

vgchange -a y -name of volume group-

Dopo una patch del kernel il mio sistema RHEL non è riuscito a riavviarsi. Lamentarsi di un /dev/mapper/VG-lvfile mancante .

Avviato a utente singolo e commentato da /etc/fstab. Una volta online ho scoperto che il mio disco crittografato veniva visualizzato come "dispositivo sconosciuto" utilizzando pvs.

Risolto questo problema, ma ancora nessun file di dispositivo per il gruppo Volume. L'esecuzione del comando precedente ha ricreato i file del mapper del dispositivo e mi ha permesso di montare.


2

Ho avuto un problema simile dopo aver aggiornato il mio debian. Durante il riavvio, questo messaggio mi è apparso:

Unable to find LVM Volume. 
/dev/mapper/debian-root does not exist.

Ho trovato la soluzione qui :

cryptsetup luksOpen /dev/sda5 lvmsys
lvm
lvm> vgscan        ## scan for volume groups
lvm> vgchange -a y ## activates the volume groups

E voilà, si è riavviato bene dopo questo.


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.