AWS C4升级-基于Nitro(C5,R5,M5)无法启动问题)

longshilincom 2020-06-25

用户需求

  • 成本优化
  • 性能优化

1.查询模块是否安装

  • modinfo ena
  • modinfo nvme

2.查看nvme和ena模块是否存在系统引导临时文件系统中

  • lsinitrd /boot/initramfs-$(uname -r).img | grep "nvme|ena"

3.查看系统载入模块

  • lsmod | grep "nvme|ena"

4.更新系统模块依赖项

  • modprobe ena
  • modprobe nvme

5.更新 initramfs 以确保在启动时加载新模块

  • dracut -f -v

6.再次检查系统是否载入模块

  • lsinitrd /boot/initramfs-$(uname -r).img | grep "nvme|ena"
  • lsmod | grep "nvme|ena"

7.禁用网络接口命名

  • RHEL 6 将net.ifnames=0 附加到 /boot/grup/menu.lst 文件的内核行中。
    • vi /boot/grub/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配置项

  • cat /proc/cmdline

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

相关推荐