Attachment requirements for hosts that are running the Linux operating system

Ensure that your system meets the requirements for attaching to a host that is running the Linux® operating system.

The following list provides the requirements for attaching the system to the host that is running the Linux operating system:

  • Check the LUN limitations for your host system.
  • Ensure that you have the documentation for your host and access to the hardware installation information for the correct model of your system. All system publications are available from the following website:

    www.ibm.com/support

  • Ensure that you install the correct operating systems and are running a supported kernel of Linux.
  • When you attach the system to a BladeCenter blade server, see the BladeCenter documentation for SAN configuration details.
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:
  • SCSI INQUIRY TIMEOUT
  • SCSI COMMAND TIMEOUT
  • Multipath settings in multipath.conf
Note: If you configure your system to use NPIV, there are less chances that the paths will get lost.
To set SCSI INQUIRY TIMEOUT use these steps:
  • Add scsi_mod.inq_timeout=70 to the kernel boot command line through GRUB configuration. By adding the scsi_mod.inq_timeout=70 parameter, the change in the parameter is persistent from a server reboot. Linux hosts can also regain system node paths when lost. This change can be done by completing the following steps.

    For SLES12 and SLES15 servers, follow these steps:
    1. To make the permanent change, edit /etc/default/grub and add to the GRUB_CMDLINE_LINUX_DEFAULT line:
      scsi_mod.inq_timeout=70
    2. Run the following command to rewrite the boot record:
      grub2-mkconfig -o /boot/grub2/grub.cfg
      
  • For RHEL6, RHEL7 and RHEL8 servers, follow these steps:
    1. To make the change permanent, edit /etc/sysconfig/grub and add to the GRUB_CMDLINE_LINUX line:
      scsi_mod.inq_timeout=70
    2. Run the following command to rewrite the boot record:
      grub2-mkconfig -o /etc/grub2.cfg

    The previous steps will be effective after rebooting. In RHEL6, RHEL7, RHEL8, SLES12, and SLES15, you can choose to change the inq_timeout parameter temporarily without rebooting. This method will not keep the parameter value persistent if the system ever reboots in the future and if you do not edit the GRUB configuration by following these steps. .

    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
    The output of the command shows that the value is changed to 70:
    Module = "scsi_mod"
    inq_timeout         = "70"
Note: It is best to perform both tasks in case the server is rebooted in the future.
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.
Udev rules file creation
  1. 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'"
  2. After you set up your volumes, confirm that they are set for 120 seconds. Locate the block device paths by running multipath -ll | grep sd from the command prompt. Then, run cat /sys/block/sdX/device/timeout (where X is each 2145 block device path).
  3. 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