关键词:EBS/NVMe
NVMe EBS卷使用操作系统提供的默认NVMe驱动程序。大多数操作系统为提交到NVMe设备的I/O操作指定一个超时。默认超时为30秒,可以使用nvme_core.io_timeout引导参数(对于版本4.6之前的Linux内核为nvme.io_timeout引导参数)更改。为了获得与附加到Xen实例的EBS卷类似的体验,建议将该参数设置为可能的最大值。对于Amazon Linux AMI 2017.09.01(或更高版本)以及具有4.15或更高版本的Linux内核,最大值为 4294967295。在 Linux4.15之前,最大值为255秒。如果使用当前版本的Amazon Linux AMI,默认已增加了该超时。
现象:EBS卷的错误,变成Readonly,后续又可以成功读写
参考如下指令:
Redhat :echo 4294967295 > /sys/module/nvme_core/parameters/io_timeout
Ubuntu: cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.4.0-1060-aws root=LABEL=cloudimg-rootfs ro console=tty1 console=ttyS0 nvme.io_timeout=4294967295
最好在grub加上nvme.io_timeout=4294967295让这个设置随着每次开机都能套用,防止系统重启后参数重置