본문 바로가기

Linux

Settings for Linux hosts on V3700 storage

Settings for Linux hosts

To ensure path recovery in failover scenarios, certain Device Mapper Multipath (DMMP) settings and udev rules for the attachment of Linux hosts to Storwize® V3700 are recommended. These settings are valid for IBM® System x®, all Intel or AMD-based servers, and Power® platforms.

You must restart your host after you complete the following two steps:
  • Editing the multipath settings in /etc/multipath.conf
  • Editing the udev rules for SCSI command timeout

For each Linux distribution and releases within a distribution, refer to the default settings under [/usr/share/doc/device-mapper-multipath.*] for Red Hat and [/usr/share/doc/packages/multipath-tools] for Novell SuSE. Ensure that the entries added tomultipath.conf match the format and syntax for the required Linux distribution. Use the multipath.conf only from your related distribution and release. Do not copy the multipath.conf file from one distribution or release to another.

For some operating system levels, the "polling_interval" needs to be located under defaults instead of under device settings. If"polling_interval" is present in the device section, comment out "polling_interval" by using a # key.

For example:
Under Device Section
# 		polling_interval 30,

Under Defaults Section
defaults {
		user_friendly_names yes
		polling_interval  30
}

Multipath settings for specific Linux distributions and releases

Edit /etc/multipath.conf with the following parameters and confirm the changes by using ’multipathd -k"show config"’.

RHEL62 and RHEL64
	device {
		vendor "IBM"
		product "2145"
		path_grouping_policy group_by_prio
		getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
		features "1 queue_if_no_path"
		prio alua
		path_checker tur
		failback immediate
		no_path_retry "5"
		rr_min_io_rq 1
# 		polling_interval 30
		dev_loss_tmo 120
	}
SLES10SP4
	device {
		vendor "IBM"
		product "2145"
		path_grouping_policy group_by_prio
		features "1 queue_if_no_path"
		path_checker "tur"
		prio "alua"
		failback "immediate"
		no_path_retry "5"
		rr_min_io "1"
# 		polling_interval 30
		dev_loss_tmo 120
	}
SLES11SP1
	device {
		vendor "IBM"
		product "2145"
		path_grouping_policy group_by_prio
		prio alua
		features "0"
		no_path_retry 5
		path_checker tur
		rr_min_io 1
		failback immediate
# 		polling_interval 30
		dev_loss_tmo 120			
	}
SLES11SP2
	device {
		vendor "IBM"
		product "2145"
		path_grouping_policy "group_by_prio"
		prio "alua"
		path_checker "tur"
		failback "immediate"
		no_path_retry "5"
		rr_min_io 1
		dev_loss_tmo 120
	}

Udev rules SCSI command timeout changes

Set the udev rules for SCSI command timeout.

Set SCSI command timeout to 120s.

Table 1 shows the operating system level defaults and required settings.
Table 1. Operating systems and required settings for udev
Operating system levelDefaultRequired setting
RHEL6230120
SLES11SP160120
SLES11SP230120

Udev rules file creation

To increase the SCSI command timeout for Storwize V3700, create the following udev rule:
udev rules file
cat /etc/udev/rules.d/99-ibm-2145.rules

# Set SCSI command timeout to 120s (default == 30 or 60) for IBM 2145 devices
SUBSYSTEM=="block", ACTION=="add", ENV{ID_VENDOR}=="IBM",
ENV{ID_MODEL}=="2145", RUN+="/bin/sh -c 'echo 120 > /sys/block/%k/device/timeout'"

After you set up your volumes, locate the block device paths by running "multipath -ll | grep sd" from the command line, and repeatedly running "cat /sys/block/sdX/device/timeout" (where X is 2145 block device path), checking each for 120 seconds.