オペレーティングシステムが故障したドライブに書き込もうとしないように、IOレイテンシと再試行をどのように減らすことができますか?
私はデモコンテンツのコピーを作成して顧客に貸し出し、通常のSATAデスクトップハードドライブに保存するシステムを持っています。 SASを介して複数のドライブを同時に接続し、スクリプトを使用してコンテンツをコピーします。
ドライブをレンタルしたため、一部のドライブが破損する可能性がありますが、破損しているかどうかはわかりません。次にドライブをコピー操作で再利用するときに、システムがそのドライブのIOを再試行すると、速度が遅くなります。異なるドライブ速度。場合によっては、破損したドライブを検出して削除するのに数時間かかることがあります。ドライブを取り外した後、残りのドライブは通常の速度で書き込みを開始しました。
不良ドライブの回復には興味がありません。他のすべての速度を遅くしないようにそれらを消去するだけです。
また、バッドブロックとsmartmontoolsも見て、書き込み前にドライブを事前にチェックすることも検討しています。
オペレーティングシステム:Ubuntu Linux(12.04lts)
ベストアンサー1
以前はこの調整可能項目を使用したことがありませんが、調整したい場合があります。uh_timeout(エラー処理タイムアウト)ドライブの問題:
[root@localhost device]# cat /sys/block/sda/device/eh_timeout
10
[root@localhost device]#
上記の表示はsda
10秒に設定されています。 Red Hat Knowledgebaseから:
一部のストレージ構成(たとえば、LUNが多い構成)では、SCSIエラー処理コードが応答しないストレージデバイスに対してTEST UNIT READYなどのコマンドを実行するのに多くの時間を費やすことがあります。新しいsysfsパラメータeh_timeoutがSCSIデバイスオブジェクトに追加されました。これにより、SCSIエラー処理コードで使用されるTEST UNIT READYおよびREQUEST SENSEコマンドのタイムアウト値を構成できます。これにより、応答しないデバイスを確認するのにかかる時間が短縮されます。 eh_timeoutのデフォルト値は10秒で、この機能が追加される前に使用されたタイムアウト値でした。