ZFSがディスクパフォ​​ーマンスの低下を報告しないのはなぜですか?

ZFSがディスクパフォ​​ーマンスの低下を報告しないのはなぜですか?

SMARTは私のディスクの1つから回復できない読み取りエラーを検出しましたが、zpool statusすべてのディスクが「オンライン」として表示されます(IEはダウングレードされていません)。

  1. なぜこれが起こるのか知っていますか? ZFSはできるだけ早くすべてのエラーを知っていると思います。
  2. すべてのディスクの状態を再確認するには、クリーンアップを実行する必要がありますか?
  3. SMARTに自動的にZFSに報告させることはできますか?

ベストアンサー1

  1. なぜこれが起こるのか知っていますか? ZFSはできるだけ早くすべてのエラーを知っていると思います。
  2. すべてのディスクの状態を再確認するには、クリーンアップを実行する必要がありますか?
  3. SMARTに自動的にZFSに報告させることはできますか?
  1. いいえ、すべてのブロックを常にチェックするわけではありません。必要な場合やアクセス時に記録されたすべてのブロックを考慮できるようにするだけです(重複が可能な場合は回復できます)。空のスペースはまったく確認せず(価値あるデータがないので時間の無駄なので)読み込み時に一般データだけを確認します(書き込みは追加専用なので)。 mmusanteが述べたように、エラーが深刻で自動回復が不可能な場合にのみエラーメッセージが表示されます(そうでない場合は、通知とエラーの数だけが表示されますzpool status)。
  2. はい。
  3. cronjobを介して定期的にプールをきれいにする方が簡単です。一般的な推奨事項は、エンタープライズクラスのディスクの場合は月に1回、消費者クラスのディスクの場合は週に1回程度です。それ以外の場合は、次のコマンドを使用して手動でスクラブを開始できます。smartmontoolsのスクリプト:

    ほとんどの場合、/etc/smartmontools/run.d/にスクリプトを配置するだけです。 smartd は、レポートを送信しようとするたびにスクリプトを実行する smart-runner を実行します。

    あなたのスクリプトには利用可能ないくつかの変数があります(smartdのマニュアルページをもう一度参照してください)。テスト実行の結果は次のとおりです。

    SMARTD_MAILER=/usr/share/smartmontools/smartd-runner
    SMARTD_SUBJECT=SMART error (EmailTest) detected on host: XXXXX
    SMARTD_ADDRESS=root
    SMARTD_TFIRSTEPOCH=1267409738
    SMARTD_FAILTYPE=EmailTest
    SMARTD_TFIRST=Sun Feb 28 21:45:38 2010 VET
    SMARTD_DEVICE=/dev/sda
    SMARTD_DEVICETYPE=sat
    SMARTD_DEVICESTRING=/dev/sda
    SMARTD_FULLMESSAGE=This email was generated by the smartd daemon running on:
    SMARTD_MESSAGE=TEST EMAIL from smartd for device: /dev/sda
    

    また、スクリプトには「$1」として使用できるレポートの一時コピーがあります。完了すると削除されますが、/var/log/syslog には同じ内容が記録されます。

    次に、デバイス名をプールにマップします(解決可能zpool status)。

おすすめ記事