用户需求
1.查询模块是否安装
2.查看nvme和ena模块是否存在系统引导临时文件系统中
- lsinitrd /boot/initramfs-$(uname -r).img | grep "nvme|ena"
3.查看系统载入模块
4.更新系统模块依赖项
- modprobe ena
- modprobe nvme
5.更新 initramfs 以确保在启动时加载新模块
6.再次检查系统是否载入模块
- lsinitrd /boot/initramfs-$(uname -r).img | grep "nvme|ena"
- lsmod | grep "nvme|ena"
7.禁用网络接口命名
- RHEL 6 将net.ifnames=0 附加到 /boot/grup/menu.lst 文件的内核行中。
- RHEL 7 将net.ifnames=0 附加到 /etc/default/grub 文件的 GRUB_CMDLINE_LINUX 中
- GRUB_CMDLINE_LINUX="selinux=0 console=tty0 crashkernel=auto console=ttyS0,115200 nvme_core.io_timeout=4294967295 net.ifnames=0"
- 也可以使用 sed 命令追加
- sudo sed -i ‘/^GRUB_CMDLINE_LINUX/s/"$/\ net.ifnames=0"/‘ /etc/default/grub
8.检查grub配置项
9.为 grub2 重新生成配置文件
- grub2-mkconfig -o /boot/grub2/grub.cfg
10.官方检测Nitro脚本(主要修改fstab uuid挂载数据盘)
11.启用实例ENA(如果没启用的情况下)
- 如果变更实例类型后启动提示需要开启ENA
- aws ec2 modify-instance-attribute --instance-id instance_id --ena-support
参考文档:
https://aws.amazon.com/cn/premiumsupport/knowledge-center/boot-error-linux-nitro-instance/
https://console.aws.amazon.com/support/home?region=sa-east-1#/case/?displayId=7091330931&language=en