デフォルトの起動が失敗した場合に備えて、起動/ルートバックアップ

デフォルトの起動が失敗した場合に備えて、起動/ルートバックアップ

私はRaspberry Piに基づくミニサーバーを持っています。それらの多くがあります。しかし、現在何らかの理由でSDカードのファイルシステムが破損し、デバイスが正常に動作しなくなったため、比較的頻繁にエラーが発生しています。

より安定したMMCを持つようにCM3+に移行してこの問題を解決する予定ですが、各個々のデバイスの信頼性も向上させたいと思います。

したがって、質問は次のようになります。

2つのブート/ルートパーティション(プライマリパーティションとプライマリパーティションが破損した場合のバックアップ)を持つディスクレイアウトを作成できますか?その後、ブートローダ(grub?)は起動試行を記録し、正常に起動したシステムはそれをリセットします。失敗した起動回数が指定された回数を超えると、バックアップをプライマリデータベースにコピーするか、バックアップから開始します。

ベストアンサー1

私はRaspberry Piに基づくミニサーバーを持っています。それらの多くがあります。しかし、現在何らかの理由でSDカードのファイルシステムが破損し、デバイスが正常に動作しなくなったため、比較的頻繁にエラーが発生しています。

rootfs用のSDカードは良い考えではありません。少なくとも:

  • 記録しないでください。またはtmpfsにログインしてください。
  • 不要なFS修正を防ぐためにマウントオプションを調整します(noatime、、、nodiratime...)

より安定したMMCを持つようにCM3+に移行してこの問題を解決する予定ですが、各個々のデバイスの信頼性も向上させたいと思います。

eMMCが良いと思われます。

2つのブート/ルートパーティション(プライマリパーティションとプライマリパーティションが破損した場合のバックアップ)を持つディスクレイアウトを作成できますか?

これが解決策であるかどうかはわかりません。代わりに、より良いファイルシステムを見てみましょう。例えば、F2FSまたはそのようなもの。

その後、ブートローダ(grub?)は起動試行を記録し、正常に起動したシステムはそれをリセットします。失敗した起動回数が指定された回数を超えると、バックアップをプライマリデータベースにコピーするか、バックアップから開始します。

バラよりこの投稿グラブ(Grub)とラズベリーパイ(Raspberry Pi)について。問題は、ラプスベリーパイ固有のローダーが必要であるということです。私の考えでは、そのようなトリックを実行することはできないようです。

私があなたのような問題を解決する必要がある場合、私がすることは次のとおりです。

  1. 最小のオペレーティングシステムを構築します(たとえば、Yoctoまたは自分で作成したRaspbianを使用)。
  2. NFS または TFTP を使用して起動し、tmpfs を rootfs として使用します。
  3. 永続ストレージにのみeMMCを使用すると、明らかに使用が最適化されます。

利点:

  • システムファイルはRAMにのみ存在するため、eMMCやSDカードを焼くことを心配する必要はありません。
  • (NFS / TFTPサーバー上)1つのツリーを更新して再起動すると、すべてのLabsberry Piが更新されます。

欠点:

  • rootfsがRAMに保存されるため、アプリケーションで使用できるRAMが少なくなります。

おすすめ記事