
Tengo un volumen lógico LVM además de la configuración MDADM RAID1. Estoy intentando agregar un dispositivo SSD como caché a este volumen lógico mediante:
vgextend dataVG /dev/sdd
lvcreate --type cache --cachemode writethrough -L 120G -n dataLV_cachepool dataVG/dataLV /dev/sdd
Todo parece estar bien hasta que reinicio mi sistema. Después del reinicio, no se inicia y aparece el modo de recuperación (Ubuntu).
Veo los siguientes errores durante el proceso de arranque:
lvm[740]: dataVG: autoactivation failed.
systemd[1]: lvm2-pvscan@9:2.service: Main process exited, code=exited, status=5/NOTINSTALLED
systemd[1]: lvm2-pvscan@9:2.service: Failed with result 'exit-code'.
systemd[1]: Failed to start LVM2 PV scan on device 9:2.
lvm[774]: /usr/sbin/cache_check: execvp failed: No such file or directory
lvm[774]: Check of pool dataVG/dataLV_cachepool failed (status:2). Manual repair required!
lvm[774]: 0 logical volume(s) in volume group "dataVG" now active
lvm[774]: dataVG: autoactivation failed.
systemd[1]: Started File System Check on /dev/mapper/BACKUPVG-mainbackup.
systemd[1]: lvm2-pvscan@8:16.service: Main process exited, code=exited, status=5/NOTINSTALLED
systemd[1]: lvm2-pvscan@8:16.service: Failed with result 'exit-code'.
systemd[1]: Failed to start LVM2 PV scan on device 8:16.
systemd[1]: Mounting /mnt/mainbackup...
systemd[1]: Mounted /mnt/mainbackup.
kernel: EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts: (null)
systemd[1]: dev-mapper-dataVG\x2dataLV.device: Job dev-mapper-dataVG\x2dataLV.device/start timed out.
systemd[1]: Timed out waiting for device dev-mapper-dataVG\x2dataLV.device.
systemd[1]: Dependency failed for /mnt/dataLV.
systemd[1]: Dependency failed for Local File Systems.
systemd[1]: local-fs.target: Job local-fs.target/start failed with result 'dependency'.
systemd[1]: local-fs.target: Triggering OnFailure= dependencies.
systemd[1]: mnt-dataLV.mount: Job mnt-dataLV.mount/start failed with result 'dependency'.
systemd[1]: Dependency failed for File System Check on /dev/mapper/dataVG-dataLV.
systemd[1]: systemd-fsck@dev-mapper-dataVG\x2dataLV.service: Job systemd-fsck@dev-mapper-dataVG\x2dataLV.service/start failed with resu
systemd[1]: dev-mapper-dataVG\x2dataLV.device: Job dev-mapper-dataVG\x2dataLV.device/start failed with result 'timeout'.
Funciona sólo cuando elimino la unidad en caché del VG:
lvconvert --uncache dataVG/dataLV
No estoy seguro de cómo abordar este problema...
versión LVM:
LVM version: 2.02.176(2) (2017-11-03)
Library version: 1.02.145 (2017-11-03)
Respuesta1
Tuve el mismo problema en Debian 8. La resolución consta de dos pasos.
Primero, debido a que los módulos requeridos no se cargan durante el inicio, los sistemas se inician con LVM en estado inactivo para los LV almacenados en caché.
Al intentar activarlos manualmente, se produce un error:
vgchange -a y vg0/home_cache
/usr/sbin/cache_check: execvp failed: No such file or directory
Check of pool vg0/home_cache failed (status:2). Manual repair required!
De hecho, el comando /usr/sbin/cache_check no existe. Solucionarlo instalando:
apt-get install thin-provisioning-tools
En segundo lugar, solucione el problema que provoca que los volúmenes de caché LVM no estén activados. Se requieren algunos módulos que estén presentes en la imagen de inicio de initramfs. Agréguelos a módulos forzados para incluir:
sudo echo "dm_cache" >> /etc/initramfs-tools/modules
sudo echo "dm_cache_mq" >> /etc/initramfs-tools/modules
sudo echo "dm_persistent_data" >> /etc/initramfs-tools/modules
sudo echo "dm_bufio" >> /etc/initramfs-tools/modules
Y después de esto haz:
update-initramfs -k `uname -r` -u -t
y finalmente protéjase mediante:
update-grub
Verifique todo dos veces y finalmente reinicie.
Respuesta2
Creo que necesita el módulo de caché del kernel (dm-cache) y las herramientas /usr/sbin/cache_* en su disco ram de inicio. En fedora lo maneja dracut, en debian (y ubuntu) el paquete initramfs-tools.