You must ensure the following configuration settings to restore the path if they are lost during an upgrade or other hardware maintenance that results in a node being offline:
For Redhat
To make the change permanent, edit /etc/sysconfig/grub and add to the GRUB_CMDLINE_LINUX line:
scsi_mod.inq_timeout=70
Run the following command to rewrite the boot record:
grub2-mkconfig -o /etc/grub2.cfg
Use the following command to change the inq_timeout parameter temporarily without rebooting:
echo 70 > /sys/module/scsi_mod/parameters/inq_timeout
In RHEL6, RHEL7, RHEL8, SLES12, and SLES15 enter the following command to view that the change was made:
systool -m scsi_mod -A inq_timeout
To set the SCSI COMMAND TIMEOUT
Set the udev rules for SCSI command timeout to 120s. This is the recommended setting for all versions of Linux.
To increase the SCSI command timeout for the system, create the following udev rule:
# Set SCSI command timeout to 120s (default == 30 or 60) for IBM 2145 devices SUBSYSTEM=="block", ACTION=="change", ENV{ID_VENDOR}=="IBM",ENV{ID_MODEL}=="2145", RUN+="/bin/sh -c 'echo 120 >/sys/block/%k/device/timeout'"
To reload the udev rules without rebooting (or dynamically) you can run the following commands:
udevadm control -R /sbin/udevadm trigger --type=devices --action=add
For Redhat 9.2 and higher
Change the kernel parameter
[root@rheltpl9 ~]# grubby --update-kernel=ALL --args="scsi_mod.inq_timeout=70" [root@rheltpl9 ~]# grubby --info DEFAULT index=0 kernel="/boot/vmlinuz-5.14.0-427.33.1.el9_4.ppc64le" args="ro crashkernel=2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G rd.lvm.lv=rootvg/root rd.lvm.lv=rootvg/swap rd.lvm.lv=rootvg/usr $tuned_params scsi_mod.inq_timeout=70" root="/dev/mapper/rootvg-root" initrd="/boot/initramfs-5.14.0-427.33.1.el9_4.ppc64le.img $tuned_initrd" title="Red Hat Enterprise Linux (5.14.0-427.33.1.el9_4.ppc64le) 9.4 (Plow)" id="c4ba590dff44403bb6ce4ee53e233ca8-5.14.0-427.33.1.el9_4.ppc64le" [root@rheltpl9 ~]# cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="ofconsole" GRUB_CMDLINE_LINUX="crashkernel=2G-4G:384M,4G-16G:512M,16G-64G:1G,64G-128G:2G,128G-:4G rd.lvm.lv=rootvg/root rd.lvm.lv=rootvg/swap rd.lvm.lv=rootvg/usr scsi_mod.inq_timeout=70" GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true GRUB_TERMINFO="terminfo -g 80x24 console" GRUB_DISABLE_OS_PROBER=true [root@rheltpl9 ~]# init 6
Check after reboot
[root@rheltpl9 ~]# systool -m scsi_mod -A inq_timeout Module = "scsi_mod" inq_timeout = "70" [root@rheltpl9 ~]# cat /sys/module/scsi_mod/parameters/inq_timeout 70
Changing the disk timeout on Microsoft Windows Server
On your Windows Server hosts, change the disk I/O timeout value to 60 in the Windows registry, as follows:
In Windows, click Start > Run. In the dialog text box, type regedit and click Enter. In the registry browsing tool, locate the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Disk\TimeOutValue key. Confirm that the value for the key is 60 (decimal value). If necessary, change the value to 60.