Additional Virtualization Discussions

Ubuntu VMware Guest Disk Timeout Setting.

craigz
7,307 Views

Hello All! I couldn’t find anything regarding GOS timeout settings for Ubuntu guests in the “VMware ESX Guest OS I/O Timeout Settings for NetApp Storage Systems” KB ( https://now.netapp.com/Knowledgebase/solutionarea.asp?id=kb41511 ). Since I am not a Linux expert by any means, I am curious if any of the Linux flavors specified in the guide would translate to Ubuntu or not? Anyone out there have experience setting the GOS timeout for Ubuntu to the NetApp recommendation? Any help appreciated, especially a high-level procedure.

thanks!

--craig

3 REPLIES 3

rsarraf
7,307 Views

Hi Craig,

Most distros use the same tools with slightly different settings.


For the Guest VM's SCSI Disks, you are required to increased the timeout values. That's what the script in the kB does.

#Purpose: This script will create a udev rule on a RHEL 5 Guest OS
#which will set the required SCSI I/O timeout (190s) for
#connectivity to NetApp storage systems.

Looking at the comments, all you need to do is increase the timeout value to 190 seconds.

1) You could write a udev rule where you trap  SCSI Disk's Add events and then run a command to update the timeout to 190 seconds. Like: ACTION=="add", SUBSYSTEM=="scsi" , SYSFS{type}=="0|7|14", RUN+="/bin/sh -c 'echo 190 > /sys\$\$DEVPATH/timeout'"

2) Other option would be to add the similar lines in /etc/rc.local

for dev in /dev/sd?; do echo 190 > /sys/block/`basename $dev`/device/timeout

The benefit of Option 1 is that the settings are applied as soon as the device is created, where as in Option 2, the settings will be applied once the OS has booted.

Disclaimer: Please note that this is not tested.

mkirkbride
7,307 Views

NetApp’s scripts for Redhat call “start_udev” or “udevstart” after they set up a udev rules script, but I can’t find an equivalent command for Ubuntu. There is some “udevcontrol” command that can do “start_exec_queue” and “stop_exec_queue” (whatever that means) but it doesn’t seem to be the same as what RedHat is doing.

kris_boeckx
7,307 Views

Hi,

On our ubuntu servers I do this

nano -w /etc/udev/rules.d/20-netapp.rules

and add this line

KERNEL=="sda", SUBSYSTEM=="block", RUN+="/bin/sh -c '/bin/echo 190 > /sys$DEVPATH/device/timeout'"

Please note that this only works for "sda". If you have other disks, you need to add additional lines / change the disk name

This is tested and is working

Greetings,

Boeckx Kris

Pidpa

Public