GNU/Linux >> Tutoriales Linux >  >> Linux

Los volúmenes lógicos están inactivos en el momento del arranque

Así que logré resolver esto eventualmente. Hay un problema (error) con la detección de volúmenes lógicos, que es una especie de condición de carrera (tal vez en mi caso con respecto al hecho de que esto sucede dentro de KVM). Esto se trata en la siguiente discusión. En mi caso particular (Debian Squeeze) la solución es la siguiente:

  • haga una copia de seguridad del script /usr/share/initramfs-tools/scripts/local-top/lvm2
  • aplicar el parche del informe de error mencionado
  • ejecutar update-initramfs -u

Esto me ayudó, espero que ayude a otros (curiosamente, esto aún no es parte de la corriente principal).

Enlace al parche:_http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=10;filename=lvm2_wait-lvm.patch;att=1;bug=568838

A continuación se muestra una copia para la posteridad.

--- /usr/share/initramfs-tools/scripts/local-top/lvm2 2009-08-17 19:28:09.000000000 +0200
+++ /usr/share/initramfs-tools/scripts/local-top/lvm2 2010-02-19 23:22:14.000000000 +0100
@@ -45,12 +45,30 @@

  eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev")

- if [ "$DM_VG_NAME" ] && [ "$DM_LV_NAME" ]; then
-   lvm lvchange -aly --ignorelockingfailure "$DM_VG_NAME/$DM_LV_NAME"
-   rc=$?
-   if [ $rc = 5 ]; then
-     echo "Unable to find LVM volume $DM_VG_NAME/$DM_LV_NAME"
-   fi
+ # Make sure that we have non-empty volume group and logical volume
+ if [ -z "$DM_VG_NAME" ] || [ -z "$DM_LV_NAME" ]; then
+   return 1
+ fi
+
+ # If the logical volume hasn't shown up yet, give it a little while
+ # to deal with LVM on removable devices (inspired from scripts/local)
+ fulldev="/dev/$DM_VG_NAME/$DM_LV_NAME"
+ if [ -z "`lvm lvscan -a --ignorelockingfailure |grep $fulldev`" ]; then
+   # Use default root delay
+   slumber=$(( ${ROOTDELAY:-180} * 10 ))
+
+   while [ -z "`lvm lvscan -a --ignorelockingfailure |grep $fulldev`" ]; do
+     /bin/sleep 0.1
+     slumber=$(( ${slumber} - 1 ))
+     [ ${slumber} -gt 0 ] || break
+   done
+ fi
+
+ # Activate logical volume
+ lvm lvchange -aly --ignorelockingfailure "$DM_VG_NAME/$DM_LV_NAME"
+ rc=$?
+ if [ $rc = 5 ]; then
+   echo "Unable to find LVM volume $DM_VG_NAME/$DM_LV_NAME"
  fi
 }

Cree un script de inicio en /etc/init.d/lvm que contiene lo siguiente:

#!/bin/sh

case "$1" in
 start)
    /sbin/vgscan
    /sbin/vgchange -ay
    ;;
  stop)
    /sbin/vgchange -an
    ;;
  restart|force-reload)
    ;;
esac

exit 0

Luego ejecuta los comandos:

chmod 0755 /etc/init.d/lvm
update-rc.d lvm start 26 S . stop 82 1 .

Debería hacer el truco para los sistemas Debian.


Linux
  1. Arrancar Linux más rápido

  2. Creación de volúmenes lógicos en Linux con LVM

  3. ¿La conexión SSH tarda mucho tiempo? Aquí hay algunas correcciones

  4. ¿La relación de inodos, Lba, volúmenes lógicos, bloques y sectores?

  5. Linux:¿deshabilitar los servicios de Vbox para disminuir el tiempo de arranque?

Cómo verificar el historial de reinicio del sistema y el tiempo de inicio en Linux

Gestión de volúmenes lógicos explicada en Linux

¿El indicador de hora no muestra la fecha/hora?

¿Se borran los volúmenes de EBS después de su uso?

¿Cuáles son los beneficios del Administrador de volúmenes lógicos?

¿En qué se parecen el tiempo de CPU y el uso de CPU?