## Rules to add in /etc/udev/rules.d/99-Tegile-Disk-Timeout.rules ## RHEL6.8 ACTION=="add", BUS=="scsi", SYSFS{vendor}=="TEGILE " , SYSFS{model}=="INTELLIFLASH ", RUN+="/bin/sh -c 'echo 128 >/sys$DEVPATH/queue/max_sectors_kb'" ##RHEL7 ACTION=="add", KERNEL=="sd*", SUBSYSTEM=="block", ATTRS{model}=="INTELLIFLASH ", ATTRS{vendor}=="TEGILE ", RUN="/usr/bin/sh -c 'echo 10 > /sys$devpath/device/timeout'" ## NOOP Configuration for iSCSI Edit the /etc/iscsi/iscsid.conf Add the following: node.conn[0].timeo.noop_out_interval = 0 node.conn[0].timeo.noop_out_timeout = 0 #Add a dynamic iSCSI Target: #iscsiadm -m discovery -t st -p 192.168.2.180 #Login to each target IP: #iscsiadm -m node -T iqn.2012-02.com.tegile:tegile01-pool-a -p 192.168.2.180 -l #Rescan FC HBA: #echo "1" > /sys/class/fc_host/hostXX/issue_lip or, you can script it with: for hba in `ls -d /sys/class/fc_host/host*`; do echo "1" > "$hba/issue_lip";done #Rescan iSCSI Target (Sometimes you also need to rescan the SCSI BUS) iscsiadm -m session --rescan #Rescan the SCSI BUS (Should only be needed for iSCSI and is not always needed.) echo "- - -" > /sys/class/scsi_host/hostXXX/scan for iscsiinit in `ls -d /sys/class/scsi_host/host*`; do for iscsionly in `cat "$iscsiinit/proc_name"`;do if [ $iscsionly == 'iscsi_tcp' ];then echo "Rescanning: $iscsiinit/scan";echo "- - -" > $iscsiinit/scan;fi;done;done #Update Dev-Mapper: multipath -v3 #Then to view devices and paths: multipath -ll # Update udev rules without a reboot: udevadm control --reload-rules && udevadm trigger # Test a specific device: udevadm test /sys/devices..../dm-0 # Device Mapper Requirements for Boot From SAN Update device mapper version to 0.4.9-99.el7_3.3.x86_64 (refer https://access.redhat.com/errata/RHEA-2017:1300.html) # FC BFS - Rebuild initramfs: cp -av /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut -f -v -a multipath --include /etc/multipath /etc/multipath reboot