RHEL系操作系统(CentOS/CtyunOS)
安装依赖包
yum install dracut -y
运行以下命令,查看系统内核是否已经加载了NVMe驱动。
cat /boot/config-`uname -r` | grep -i nvme | grep -v "^#"
返回结果如上图所示,如果CONFIG_BLK_DEV_NVME=y则表示该操作系统可以直接使用,您需要跳过后续的步骤2、步骤3直接进行步骤4的参数配置。如果CONFIG_BLK_DEV_NVME=m则您需要依次完成以下操作步骤。
运行以下命令,查看initramfs中是否包含NVMe驱动。
lsinitrd /boot/initramfs-`uname -r`.img | grep -i nvme | awk '{print $NF}'
如果有类似于如上图所示的返回结果,则表示该操作系统可以直接使用,您需要跳过后续的步骤3,直接进行步骤4的参数配置。否则,您需要依次完成以下操作步骤。
依次运行以下命令,使initramfs支持NVMe驱动。
mkdir -p /etc/dracut.conf.d
echo 'add_drivers+=" nvme nvme-core nvme-fabrics nvme-fc nvme-rdma nvme-loop nvmet nvmet-fc nvme-tcp "' >/etc/dracut.conf.d/nvme.conf
dracut -v -f
在GRUB中添加NVMe相关的nvme timeout参数
打开/etc/default/grub文件,在GRUB_CMDLINE_LINUX=一行中,添加
nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295
参数信息。添加参数后,文件内容如下图所示:
运行以下命令,使配置的GRUB生效。
根据操作系统的启动方式不同,选择以下适用于您的操作系统的命令
(1)Legacy启动方式
grub2-mkconfig -o /boot/grub2/grub.cfg
(2)UEFI启动方式
grub2-mkconfig -o /boot/efi/EFI/<distro> /grub.cfg
watchdog的时间修改为30s。
打开/etc/sysctl.conf文件,在文件末尾添加
kernel.watchdog_thresh=30
文件内容如下图所示:
镜像制作完成后,为保证以上配置正确,可通过以下操作进行验证验证:
a)验证 /etc/default/grub 修改是否生效,参考:
cat /proc/cmdline
b)验证 /etc/sysctl.conf 是否正确配置 kernel.watchdog_thresh,参考:
cat /etc/sysctl.conf | grep watchdog
c)重启验证 NVMe 驱动信息,参考:
lsinitrd /boot/initramfs-`uname -r`.img | grep -i nvme | awk '{print $NF}'
参考上面步骤2
Debian系操作系统(Ubuntu/Debian)
运行以下命令,查看系统内核是否已经加载了NVMe驱动。
cat /boot/config-`uname -r` | grep -i nvme | grep -v "^#"
返回结果如下所示,如果CONFIG_BLK_DEV_NVME=y则表示该操作系统可以直接使用,您需要跳过后续的步骤1、步骤2直接进行步骤4的参数配置。如果CONFIG_BLK_DEV_NVME=m则您需要依次完成以下操作步骤。
运行以下命令,查看initramfs中是否包含NVMe驱动。
lsinitramfs /boot/initrd.img-`uname -r` | grep -i nvme
如果有类似于如上图所示的返回结果,则表示该操作系统可以直接使用。
在GRUB中添加NVMe相关的nvme timeout参数
打开/etc/default/grub文件,在GRUB_CMDLINE_LINUX=一行中,添加
nvme_core.io_timeout=4294967295 nvme_core.admin_timeout=4294967295
参数信息。添加参数后,文件内容如下图所示:
运行以下命令,使配置的GRUB生效。
根据操作系统的启动方式不同,选择以下适用于您的操作系统的命令
(1)Legacy启动方式
grub2-mkconfig -o /boot/grub2/grub.cfg
(2)UEFI启动方式
grub2-mkconfig -o /boot/efi/EFI/<distro> /grub.cfg
(3)不分区启动模式(该命令仅适用于Ubuntu/Debian系统)
update-grub / update-grub2
watchdog的时间修改为30s。
打开/etc/sysctl.conf文件,在文件末尾添加
kernel.watchdog_thresh=30
文件内容如下图所示: