SMARTは私のディスクの1つから回復できない読み取りエラーを検出しましたが、zpool status
すべてのディスクが「オンライン」として表示されます(IEはダウングレードされていません)。
- なぜこれが起こるのか知っていますか? ZFSはできるだけ早くすべてのエラーを知っていると思います。
- すべてのディスクの状態を再確認するには、クリーンアップを実行する必要がありますか?
- SMARTに自動的にZFSに報告させることはできますか?
答え1
- なぜこれが起こるのか知っていますか? ZFSはできるだけ早くすべてのエラーを知っていると思います。
- すべてのディスクの状態を再確認するには、クリーンアップを実行する必要がありますか?
- SMARTに自動的にZFSに報告させることはできますか?
- いいえ、すべてのブロックを常にチェックするわけではありません。必要な場合やアクセス時に記録されたすべてのブロックを考慮できるようにするだけです(重複が可能な場合は回復できます)。空のスペースはまったく確認せず(価値あるデータがないので時間の無駄なので)読み込み時に一般データだけを確認します(書き込みは追加専用なので)。 mmusanteが述べたように、エラーが深刻で自動回復が不可能な場合にのみエラーメッセージが表示されます(そうでない場合は、通知とエラーの数だけが表示されます
zpool status
)。 - はい。
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
)。