设置高I / O超时的缺点?

我正在研究几台分区安装在NetApp NAS上的Linux虚拟机。 此NAS定期经历非常高的iowait,导致VM磁盘切换到只读模式,崩溃或损坏。

在VMware KB上 ,build议增加超时值作为姑息治疗:

echo 180 > /sys/block/sda/device/timeout

设置一个非常高的超时(1800或更高)的负面影响是什么? 我看到它的风险是,延迟的写入会累积并填充I / O写入缓冲区,导致系统崩溃。 因此,这个解决scheme可能比问题更糟糕。

大多数写入操作系统的脏页caching中, 已经被asynchronous完成。 换句话说,它们通常与设备超时无关。

但是,读取和同步写入需要立即关注底层块设备,这就是文件系统切换到只读模式的原因(无法将其日志写入磁盘)。

增加I / O等待时间应该没有坏的影响,但它不是一个银弹。 例如,即使底层文件系统保持读写模式,数据库也可以进入只读模式。