正如上回所述,SAN問題所引起的影響隨時超過5分鐘,在秒秒鐘幾廿萬上落的金融世界當然不可以接受。有見及此,在SLES11 SP3 / RHEL6.5+及kernel 2.6.32-431或之後增加左SCSI timeout parameters tuning feature,可以在/etc/udev/rules.d檔案下增加下列rules:
timeout -更改進入recovery mode的timeout value。default是60,可以改成30
SUBSYSTEM=="scsi" , ATTR{type}=="0|7|14", ATTR{timeout}="30"
eh_timeout - 更改unresponsive device的timeout value。default是10,可以改成5
eh_deadline - 更改整個error recovery process timeout value。default是0,建議改成90SUBSYSTEM=="scsi" , ATTR{type}=="0|7|14", ATTR{timeout}="5"
SUBSYSTEM=="scsi_host" , ATTR{modelname}=="42C2069", ATTR{eh_deadline}="90"
Finetuning 完畢後recovery flow如下:
優化後最大的recovery time是120s,比之前的500s縮短了很多!就算在最壞情況,因為每個device的timeout value是5s,假如系統有10 LUN device,也只是120 + 5*10 = 220s,完全符合Oracle RAC eviction的300s限制!

