首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未找到CentOS7 Dracut lvm命令

未找到CentOS7 Dracut lvm命令
EN

Server Fault用户
提问于 2018-01-23 15:50:24
回答 2查看 17.6K关注 0票数 5

由于崩溃问题,我更新了CentOS7内核,从3.10.0-693.11.1升级到3.10.0-693.11.6,但在更新之后,我无法在centos出现错误时引导到dracut。

代码语言:javascript
运行
复制
warning /dev/mapper/centos-root does not exist

dracut:/# ls /dev/mapper/
control
dracut:/# 

看起来我的initrd配置错误,我仍然可以启动3.10.0-693.11.1,没有任何问题。我正在尝试调试这个(在线上有很多资源),但是在这里,我似乎从根本上遗漏了什么,因为我不能执行lvm命令。

代码语言:javascript
运行
复制
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

我发现工具的问题通常是由于/sbin中缺少二进制文件造成的,所以我对稳定内核进行了改进,并检查了:

代码语言:javascript
运行
复制
root@localhost ~# ls /sbin/lvm
/sbin/lvm
root@localhost ~# which lvm
/sbin/lvm

所以二进制是在正确的位置,但出于某种原因,dracut没有在/sbin中看到它。

我对3.10.0-693.11.1和3.10.0-693.11.6的grub配置几乎相同

代码语言:javascript
运行
复制
#: 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

在这里,我有点挣扎:我浏览了dracut手册页,那里有很多LVM选项,我想自动发现不起作用,但是为什么它对以前的内核有效,更新程序有问题?另外,我如何在initram上使用lvm工具来进一步调试它?

谢谢你的建议!

更新:运行lsinitrd -m -k显示在ramdisk中没有lvm模块。

代码语言:javascript
运行
复制
========================================================================
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
========================================================================

我试图将lvm内核驱动程序添加到initram映像中,但不幸的是,它失败了,没有任何明显的问题:

代码语言:javascript
运行
复制
dracut --add-drivers  lvm /boot/initramfs-3.10.0-693.11.6.el7.x86_64.img

dracut[27939]: Failed to install module lvm

添加-v并不意味着任何有用的东西。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2018-03-29 23:14:43

我有这个问题。我用以下方法修正了它:

登录到一个活动cd (恢复也应该是好的)

代码语言:javascript
运行
复制
cp /etc/dracut.conf /etc/dracut.conf.bak

nano /etc/dracut.conf

修补下列线路:

代码语言:javascript
运行
复制
# dracut modules to add to the default
add_dracutmodules+="lvm"

# install local /etc/mdadm.conf
mdadmconf="yes"

# install local /etc/lvm/lvm.conf
lvmconf="yes"

(您可能不需要mdadmconf,我添加了它,因为我有Raid。)

为我的内核重新运行dracut -f。重新启动。

这让我通过了lvm的问题。我现在有问题sysroot没有挂载(它把我放到一个恢复外壳)。修好后我会更新的。

票数 7
EN

Server Fault用户

发布于 2020-12-30 09:29:17

确保lvm2包是嵌入的。

代码语言:javascript
运行
复制
yum install -y lvm2
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/893721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档