Eu atualizei o kernel CentOS7 por causa do problema de Meltdown de 3.10.0-693.11.1 para 3.10.0-693.11.6, mas depois dessa atualização, eu não consigo inicializar como centos drop para o dracut com erro
warning /dev/mapper/centos-root does not exist
dracut:/# ls /dev/mapper/
control
dracut:/#
Parece que meu initrd está configurado incorretamente, ainda posso inicializar 3.10.0-693.11.1 sem nenhum problema.
Eu estou tentando depurar isso (existem muitos recursos on-line), mas parece que estou faltando alguma coisa fundamentalmente aqui, pois não posso executar o comando lvm
dracut:/# lvm scan
sh: lvm: command not found
dracut:/# ls /etc/lvm/lvm.conf
ls: cannot access /etc/lvm/lvm.conf: No file or dictionary
dracut:/# ls /etc/lvm
ls: cannot access /etc/lvm: No file or dictionary
Eu vi que normalmente o problema com ferramentas é causado pela falta de binários em / sbin, então eu coloquei o kernel stabile e verifiquei:
root@localhost ~# ls /sbin/lvm
/sbin/lvm
root@localhost ~# which lvm
/sbin/lvm
Então binário está no lugar correto, mas por alguma razão o dracut não está vendo dentro / sbin.
Minha configuração do grub para 3.10.0-693.11.1 e 3.10.0-693.11.6 é quase idêntica
#: after update kernel params
linux16 /vmlinuz-3.10.0-693.11.6.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=128M rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rdshell
#: before update kernel params
linux16 /vmlinuz-3.10.0-693.11.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=128M rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rdshell
Aqui eu lutei um pouco: eu passei pela man page do dracut e há muitas opções para o LVM, eu pressume que a autodiscovery não está funcionando, mas por que ele funciona para o kernel anterior e o mais recente tem um problema?
Além disso, como posso obter ferramentas lvm de trabalho no initram, para depurá-lo ainda mais?
Obrigado por qualquer conselho!
ATUALIZAÇÃO:
Executando lsinitrd -m -k mostra que não há módulo lvm dentro do ramdisk
========================================================================
Image: /boot/initramfs-3.10.0-693.11.6.el7.x86_64.img: 18M
========================================================================
Early CPIO image
========================================================================
drwxr-xr-x 3 root root 0 Jan 22 11:15 .
-rw-r--r-- 1 root root 2 Jan 22 11:15 early_cpio
drwxr-xr-x 3 root root 0 Jan 22 11:15 kernel
drwxr-xr-x 3 root root 0 Jan 22 11:15 kernel/x86
drwxr-xr-x 2 root root 0 Jan 22 11:15 kernel/x86 /microcode
-rw-r--r-- 1 root root 24576 Jan 22 11:15 kernel/x86 /microcode/GenuineIntel.bin
========================================================================
Version: dracut-033-502.el7
dracut modules:
bash
nss-softokn
i18n
network
ifcfg
drm
plymouth
kernel-modules
qemu
resume
rootfs-block
terminfo
udev-rules
biosdevname
systemd
usrmount
base
fs-lib
shutdown
========================================================================
Eu estava tentando adicionar o driver do kernel lvm para a imagem initram, mas infelizmente isso falhou sem nenhum problema visível:
dracut --add-drivers lvm /boot/initramfs-3.10.0-693.11.6.el7.x86_64.img
dracut[27939]: Failed to install module lvm
adicionando -v não aponta para nada útil.