Skip to content

nitro_check_script.sh configure NVMe io_timeout#210

Open
iitggithub wants to merge 22 commits intoawslabs:masterfrom
iitggithub:master
Open

nitro_check_script.sh configure NVMe io_timeout#210
iitggithub wants to merge 22 commits intoawslabs:masterfrom
iitggithub:master

Conversation

@iitggithub
Copy link

Issue #, if available: None

Description of changes:

Update the nitro_check_script.sh bash script to include detection and configuration of nvme io_timeout kernel parameters in accordance with https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#timeout-nvme-ebs-volumes.

By configuring the check directly into the nitro_check_script.sh script, we can avoid nvme-related IO timeout (input/output) errors in future.

Checks and confirms which module is available with nvme_core taking precendence over nvme. io_timeout values are set according to the maximum supported by the parameter.

Uses tools such as grub2-mkconfig, grub-mkconfig, or grubby according to the operating system to modify kernel parameters.

Backs up any files that are modified ie /etc/default/grub, /boot/grub2/grub.cfg etc as /path/to/file.backup.$time_stamp to allow user to rollback any changes.

Tested against:

Debian 10
Debian 11
Ubuntu 14.04
Ubuntu 16.04
Ubuntu 18.04
Ubuntu 20.04
CentOS 6.10
CentOS 7.9
RHEL 6.10
RHEL 7.7
RHEL 8.2
Oracle Linux 7.5
SLES 12
SLES 15
AL1
AL2

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

iitggithub added 22 commits October 8, 2022 10:50
added support for debian/ubuntu checks
since modinfo -p doesn't always show the size of the parameter ie uint
on operating systems like RHEL6
…DLINE_LINUX is set in /etc/default/grub and use the appropriate variable
…ll fail to load the nvme driver at boot so using nvme.ko is preferred over simply looking for the string 'nvme'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments