web-dev-qa-db-ja.com

組み込みデバイス、ログパーティション、どのファイルシステムがより回復力があり、読み取り/書き込みの使用量が少ないですか?

読み取り専用ファイルシステムを備えた組み込みLinuxデバイスがあります。ログのアーカイブを保存するために使用される別のパーティションがあります。

このパーティションはたくさん書き込まれます。寿命と安定性を確保するには、どのLinuxパーティションを使用する必要がありますか?

Ext2-ext4ファイルシステムはジャーナリングに多くの読み取り/書き込みを使用すると聞きました。 vfatはどうですか?予期しない停電はどうですか?

2
Paul Knopf

ext3noatimeオプションとともに安全に使用できます。そうすると、実際のファイル書き込みのみが書き込みモードでフラッシュデバイスに接触します。 ext3fsジャーナルは、突然電力が不足する可能性のある組み込みシステムの場合に適しています。

私は個人的にこの方法で数年間、シンプルなSDメモリカードを搭載したいくつかのRaspberry Piを実行し(24時間年中無休、UPSによってバックアップされておらず、突然の停電が発生しました)、カードを交換する必要はありませんでした。電源回復後の起動に関する問題。

vfatに関しては、前述したように、ジャーナリングは利点です。

編集:さらに、rwにマウントされたルートfsでそれらを実行します

4
Serge

Ext4はフラッシュメディア用に設計されていません。それは機能し、非常に幅広い使用法があるため安全な値ですが、特にウェアレベリングを行わないフラッシュメディアでは必ずしも最良の選択ではありません。

[〜#〜] ubifs [〜#〜] は、生のNANDフラッシュ用に特別に設計されています。任意のブロックデバイスでは機能しません。基盤となるMTDストレージデバイスが必要です(MMCやSDなど)独自のブロックマッピングを行うデバイスとは対照的です)。生のNANDフラッシュではおそらく最良の選択ですが、ディスクイメージをマウントするだけでは不十分なため、デバッグやテストが面倒になる可能性があります。

LogFS 別の候補かもしれません。ほとんどの操作で良好なパフォーマンスが得られますが、履歴の安定性に問題があり、保守されていないと思います。 2009年の東芝によるプレゼンテーション では、破損のバグで非難されましたが、それ以降、完全に解決されているかどうかはわかりません。

[〜#〜] yaffs [〜#〜] および JFFS2 は、最近主に置き換えられている古いファイルシステムです。 JFFS2は、小さなファイルシステム(構成データなど)では問題ないと見なされますが、「大きな」ファイルシステムでは問題ないと考えられます。ログが数MBを超える場合は、JFFS2を避けてください。

F2FS は比較的新参者です。大規模なフラッシュファイルシステム用に設計されています(最小サイズは10MBです!)。まだ成熟していると考えられるかどうかはわかりません。

(注:これらのファイルシステムの実際の産業経験はありません。)