El problema
En CentOS/RHEL 6.x con Logical Volume Manager, todos los comandos LVM devuelven un error de bloqueo inmediatamente después del arranque, como se muestra a continuación:
# lvdisplay Failed to create directory /var/lock/lvm File-based locking initilisation failed.
La solución
El mensaje anterior se registra debido a una verificación agregada en el código lvm para verificar si la ruta mencionada para la opción de bloqueo_dir en /etc/lvm/lvm.conf el archivo está disponible o no y luego imprime un error si la ruta utilizada para locking_dir la opción no está disponible. Este error suele observarse cuando /var se crea como un sistema de archivos separado. En la mayoría de los casos, esto sucede si el sistema de archivos /var/ está montado como de solo lectura.
$ grep -i "locking_dir" etc/lvm/lvm.conf # Configuration option global/locking_dir. locking_dir = "/var/lock/lvm"
Solución alternativa:
1. Configure la opción dir_bloqueo en /etc/lvm/lvm.conf a una ruta en el sistema de archivos raíz (/), como se muestra a continuación:
# vi /etc/lvm/lvm.conf locking_dir = "/run/lock"
2. Asegúrese de que el directorio anterior esté presente en el servidor, o puede crear el mismo manualmente usando el siguiente comando:
# mkdir -p /run/lock
3. Ejecute los comandos lvm definiendo el directorio de bloqueo temporal
# lvdisplay --config 'global { locking_dir = "/run/lock" } ' # pvdisplay --config 'global { locking_dir = "/run/lock" } ' # vgdisplay --config 'global { locking_dir = "/run/lock" } '
Solución Permanente:
Monte el sistema de archivos /var con la opción rw o, si el sistema de archivos es de solo lectura debido a la corrupción del sistema de archivos, ejecute fsck contra la partición /var desmontada para solucionarlo, pero asegúrese de tener una copia de seguridad válida antes de ejecutar fsck.