web-dev-qa-db-ja.com

どのくらいの頻度でRAIDをスクラブする必要がありますか?

一般的に、RAIDアレイをスクラブする必要がある頻度を知りたいです。より頻繁にスクラブする必要がある原因は何ですか(データの読み取り?、データの書き込み?、予期しないシャットダウン?、ドライブの使用期間?、ドライブのサイズ?、ユーザー数?)

私はArchのwikiを読んでいます here 本当に言っていることは、スクラブは定期的に行う必要があるということだけです。どれだけ定期的に足りるかと思っていたところです。明らかに依存しますが、妥当な範囲とは何ですか?毎年?毎月?毎週?毎日?情報ありがとうございました。

13
mrfred

どのくらいの頻度でスキャンする必要があるかは、多くのことに依存します。

  • ディスクの古さ。それらが古ければ古いほど、その可能性は高くなります 悪を封じ込めるため
  • 問題のディスクの元の品質。 「エンタープライズ」として販売されたものはエラーがなくなる可能性が高く、2014年の1 + TBサイズのディスクは、出荷時の2009年のディスクよりもはるかに信頼性が高くなっています。
  • プロダクションI/OがスクラブI/Oに対してどれだけ敏感か。
  • データセットのどの程度をワーキングセットと見なすか。

ハードウェアRAIDベンダーは、まさにこの理由でバックグラウンドスクラブプロセスを含むことが多く、スクラブプロセスのI/O優先度を調整して、スクラブの本番I/Oペナルティを回避(または大幅に削減)することもできます。もちろん、優先度が低く、製品I/Oがディスクをほぼ完全に実行している場合、スクラブを完了できず、エラーが発生するまで気付かないでしょう。

残念ながら、LinuxカーネルがスクラブI/Oの優先順位を下げているかどうかはわかりません。どちらの方法でも、本番負荷でテストして、パフォーマンスへの影響が許容範囲内であることを確認することをお勧めします。許容範囲内であれば、良いです!そうでない場合は、スピンドルを追加してscrub + prod I/Oを許可するか、将来のアレイ障害のリスクを受け入れるかどうかを選択できます。

スクラブ頻度に影響するもう1つのことは、I/O使用パターンです。本番負荷が少数のディスクのみにヒットする場合、通常アイドル部分で不良ブロックを検出する唯一のI/Oはスクラブです。その場合は、より頻繁にスクラブする必要があります。プロダクションロードが定期的にディスクセット全体を読み取る場合(毎日のフルバックアップなど)、プロダクションI/Oはより早く問題に遭遇し、スクラブの頻度を減らすことができます。

適切な行動計画は次のとおりです。

  1. いくつかのテストを実行して、スクラブが本番環境の邪魔になるかどうかを確認します。
    1. 完全なスクラブを行っている時間を把握します。
  2. 特定の週にディスクセットの何パーセントが複数のアクセスを取得するかを計算します(この計算にバックアップI/Oがあればそれも含めます)。
  3. 1と2に基づいて、キャンプの頻度が低いか高いかを判断します。

そのデータを取得したら...

  • フルスキャンが1日で完了し、生産に大きな影響を与えない場合は、週に1回の頻度で実行できます。
  • フルスキャンが1日で完了し、生産に影響を与える場合は、週/月のどの部分が最も影響を受けていないかを特定し、それを実行してみてください。
  • フルスキャンが1日で1週間未満で実稼働に影響を与えない場合は、隔週または隔月で実行します。
  • フルスキャンに1日以上1週間未満かかり、生産に影響する場合は、リソースを追加して実行できるようにするか、調整されたメンテナンスウィンドウの間にスキャンを実行する必要があるか、またはスクラブのアイドル/チェック機能を利用して実行します。それは収まり、継続的に始まります。
  • フルスキャンに1週間以上かかる場合は、月1回で十分です。ただし、本番環境に影響を与える場合は、リソースを追加して完了する必要があります。
15
sysadmin1138