Faltan dispositivos lvm en / dev / mapper

21

Estoy usando Debian Squeeze y ejecuto LVM sobre RAID 1. Por casualidad, acabo de descubrir que /dev/mapperfaltan la mayoría de los enlaces , aunque parece que mi sistema todavía funciona correctamente.

No estoy seguro de lo que pasó. Lo único que puedo imaginar que causó fue mi intento fallido de hacer funcionar un contenedor fedora LXC. Terminé eliminando un directorio /cgroup/laughlin, correspondiente al contenedor, pero no puedo imaginar por qué eso debería haber causado el problema. /dev/mapperparecía (hice algunos cambios, ver más abajo) aproximadamente como

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 corresponde a un LV que acababa de crear.

Sin embargo, tengo bastantes VG en mi sistema, correspondientes a 4 VG distribuidos en 4 discos. vgsda

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

Intenté correr

 /dev/mapper# vgscan --mknodes

y se crearon algunos dispositivos (vea la salida a continuación), pero no son enlaces simbólicos a los dispositivos dm como deberían ser, por lo que no estoy seguro de si esto es inútil o peor. ¿Se pondrían en el camino de la recreación de los enlaces correctos? ¿Debo eliminar estos dispositivos nuevamente?

Creo que udev crea estos enlaces, por lo que un reinicio solucionaría este problema o ¿obtendría un sistema que no se pueda iniciar? ¿Qué debo hacer para arreglar esto? ¿Hay alguna comprobación de diagnóstico / sanidad que deba realizar para asegurarme de que no haya otros problemas que no haya notado? Gracias de antemano por cualquier ayuda.

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
Faheem Mitha
fuente
Seré el primero en decir lo obvio aquí. Haga una copia de seguridad de sus datos importantes en esa caja de inmediato, luego diagnostique si la caja está o no con manguera.
rfelsburg
44
Deberías intentarlo /etc/init.d/lvm2 start. Me sirvió (pero no estaba exactamente en tu situación).
Totor
Gracias @Totor por tu comentario; me acabas de salvar el dia! :-)
Valentin

Respuestas:

16

En estos días /devestá en tmpfs y se crea desde cero cada arranque por udev. Puede reiniciar de forma segura y estos enlaces volverán.

También debe encontrar enlaces simbólicos LVM a los /dev/dm-Xnodos en los /dev/<vg>directorios, un directorio para cada grupo de volúmenes. Sin embargo, esos nodos recreados por vgscan --mknodestambién funcionarán bien, suponiendo que tengan los números mayores / menores correctos, y es una suposición segura de que se crearon correctamente.

Probablemente también udevpueda volver a crear los enlaces simbólicos utilizando udevadm triggeruna coincidencia adecuada, probando --dry-runhasta que sea correcto. Sin embargo, parece que no vale la pena el esfuerzo cuando un reinicio lo arregle también.

camh
fuente
Gracias por la respuesta. Una solicitud de aclaración: cuando dice "esos nodos recreados también funcionarán bien" se refiere a "los nodos / dev / dm-X", ¿verdad? ¿Qué quiere decir con "recreado" aquí, y también, "también funciona bien" en qué sentido? ¿Funciona bien para qué? Disculpe mi lentitud. ¿Asumo que todos los dispositivos LVM se recrean a partir de la información almacenada /etc/lvm/archive?
Faheem Mitha
Me refiero a los nodos creados por vgscan --mknodes. No son los enlaces simbólicos originales, pero son los nodos de desarrollo de bloques que los enlaces simbólicos habrían señalado. Debería encontrar, por ejemplo, que /dev/olddebian/rootes un enlace simbólico a ../dm-3, que tendrá los mismos números mayores: menores que los recreados /dev/mapper/olddebian-root.
camh
Gracias por la aclaración. Verifiqué que lo que dices era correcto para / dev / mapper / debian-video, que era uno de mis dos enlaces simbólicos intactos. :-) Acabo de leer sobre los números de dispositivo mayor / menor. Gracias por la respuesta educativa.
Faheem Mitha
38

Acabo de tener un problema similar al que usted describe, aunque para mí sucedió cuando intentaba instalar el nuevo Ubuntu 11.10 Oneiric Ozelot en un volumen LVM. Hice lo siguiente para configurar lvm en un sistema de arranque en vivo (los volúmenes lógicos que necesitaba ya estaban presentes):

apt-get install lvm2
vgscan --mknodes -v

Ahora lvscan -vmostraba mis volúmenes pero no estaban /dev/mapperni adentro /dev/<vg>/. Finalmente descubrí que necesitaba activar el grupo de volúmenes, así:

vgchange -a y <name of volume group>

El comando anterior creó todos los archivos de dispositivo que faltan para mí. Ahora podría iniciar el programa de instalación y buscaría los volúmenes lvm y me permitiría instalarlos.

Encontrar esta información en Google fue difícil, así que escribo esta respuesta con la esperanza de que otros la tengan más fácil, de ahí el contexto en profundidad y el recorte de nombres.

Aunque no es parte de la pregunta, para completar, agregaré que en la situación anterior (instalación de Ubuntu LVM) debe agregar lvm2 al initrd del sistema recién instalado una vez que haya terminado la instalación, o no se iniciará. Su nuevo sistema debe estar configurado para usted en / target, pero si no lo está, hágalo manualmente de esta manera:

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

Necesitaba hacer esto para que las redes funcionen en el chroot, lo que haré a continuación:

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

Ahora acceda al nuevo sistema e instale lvm2:

chroot /target
apt-get install lvm2

Tenga en cuenta que ejecuta update-initramfs. Ahora simplemente escriba exit y reinicie, y su sistema debería arrancar correctamente.

Lauritz V. Thaulow
fuente
+1 Característica muy oscura de LVM. ¿Por qué en la Tierra se consideró como 'activado' (sin efectos visibles, por supuesto) en un CD de rescate pero no en otro?
Van Jone
Gracias. Terminé leyendo esto y usando vgchangemás de 6 años después de escribir la pregunta, y después de encontrar la pregunta en una búsqueda. :-) Olvidé que lo había escrito. En mi caso, el problema era definitivamente que los LV no estaban activos.
Faheem Mitha
3

Esto también funcionó para mí.

vgchange -a y -name of volume group-

Después de un parche de kernel, mi sistema RHEL no pudo reiniciarse. Queja de un /dev/mapper/VG-lvarchivo perdido .

Arrancado para un solo usuario y comentado fuera de /etc/fstab. Una vez en línea, encontré que mi disco cifrado se mostraba como "dispositivo desconocido" usando pvs.

Se corrigió esto pero aún no hay archivos de dispositivo para el grupo Volumen. Ejecutar el comando anterior recreó los archivos del mapeador de dispositivos y me permitió montar.

Paul Bennett
fuente
2

Tuve un problema similar después de actualizar mi Debian. Durante el reinicio, me apareció este mensaje:

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

Encontré la solución aquí :

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

Y voilà, se reinició muy bien después de esto.

Adriano P
fuente