[VMWare] SCSIディスクのタイムアウトの件
(ちょっと?)ストレージLANのパス障害を発生した(させた?)際に、ゲストOS(RHEL4)側でESXiのパスフェイルオーバーまで待てなくて、I/Oエラー発生→ファイルシステムがReadOnlyになってハマったのでメモ
要は物理サーバ前提のSCSIのI/Oのタイムアウトのデフォルト設定値より、仮想環境の場合、仮にストレージのパスが冗長となっていても切り替わるまで若干時間がかかるため切り替わりが待ち切れるまでの時間にしておきましょうということです。
理屈はわかっていたけど、実際の設定値まで気にしたことなかったので今回は勉強になった(__;
◆Linuxの場合
cat /sys/block/sda/*/timeout
RHEL5,6はVMWare Toolsをインストールすると自動で180秒にするスクリプトを「/etc/udev/rules.d/99-vmware-scsi-udev.rules」にいれてくれるのですが、(今回ハマった)RHEL4の場合はデフォルトの「30」のまま変更されていないので手で変更しないといけなさそうです。RHEL4がすでに終了なので対応していないだけか?
対応としてはRHEL4(CentOS4)の場合は無理やりrc.localに書いてしまうとかでどう?
echo 180 > /sys/block/sda/device/timeout
◆Windowsの場合
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Disk\TimeOutValue
に設定値あり、180秒ぐらいなっていればいいと思われます。
<参考URL>
Increasing the disk timeout values for a Linux 2.6 virtual machine(Knowledge Base)
Inconsistent Windows virtual machine performance when disks are located on SAN datastores(Knowledge Base)
Linux based file systems become read-only(Knowledge Base)
最近のコメント