nvmeタイムアウトをfailure_early_に短縮 - 影響はありますか?

nvmeタイムアウトをfailure_early_に短縮 - 影響はありますか?

Linuxカーネルを使用するVMware Workstation仮想化ホスティングプラットフォームでは、私はしばしば次の問題を抱えています。

[ 2181.746685] nvme nvme0: I/O 0 QID 4 timeout, completion polled

私はこれが仮想NVMeコントローラ/ VMware仮想プラットフォーム実装の欠陥によるものだと思います。

残念ながら、これが発生するたびにシステムは約30秒間ブロックされます。この仮想コントローラは非常に高速な実際のSSDと効果的に通信できますが、長すぎます。

これで、Linux NVMeモジュールのオプションを調整してタイムアウト(!)を2秒に短縮しようとしていますcat /sys/module/nvme_core/parameters。結局のところ、これはほぼ最大値に達した非常に高速なSSDなので、NVMeコマンドが2秒未満で実行されない場合は、疑わしい仮想NVMe制御サーバー以外のデバイスがオフになります。

io_timeout30秒から2秒に変更すると、どのような欠点がありますか?仕事が失敗すると予想した急いでこれは基本的にエラーがより速く発生することを意味し、これはすべての回復メカニズムがより速くトリガーされることを意味します。

クラウドベンダーのドキュメントを見たことがあり、io_timeoutプラットフォームで無限に設定することをお勧めしますが、彼らのプラットフォーム必ずしも正しいアプローチではありません私のVMwareワークステーションプラットフォーム

関連情報