Based on http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009465
Starting with Linux 2.6.13
kernels the timeout value for a Linux block device can be set using the sysfs
interface. This will not affect kernels below 2.6.13. Increasing the disk timeout value for every disk attached to the virtual machine can prevent the issue from recurring.
sysfs
using the command:find /sys/class/scsi_generic/*/device/timeout -exec grep -H . '{}' \;
sysfs
interface. For example:echo 180 > /sys/block/ sdc/device/timeout
udev
rule at /etc/udev/rules.d/99-vmware-scsi-udev.rules
that sets the timeout for each VMware virtual disk device and reloads the udev
rules so that it takes effect immediately. This rule is applied during each subsequent startup. For example, the following is the udev
rule from vSphere 4.x:# Redhat systems
ACTION=="add", BUS=="scsi", SYSFS{vendor}=="VMware, " , SYSFS{model}=="VMware Virtual S", RUN+="/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'"
# Debian systems
ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware " , ATTRS{model}=="Virtual disk ", RUN+="/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'"
# SuSE / Ubuntu systems
ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{vendor}=="VMware, " , ATTRS{model}=="VMware Virtual S", RUN+="/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'"
Download 99-virt-scsi-udev.rules and move it to /etc/udev/rules.d/