予期しないシャットダウンによってLinuxコンピュータが損害を受ける可能性がある
予期しないシャットダウンは、他のオペレーティングシステムと同じくらいLinuxにとって有害ですか?致命的なシステムシャットダウンがLinuxファイルシステムに及ぼす影響を調査するときにお読みください。.
本日の質疑応答セッションは、コミュニティ主導のQ&A Webサイトのグループである、Stack Exchangeの下位区分であるSuperUserの好意により提供されます。.
質問
SuperUser読者User208554は、Linuxのファイル構造に興味があり、彼が取り組んでいるアプリ/インストールについて心配しています。
私はLinux組み込みボード(Debianを実行します)上でアプリケーションを開発しています。ラズベリーパイ、ビーグルボード/ボーン、またはオリメックス。これらのボードは、予想外に電力が遮断されるような環境で動作し(PSUなどを設置するのは非常に複雑すぎます)、毎日2、3回発生します。予期せぬ停電がLinuxオペレーションシステムに問題を起こすのではないでしょうか。それが私が心配すべき何かであるならば、あなたは予期しない停電に対するOSの損害を防ぐためにあなたは何を提案しますか?
PS。アプリケーションはデータを記憶媒体(SDカード)に書き込む必要があります。読み取り専用としてマウントするのは適切ではないと思います.
だから評決は何ですか?
答え
SuperUserの寄稿者l0b0は、ジャーナリング/非ジャーナリングファイルシステムについてのいくつかの洞察を提供しています。
これはに依存します
- ジャーナリングファイルシステムを使用しているかどうか
- アプリケーションが中止された処理をどの程度うまく処理できるか.
たとえば、ファイルを処理し、計算された結果(入力行ごとに1つの出力行)を別のファイルに書き込むアプリケーションを考えます。処理中に電源が切れ、再起動後に同じアプリケーションが実行された場合、入力ファイルの先頭から処理を再開することはできません。つまり、出力ファイルに重複した情報が含まれることになります。.
仮想の複雑なシステムについて明確なことを言うのは非常に難しいかもしれませんが、最も安定したLinuxソフトウェアはクラッシュをきちんと処理することができるようです.
Stu氏は、オペレーティングシステムとデータを分離し、さらにバッテリバックアップを追加することをお勧めします。
OSの破損の可能性を最小限に抑えるには、SDカードに別々の「システム」パーティションと「データ」パーティションを配置することがおそらく最善です。このようにして、「システム」パーティションを読み取り専用でマウントし、「データ」パーティションに復元力の高いFSを使用することができます。.
さらに、それらのボードのほとんどは非常に低い電力要件を持っているので、バッテリバックアップが可能です。 Raspberry Pi用の「LiPoライダー」ボードは、停電時にクリーンシャットダウンを提供するための基本的なUPSとして使用できます。.
最後に、Jenny Dがジャーナリングファイルシステムの提案についてさらに詳しく説明します。
予期せぬ停電はファイルシステムデータの破損を引き起こす可能性があります。プロセスがファイルへの書き込みを開始したが、まだ書き込みを終了していない場合、ファイルは半分しか書き込まれないことがあります。カーネルのアップグレードの途中で停電が発生するかどうかを想像してみてください。
l0b0が書いたように、ジャーナリングファイルシステムを使うことは助けになるでしょう、なぜならそれは実際に行われたことを追跡することができるからです。 l0b0がリンクしたウィキペディアの情報に加えて、あなたは興味があるかもしれません.
プログラマーとしてのあなたは明らかにそれがアトミックなプロセスになるようにファイルへの書き込みをどう処理するかを注意深く考慮する必要があります(すなわちそれは完全に行われているか全く行われていません。それはかなり複雑な問題です.
説明に追加するものがありますか?コメントの中で消してください。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらのディスカッションスレッドをチェックしてください。.