
私はフラッシュ メモリ上の ext4 を使用する新しい組み込みシステムのプロトタイプを作成しています。これらのシステムは、ローカル システム管理者なしでリモートで展開されるため、診断もネットワーク経由でリモートで行う必要があります。
ext4 のデフォルトのマウント オプションは、エラーが発生したときに FS を読み取り専用に設定することです。多くの操作が動作を停止し、リモート ログインができなくなる可能性があるため、私のケースではこれは深刻すぎると思います。
私はシステムを実行したままにしておきたいです (そして、いくつかの FS エラーを許容します)。したがって、私の場合、マウント オプション "errors=continue" の方が適切と思われます。ただし、FS エラーが発生したときにアプリケーションに通知して、これらのエラーを優先度の高い問題としてログに記録し、その情報をサーバーに送り返せるようにしたいと考えています。
これを標準の Linux カーネル (x86_64 上の 4.8.1) で実行できるかどうか知っている人はいますか?
答え1
システムを稼働させ続けること(そして多少のFSエラーを許容すること)を希望します
これは矛盾した言葉です。FS エラーが発生すると、システムは長くは動作しません。実際、 を実行すると、errors=continue
破損したファイルシステムがさらに損傷し、回復の見込みがなくなる可能性が非常に高くなります。
/
FS エラーが発生してもアプリケーションが操作を継続できるようにしたい場合は、読み取り専用になったことを検出し、強制的に fsck を実行して再起動するスクリプトが必要です。
いつかはすべてが破綻します。これはエントロピー増大の法則です。堅実なエンジニアリング原則を遵守し、ミッションクリティカルな使用事例向けに高品質の部品を入手すること以外、実際にできることは何もありません。