我有一个最小的 Centos 7 版本。当我运行 dracut --force 时,它会构建一个小 20mb 的新 initramfs。模块部分的唯一区别是缺少 qemu。
localhost login: [ 3322.193617] Restarting system.
[ 0.000000] Cannot get hvm parameter CONSOLE_EVTCHN (18): -22!
[ 0.817440] Cannot get hvm parameter CONSOLE_EVTCHN (18): -22!
[[32m OK [0m] Started Show Plymouth Boot Screen.
[[32m OK [0m] Reached target Paths.
[[32m OK [0m] Reached target Basic System.
[ 123.897756] dracut-initqueue[273]: Warning: dracut-initqueue timeout - starting timeout scripts
[ 124.410440] dracut-initqueue[273]: Warning: dracut-initqueue timeout - starting timeout scripts
答案1
HVM EC2 实例的启动过程似乎仍然需要 xen-blkfront。但是,当 dracut 重建时不会检测到这些,也不会在运行的系统上使用 modprobe 显示它们。我使用中的示例添加了它们这个帖子并且成功重启。
答案2
如果您希望有更通用的initramfs
支持各种类型的 AWS 实例,例如现代 M5/C5/t3a、增强型网络适配器 (ENA)、EBS 优化磁盘、nvme、通用 xen-blkfront...等...您应该禁用 dracut 选项仅主机。 (在 CentOS 中默认开启)
简而言之:
dracut -f -v -N
或者
yum install dracut-config-generic
dracult -f -v
仔细检查:(您应该看到 ena、xen、nvme、xen-blkfront 等的驱动程序)
lsinitrd | grep "ena\|xen\|nvme"
并记住确保您的 /etc/fstab 使用 UUID 来映射分区而不是设备名称,例如 /dev/sdx