SDカードで運用するシングルボードコンピュータのようなフラッシュメモリをストレージに使用したシステムでは、フラッシュメモリの寿命に配慮して書き込み回数・頻度・量を抑止するため、ログを随時フラッシュメモリに書き込まないための手段が採られることがあります。
これらは所謂RAMディスクの技術を使い、システム起動・停止時などの限られた機会のみにRAMディスクの内容をフラッシュメモリと同期させることで、フラッシュメモリへの書き込みを減らすことを狙っています(逆に言えば、意図しない停電時などにはRAMディスクの内容が消失しますので、ログも失われるリスクがあります)。
導入したLinuxディストリビューションに元からインストールされているのならそれを使えばいいと思いますが、そうでなければ自力で導入する必要があります。で、調べてみると似たようなツールが複数存在してどれを使うか迷ったのでまとめておきます。
folder2ram
- 一部にramlogのロジックを使用
- 記録先: tmpfs
- GPLv3 License
- OpenMediaVaultで採用されている*1
- OMV Pluginのinstallスクリプトでarmbian-ramlogまたはlog2ramが既に存在する場合はそれらを無効化するロジックが入ってる
log2ram
GitHub - azlux/log2ram: ramlog like for systemd (Put log into a ram folder)
- ramlogのようなもの
- 記録先: tmpfs or zram (default: tmpfs)
- MIT License
armbian-ramlog
build/armbian-ramlog at master · armbian/build · GitHub
- log2ramを使用
- 記録先: zram or tmpfs (zramが使用できない場合はtmpfsを使用)
- GPLv2 License
- armbianでデフォルトで導入済
雑感
- いずれもUbuntuやdebianの公式リポジトリからパッケージマネージャ(apt)で導入できない
- いずれも実体はシェルスクリプト
- 私見ではどれが良いとか優れているとは言い難いが、使用経験のあるものについては以下の通り
- armbian-ramlogは基本的にはzramと組み合わせて使用することを狙っており、RAMディスクに使用されるメモリ領域の削減が図れる
- だが、そのための圧縮処理が必要でCPUパワーも消費される
- メモリ512MBの32bit Quadcore ARMなnanopi neoで動画生成するシステム(時間帯により高負荷連続・消費メモリ量多い)では実用にならなかった
- folder2ramはメモリ1GBの64bit Quadcore ARMなPINE64で動かしてるNAS(低負荷)で特に問題無く動いている
以上。
*1:シングルボードコンピュータ版以外は任意導入のプラグインかもしれない