質問: zfsは突然の電力損失に対処できますか? (ディスク自体に障害が発生していないか、信頼性が低下していない場合、どのイベントによってプールが回復不能になるか) すべてのリソースによると、zfsにはfsckやリカバリツールがなく、zilにはバッテリーバックアップssdを使用しています。プラグが突然引っ張られた場合(upsなどにもかかわらず、完全な電力損失が発生しますが、物理的な損傷やヘッドクラッシュなどはないと想定)、ssdはキャッシュをnvramに書き込んでから、静かになります。再起動時に、zfsが一貫した状態になり(一部のデータが失われた場合でも)、プールが使用可能/読み取り可能になる可能性はどのくらいありますか?更新私は実際にもっと近いことを尋ねるつもりだと思います。データが基本的に無傷であるにもかかわらず、zfsがプールを読み取ることができなくなる状況につながるイベントは何ですか? zfsが何から回復できるか(または適切なハードウェアがあれば回復できるか)、何が回復できないか(または適切なハードウェアがないと回復できないか)は明確ではありません。これは、内部で自己チェックと修正を行うためです。明らかに不十分な冗長性+ディスク障害(または他の主要なハードウェアの問題)は1つのケースであり、ファームウェア/ソフトウェアのバグによる完全なワイプ/上書きは別のケースです。しかし、ストレージメディア、ハードウェア、およびソフトウェアがまだ確実に/適切に機能していると仮定すると、他に何がうまくいかなかったのか、結果としてプール?プールの修正に関する制限はどこにありますか?それができない前にどのような状況が発生しなければならず、それらを引き起こすために何が起こらなければなりませんか?
回答: 私は4台のサーバーとラップトップで5年以上zfsを使用しています。書き込みの多いサーバーで電源障害がほとんど発生せず(upsファームウェアが壊れて誤ったデータを報告)、気づかなかったany *データエラー/プールマウントの問題(これは、最新のトランザクションによるデータ損失がなかったことを意味するわけではありません)前に説明したように書き終えていなかった/ cow)* zfsマニュアルから逸脱したときの1つのイベントを除く:1つのディスクにzfsがありました(iscis san lunはホストにマップされています))kvmゲストと最初のデータコピー後、キャッシュモードをwritebackからwritethroughに変更するのを忘れました。プール(5tb)は読み取り可能でしたが、20k以上のエラーが報告されました。バックアップサーバーからのデータを使用してプールを再作成する必要がありました-zfsスナップショットとzfs send/receive2分のデータのみが失われました(つまり、はるかに悪化する可能性があります)eccメモリを使用し、すべての書き込みバッファリングを無効にします(少なくともbbu / fbuなし–別のストーリーの対象)、= rtfmそしてzfsは堅実です。