組み込みLinux用の腐食防止SDカードファイルシステム?

組み込みLinux用の腐食防止SDカードファイルシステム?

最近、私たちはリモートセンシングデータを表示するために使用されるRaspberry Piベースの「キオスク」と呼ばれるクライアントに関してはやや不快な状況に直面しました(データ収集サーバーで自己更新Webページを表示するキオスクモードブラウザよりも珍しいことはありません) 。ファイルシステムの破損。 Ext4には手動fsckが必要で、システムは明日の重要なデモの一部になる予定で、すぐにサービスを受ける必要があります。もちろん、夜にシステムをシャットダウンするとき、顧客にシステムを正しくシャットダウンするように要求することはできません。システムはこれらの乱用に耐えることができなければなりません。

今後はこのような状況が発生しないようにして、これを防止できるファイルシステムにオペレーティングシステムを移したいと思います。 MTDデバイスには多くのファイルシステムがあり、SDカード(標準ブロックデバイス)で実行するにはいくつかの深刻なジャンプが必要です。損傷耐性の良い他のファイルシステム(ログなど)があります。私はまだ彼らの長所と短所を合理的に比較する必要があります。

Linuxで利用可能なファイルシステムは、予期しない停電が発生した場合に損傷から最高の保護を提供し、不可能な問題を超える必要はありません。ヤフス2SDにインストールするには

ウェアレベリングは利点ですが、必須ではありません。 SDカードには通常完璧ではなくても独自のメカニズムがありますが、システムは「フラッシュフレンドリー」でなければなりません(NTFSなどのシステムは1ヶ月以内にSDカードを破壊する可能性があります)。

ベストアンサー1

単一のSDカードの最高の損傷防止機能は次のとおりです。RAID1のBTRFS自動クリーニングモードは、事前定義された時間ごとに実行されます。

特典:

  1. ファイルシステムの読み書き機能を維持します。
  2. 透明な圧縮やスナップショットなど、非常に便利なオプションをRPiに提供するすべての機能を備えた最新のファイルシステム
  3. 特にFlashを念頭に置いて設計されています

実行方法は次のとおりです。

私はArchARM LinuxでRaspberryPiを実行しており、私のカードはSDカードリーダーにあります。

以下は、パーティションレイアウトの例です。

/dev/mmcblk0p1: fat32 boot partition
/dev/mmcblk0p2: to be used as btrfs partition
/dev/mmcblk0p3: to be used as btrfs partition (mirrored with the above)
/dev/mmcblk0p4 (optional): swap

btrfsをRAID1に統合するには、次のようにファイルシステムを作成します。

mkfs.btrfs -m raid1 -d raid1 /dev/mmcblk0p2 /dev/mmcblk0p3

rsync -aAXvこれにより、以前にバックアップしたシステムを使用できます。

raid1のBTRFSから起動するには、initramfsを変更する必要があります。。したがって、システムが古いファイルシステムで実行されている間は、次のことを行う必要があります。

ラズベリーは通常mkinitcpioを使用しないため、インストールする必要があります。次に、mkinitcpio.confのMODULES配列に "btrfs"を追加し、次のコマンドを使用してinitramfsを再生成する必要があります。

mkinitcpio -g /boot/initrd -k YOUR_KERNEL_VERSION

YOUR_KERNEL_VERSIONの代わりに何を入力するかを確認するには:

ls /lib/modules

カーネルを更新する場合は、再起動する前にinitramfsを再生成する必要があります。

その後、RPiの起動ファイルを変更する必要があります。

cmdline.txt には次のものが必要です。

root=/dev/mmcblk0p2 initrd=0x01f00000 rootfstype=btrfs

config.txt に以下を追加する必要があります。

initramfs initrd 0x01f00000

これをすべて行い、btrfs RAID1システムで正常に起動した後に残る唯一のことは、systemdタイマー(優先)またはcron(dcron)を使用して定期的なクリーンアップ(3〜7日ごと)を設定することです。

btrfs scrub start /

ファイルシステムで実行され、すべてのファイルのチェックサムを比較し、破損した部分が見つかった場合は回復します(正しいコピーに置き換えます)。

BTRFS RAID1、シングルメディア、Raspberry Piの組み合わせは、これを非常に神秘的にします。すべての作品を一つにまとめるには少し時間と労力が必要でしたが、ここにあります。

おすすめ記事