You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
nvme_core.io_timeout=4294967295 as a boot param is the AWS recommended approach. https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1842562 goes a step further to use udev to then lower the per-device timeouts for EC2 instance storage NVMe drives back to the Linux default io timeout after the global boot param has been maxed out.
Here's an FCC snippet that sets appropriate io timeouts based on the type of NVMe device (max io_timeout for EBS and 30s for instance storage) at a later stage in the boot vs the nvme_core kernel argument:
I do prefer the udev rules approach instead of a kernel arg since we don't really have platform-specific kargs in our images (except the Ignition platform ID, but that one is kinda special).
On the topic of NVMe and udev rules in AWS, this came up recently as part of #601, which pointed to having it part of systemd (systemd/systemd#11532). This can be another rule we can add there (and that way it benefits all systemd-based distros).
Per https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#timeout-nvme-ebs-volumes EBS NVMe volumes need to have an io timeout greater than the Linux kernel default of 30 seconds. AWS recommends 4294967295. Container Linux fixed this issue in coreos/bugs#2484; however, FCOS AMIs use the Linux upstream default value of 30 seconds. For reliable operation on AWS, FCOS needs to increase the default io timeout for EBS NVMe volumes.
nvme_core.io_timeout=4294967295
as a boot param is the AWS recommended approach. https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1842562 goes a step further to use udev to then lower the per-device timeouts for EC2 instance storage NVMe drives back to the Linux default io timeout after the global boot param has been maxed out.Here's an FCC snippet that sets appropriate io timeouts based on the type of NVMe device (max io_timeout for EBS and 30s for instance storage) at a later stage in the boot vs the nvme_core kernel argument:
The text was updated successfully, but these errors were encountered: