El problema
Mensajes como los siguientes se informan cuando se ejecutan comandos como partprobe en un sistema CentOS/RHEL usando LVM (Administrador de volumen lógico) y rutas múltiples, p. mapeador de dispositivos multirruta o EMC PowerPath, etc.:
Error: Error informing the kernel about modifications to partition /dev/sda1 -- Device or resource busy. This means Linux won't know about any changes you made to /dev/sda1 until you reboot -- so you shouldn't mount it or use it in any way before rebooting. ...
Se informan mensajes como los siguientes cuando se ejecuta el comando pvs para obtener información relacionada con el volumen físico (PV):
Found duplicate PV G9tZklKg1nrXN7wGADvwHQOQtgd4w58M: using /dev/sdb1 not /dev/sda1 Found duplicate PV G9tZklKg1nrXN7wGADvwHQOQtgd4w58M: using /dev/sda1 not /dev/emcpowera1 ...
La causa raíz
El mensaje "Encontrado PV duplicado" aparece cuando LVM no está configurado para filtrar dispositivos subyacentes de ruta única, p. /dev/sd*. El software de múltiples rutas, por ejemplo, device-mapper-multipath, EMC PowerPath, etc., crea un pseudodispositivo de múltiples rutas para cada dispositivo administrado. Si los dispositivos de ruta única subyacentes no se filtran, LVM descubre y, por lo tanto, informa las rutas de dispositivo duplicadas que hacen referencia al mismo dispositivo LVM.
Ejemplos de asignaciones de dispositivos para la configuración de múltiples rutas del mapeador de dispositivos de dos rutas:
/dev/sda, /dev/sdb --> /dev/dm-0 --> /dev/mapper/mpath1
Ejemplo de asignación de dispositivos para la configuración de EMC PowerPath de dos rutas:
/dev/sda, /dev/sdb --> /dev/emcpowera
La solución
Para una nueva configuración de LVM en EMC PowerPath, consulte "Configuración de la compatibilidad con LVM2" en la documentación de EMC PowerPath, que debe tener detalles sobre cómo modificar el archivo "/etc/lvm/lvm.conf" para filtrar las rutas subyacentes
Para una nueva configuración de LVM en device-mapper-multipath:
– Desactive la exploración LVM en los dispositivos SCSI subyacentes. Se puede hacer cambiando el parámetro de filtro en “/etc/lvm/lvm.conf”.
filter = [ "a/dev/mapper/.*/", "r/dev/sd.*/" ]Nota :Esta configuración acepta todos los dispositivos /dev/mapper/* y rechaza todos los dispositivos /dev/sd* mientras escanea los discos LVM. Consulte la guía del usuario de LVM2 para obtener más detalles. Si el dispositivo raíz también es un dispositivo LVM con rutas múltiples, realice cambios en /etc/lvm/lvm.conf antes de crear una nueva imagen initrd. Cuando se requiere "múltiples rutas en la raíz", se necesita lvm.conf en la imagen de initrd, lo que requiere que se vuelva a crear el initrd.
Para una configuración LVM existente en discos EMC PowerPath o dm-multipath, asegúrese de la integridad de los datos en los volúmenes LVM:
1. Cambie "/etc/lvm/lvm.conf" como se describe arriba
2. En general, se debe configurar el LVM para filtrar todos los dispositivos sd* y solo ver los dispositivos /dev/emcpower* o /dev/mapper/*. Si hay otros volúmenes LVM de dispositivos SCSI no mutados, por ejemplo:/dev/cciss/*, configure el filtro en consecuencia, por ejemplo:
filter = [ "r/sd.*/" "a/dev/cciss/*/" "a/dev/emcpower.*/" "a/dev/mapper/*/" ]
Con esta configuración, los comandos 'lvmdiskscan' y 'pvscan' solo deberían encontrar los dispositivos /dev/ccisss/*, /dev/emcpower* y /dev/mapper/*.
3. Detenga cualquier aplicación/servicio que acceda a dispositivos/sistemas de archivos administrados por LVM.
4. Desmonte todos los sistemas de archivos basados en LVM.
5. Desactive todos los grupos de volumen.
# vgchange -an
6. Vuelva a escanear los grupos de volúmenes.
# vgscan
7. Reactivar grupos de volumen.
# vgchange -ay
8. Monte cualquier sistema de archivos basado en LVM.
9. Inicie cualquier aplicación/servicio que requiera acceso a dispositivos/sistemas de archivos administrados por LVM.
Nota :Si es necesario hacer referencia a los discos LVM durante el arranque, por ejemplo, durante la etapa de arranque del kernel de captura de kdump o cuando se configuran como rutas múltiples en la raíz, será necesario reconstruir la imagen initrd.