コンテキスト
私はMicro SDデザインのRaspberry Pi Zeroを実行しています。ただし、この特定のアプリケーションでは、通常Raspberry Piで使用されているように読み取り専用システムを使用することはできません。
目的
Micro SDの状態を確認してください(そして最終的にはMicro SDを交換する必要があることを知らせます)。
質問
- Micro SDの状態を監視する最良の方法は何ですか(いいえ、
fsck
システムの実行中にMicro SDをアンマウントできないため)。 - 以下に提案されたアプローチは、実用性と効率性の面で最高のソリューションですか?
提案されたアプローチ
badblocks
出力を使用してMicro SDの状態を監視し、適切な場合は最終的に交換しようとしました。しかし、いつMicro SDを交換する必要がありますか?不良ブロックが多すぎると何個ですか?書き込みエラーまたは読み取りエラー、または両方を見つける必要がありますか?
私は次のことを考慮しました。 Micro SDカードは、不良ブロック外のデータを自動的に再割り当てします。したがって、Micro SD が 80% になると、ブロックの 20% が「間違っている」場合でも、Micro SD が実行を継続できます。わずかな信頼区間を追加すると、badblocks
不良ブロック出力の数が空き容量ブロックの50%未満であっても、SDカードを使用しても安全であると言えますか?
言う:
- 総ブロック数:100
- ブロック内の空きスペース:20
- 許容可能な破損したブロックの最大数(またはその他):10
答え1
不良ブロックは何個も多すぎますか?
一つ。
badblocks
間違ったツールです。最初の不良ブロックが報告されたときは、フラッシュメディアが損傷するのに十分に使用されていました。同様に、fsck
すでに問題が発生している状況のみを検出でき、データが失われる可能性があります。
SDカード(および一般的に見られるすべてのフラッシュ大容量記憶装置)のハードウェアにはフラッシュ変換層があり、本質的にアナログで信頼できず、物理メモリが摩耗しやすいことを単純で信頼できるように見せます。ブロック - アドレス指定可能なメモリです。これは2つの方法で行われます。
- ページが書き込まれる回数が多いほど、ビットが単に反転するという事実を防ぐための広範な順方向エラー修正。
- Pi/OS で見える論理ページへの書き込みができるだけ多くの物理ページに分散され、常に同じページで作業しないようにする摩耗の平準化
これは、摩耗平準化がハードウェアで発生し、オペレーティングシステムには見えないことを意味します。ファイルシステムドライバが不良ブロックを検出すると、エラー修正で処理できない回復不能エラーが発生します。ページが多く記録されない限り、これはほとんど起こりません。この場合、完全な書き込みボリュームのために摩耗レベリングが限界に達した。これは何度も書き込んだことを意味するため、書き込みをメディア全体に分散した後でも、一部の場所にエラーが発生するほど頻繁に書き込まれます。 (通常、次に起こるのは、SDカード内のコントローラが読み取り専用デバイスになったことをホストに通知することです。)
だからではない。遅すぎるのを待たないと、SDカードのデータを検証して(fsckとbadblocksが実行する操作)、SDカードの状態を確認できません。
必要な情報は以下で提供されます。~へSDカードは、「予約」された書き込みの総数を推定します。私が知る限り、「Give me health information, dear SD card」コマンドに対する標準的な応答はありませんが、「産業用」とラベル付けされたSDカードはCMD65をサポートすることができ、それを読むのをサポートするいくつかのLinuxツール(sdmon)があります。
簡単に言えば、書き込みに安定した記憶領域が必要な場合、SDカードは最善の選択ではありません。インターフェースはもともとこれのために設計されていませんでした。代わりに、書き込みがほとんど線形で発生し、一度に大量のデータが書き込まれ、繰り返し書き込みがまれであると仮定します(カメラの使用の一般的な場合:フルイメージ書き込み、その後FATを一度更新します)。
Piに長期的に安定した大容量記憶装置が必要な場合は、USB-M.2(通常はSATA)コンバータハウジング(必要に応じて電源供給USBハブ)を購入して接続するのが最善です。 SSDが装着されている場合は、Rpi 0に設定してください。これらのコントローラのほとんどはSMARTコマンドをサポートしているため、実際に何かを監視するために使用できますsmartctl
。各属性の「正規化「価値がある以上これ」ハンマーストーン古い"値です。見つけることができる最も安いSSDを購入しないように注意してください。しかし、すべての中級SSDは177の属性、wear-level-count
195の属性Hardware ECC Recovered
、182の属性を持ちます。erase-fail-count-total
(これが起こると予想されます。そうしないと、これらの指標は役に立ちません)が、一度しきい値に近づくと、SSDの交換を検討することができます(RPi Zeroが最初に失敗する可能性があります。5 € RPiの間)。 、熱的、電気的信頼性のために設計されたゼロ消費グレードSSDです。