フラッシュメモリには書き込み回数が制限されているため、オペレーティングシステムが長期的に安定して実行できるように、フラッシュメディアにLinuxシステムをインストールするにはどのような調整が必要ですか?
フラッシュインストールの例としては、Linuxイメージをワイヤレスルーターのフラッシュメモリに書き込み、SDカードをハードドライブとして使用して、ボックスにLinuxディストリビューションをインストールするなどがあります。
また、すでにこれらの調整を実装している可能性があるワイヤレスルーターファームウェア(OpenWRT、DD-WRTなど)に加えて、これらの調整を実行したり、オプションとして使用できる一般的なディストリビューションはありますか?
答え1
/tmp
ディレクトリは、/var
多くのシステムプログラムが頻繁に作成し、書き込み可能性に依存するディレクトリです。これらのディレクトリへの書き込みを最小限に抑えるか、これらのディレクトリを交換可能な外部ストレージ(オンボードフラッシュではない)にマウントするようにLinuxを設定すると、目標を達成するのに役立ちます。
/home
スワップパーティションも同じ方法で処理する必要があります。
rsyslogd
Debianおよび多くのDebian派生ディストリビューションのデフォルトのsyslogdは、ログをディスクに書き込むのではなく、ネットワーク接続を介して転送し、内部バッファがいっぱいになったときにのみストレージにログを書き込みます。これを実装すると(現在、良い方法で行う方法を理解しようとしています)、多くのフラッシュ書き込みを削除できます。
また、ファイルシステムをマウントするときに、noatime
Linuxがタッチしているすべてのファイルのアクセス時間を更新できないようにするオプションを使用したいと思います。また、大規模な書き込みを排除し、パフォーマンスを向上させることができます。sync
Linuxの自動呼び出し間の時間を制御するカーネルパラメータもあるようです。システムで突然の停電が発生しないと予想される場合は、デフォルトの5秒よりも高い値に設定できます。
答え2
フラッシュメモリには、最終的に書き込みによって発生する消去周期の数が制限されていると言う方が適切です。この区別に関する良い記事がたくさんあります。
Linuxイメージをルーターファームウェアに書き込むと言った場合、これはおそらくNORフラッシュまたはEEPromです。 NORは読み出し速度が速いフラッシュメモリタイプ、NANDは書き込み速度が速いフラッシュメモリタイプです。
ext3では、ログは最も頻繁に記録されるファイルであり、これらの書き込みは最終的に1つのブロックを埋め、他のブロックは消去されます。マウントに大きな値を設定すると、commit=
これらのログ書き込みはより大きなチャンクに収集されます。
最後に、他のソリューションへの対応でnoatime
影響を減らすためのインストールは標準的な慣行です。