HN 日本語サマリー

← 一覧へ戻る
その他

P[ドライブ障害]: NASはどれくらい信頼できるか?

P[drive failure]: how reliable is your NAS? (khz.ac)

8 pointsby nosolace7 コメント

要約

この記事は、個人のNAS(ネットワーク接続ストレージ)システムにおけるデータ永続性の課題について論じています。著者は、長期的なデータ保存の信頼性を確保するために、Btrfsファイルシステムと地理的に分散したRAID1構成(ローカルとリモートのコピー)を採用する計画を説明しています。ドライブの物理的な故障とセクターエラーという2つの主要なデータ損失モードを分析し、最新のハードドライブの信頼性に関する傾向と、監視システム(SMART)の限界について考察しています。

全文翻訳

私は自分のデータを一生保持したいと考えています。現代のハードウェアはこれをサポートするのに十分に進歩しているはずですが、「永遠」についての議論になると、現実世界は必然的にその醜い頭をもたげます。永遠なものはありません。(世界が明日終わる確率 > 0)なのですから。私の人生(そしておそらくあと一、二世代の人生)は、私の目的に十分であるはずです。注:これは以前仕事のために行った分析をやり直したものです。当時、ML用途(モデルの保存)と政府検査記録保持の両方で約200TBのネットワークストレージを運用しており、そのためある程度の信頼性を証明できる必要がありました。残念ながら、それを適切に実装する前に退職してしまいました。:( 背景 NASを構築しています。「まさか、ナウシカ!」単なるJBODではありません。導入段落で述べたように、それに頼れるようになりたいのです。お気に入りの写真、記念のテキストメッセージ、蓄積したコンピュータのバックアップ、そしてかけがえのない税務書類の保管庫にするつもりです。つまり、その寿命の間、許容できるほど低い確率(例えば10^-4)で何も忘れないようにする必要があります。その寿命もまた、おそらく私の残りの寿命であり、執筆時点では約50年です。これには冗長性が必要です。50年で故障する(確率約1)単一のストレージデバイスに頼ることはできません。私はせっかちであり(そして以前にも同様の分析を行ったことがある)、4台の8TBドライブを注文し、この投稿を書くことにしました。もしあなたが未来から来たなら、こんにちは!これは2026年で、AIが王様で、ストレージは非常に高価でした。私ができる最も信頼性の高いアーキテクチャで、それがどれほど信頼できるかを理解するだけで済みます。 アーキテクチャ 低いP[データ損失]のために、私のNASの計画アーキテクチャは次のとおりです。4台のドライブを2つのグループに分け、それぞれBtrfs RAID1にします。一方のグループを数州離れた父の家に置き、ローカルコピーをリモートコピーと自動的に同期させます。もし自分でこれをやっているなら、非常に重要な注意点:dupではなく、可能であればraid1(またはraid1c3/4)を使用してください。なぜなら、後者は律儀にブロックを複製しますが、両方のコピーを同じデバイスに配置する可能性があり、ドライブの故障に対して保護されないからです。dupを使用するのは…実際にはよくわかりません。おそらく、ユースケースがあればメールで教えてください。 Btrfsの良い点は、ZFSも同様ですが、次世代ファイルシステムには一般的にこの機能があります。なぜなら、私たちは皆、ストレージが誤りやすいものであり、コンピュータ上のデータが私たちにとって重要であることを受け入れ始めているからです。それは各データブロック(ドキュメントによると16KiBのようです)をチェックサム化し、読み取り時に破損したブロックを自動修復します。ただし、そのブロックの良いコピーがどこかにあれば、という条件付きです。これは、RAID1のドライブがある場合—各ブロックは2つの別々のデバイスに存在します—単一のドライブ障害と単一のブロック破損の両方から保護されることを意味します。 SMART監視と障害ポリシー 冗長性を気にするなら、ドライブに組み込まれている監視システムを無視するのは愚かでしょう。したがって:NASの問題が発生した場合、完全なドライブ障害またはSMARTエラーの急速な蓄積のいずれかがあった場合、問題のあるドライブを交換し、再構築します。Btrfsのreplaceコマンドは、冗長データのみから行うための方法であり、ドライブが完全に故障した場合に使用するでしょう。 ビットが死ぬときどこへ行くか ハードドライブがあなたを悲しませる方法は、少なくとも2つあります。私は全知を主張しているわけではありません。ハードドライブがあなたを悲しませる方法:故障する、またはあなたが伝えたことを忘れる。ドライブが故障した場合、それが保持していたすべてを失います。唯一の選択肢は、それを交換し、冗長コピー(あなたが持っていることを願っています)からそのデータを再構築することです。ドライブが読み取り時にエラーを発生させた場合、そのディスクセクター(通常512B)のすべてのデータを失います。これは文献では潜在セクターエラー、またはLSEとして知られており、データシートでは回復不可能な読み取りエラー、またはUREとしても知られています。UREに関する注:ドライブのデータシートには「10^15あたり1件」のような数値が記載されていますが、この数値にはほとんどの場合、単位がありません。クロードと私は、最も可能性の高い単位は「読み取られたビットあたりのセクターエラー」であることに同意します。これは偶然にもドライブメーカーを可能な限り良く見せるものです。これは、そのセクターにとって死からほど遠いものです。ドライブは動作中に不良セクターを積極的にリマップするため、LSEを発生させたドライブは機能し続けます(ただし、以下を参照)。P[データ損失]の適切な数学モデルを理解するためには、これら2つの障害モードの形状を理解する必要があります。読み取りに進みましょう! ディスク障害 信頼性工学(つまり、統計によって測定されるほど大規模な機器の故障)について話すとき、人々は「バスタブ曲線」について話します:古典的なバスタブ曲線。これはドライブの故障率には当てはまりません。考え方は、ほとんどのハードウェア障害は、製造/QAの問題(早期に現れる傾向がある)、ランダムなイベント(比較的一定のレートで発生する)、または長期的な摩耗による機器の故障(後期に現れる傾向がある)のいずれかによるというものです。興味深いことに、人間の死亡率(少なくとも米国では)も同様の曲線に従います。2023年のSSAの生命表の「死亡確率」列を参照してください。これは8歳と9歳で死亡確率が最小になることを示しています。もちろん、人間はデータシートの仕様内に留まることで知られていません…しかし、驚くべきことに、ハードドライブもそうではありません。この曲線は、最新のハードドライブではますます不正確になっています。2000年代にはおおよそ正確でしたが、Backblazeの2025年10月の年次故障率に関する投稿は、このグラフを示しており、これは明らかにバスタブではありません: Backblazeの2025年年次故障率曲線。これはドライブが故障したときの年齢のヒストグラムであり、上記のバスタブとは正確には同じタイプの曲線ではありませんが、2013年のデータが明らかにバスタブを形成していたことにも注意してください。Backblazeは、この変化する曲線形状を、過去10年ほどのハードドライブの信頼性が向上したこと、および故障の性質が変化したことの証拠と解釈しています。最近では、年次故障率(AFR)はドライブの年齢に関してほぼ一定です。(彼らの2025年のまとめでは、彼らのドライブとワークロードで約1.4%のAFRを引用していますが、これはモデルとメーカーによって0.2%から6.3%のAFRまで様々です。) Pinheiro, Weber, & Barroso 彼らの論文からのもう一つの注目すべき点は、「一部のSMARTパラメータ(スキャンエラー、再割り当てカウント、オフライン再割り当てカウント、および試用カウント)は故障確率に大きな影響を与える」一方で、多くの故障したドライブはSMARTエラーが全くなく、内部ドライブ診断が警告として完全に信頼できないことを意味します。一部のドライブが「太陽の表面よりも熱い」温度を報告したことを考えると、これはかなり安全な賭けのように思えます。彼らのUSENIX論文では、AFRはワークロードともあまり強く相関しないことに注意してください。これは私には非常に奇妙ですが、計算を容易にします。その変動性は私を心配させます。それは、特定のドライブモデルの真のAFRは測定によってのみ導き出すことができることを示していますが、私は選択したドライブのデータを持っていません。なんとかやりくりする必要があります。 セクター障害 データが失われるもう一つの方法を見てみましょう:セクターが悪くなることです。Bairavasundaramらの分析(2007年のSigmetrics誌に掲載)は、単一セクター障害の状況が、まあ、2007年にどのようであったかを詳述しています。彼らは、LSEが発生したという条件付き確率が、特定のディスクのLSEの事前確率よりも有意に大きいことを観察しました—1つのエラーが発生したディスクは、さらにエラーが発生する傾向がありました。Schroeder、Damouras、&Gillによると、LSEはほとんどの時間(ドライブの≥55%が2週間以内にすべてのエラーを発生させた)と空間(「エラーの20〜60%は…10セクター未満の隣接セクターを持つ」)に集中しています。彼らのデータセットのほとんどのドライブ(約90%)は、「エラーバースト」(連続したブロック空間のエラーのセットと定義)あたり1つのLSEしか経験しませんでした。