Raspberry PiのログをRAMDISKに置く方法



甘くないラズベリーパイことRaspberryPiのtmpディレクトリやログファイルをRAMDISKに置く方法です。 安価で省電力省スペース、静かなLinuxマシンとして使え、なおかつGPIO端子も備えており、各種センサー等を接続することでこの頃流行りのIoT(Internet of Things)デバイスも開発できちゃうRaspberry Pi(以下ラズパイ)。 Apache等を導入して常時稼動のWebサーバーとしても使えるラズパイですが、ラズパイの記憶装置はHDDではなくmicroSDカードです。なのでswapを使用したり24時間稼動でApacheのログファイル等を書きこんでいくと書き込み回数制限によりSDカードの寿命がどんどん削れていきます。 ということでswapファイルの作成を停止させ、RAMDISKを作成してSDカードの延命を図るための手順です。 (使用OSはRaspbianです。)

1.swapを無効化

freeで確認するとswapファイルが100MBほどあるのがわかります。 swapを無効化します SWAPが消えました このままだと再起動した時にswapが復活するので でswapを自動生成するプログラムを消します。 rebootしてfreeでswapが生成されていないのを確認しましょう。 常時稼動のwebサーバーとして使わないならswapを消すだけでも延命工作としては十分かもしれません。

2.RAMディスクの作成

次はRAMDISKにApacheのログや一時ファイルを移していきましょう。まずfstabを編集してマウント設定の変更をします。 編集し終えたらrebootしてマウント確認をしましょう。 tmpfsがきちんとマウントされていますね。 RAMDISKに移す/var/log 内のファイルの準備をしましょう。 起動時に/var/log以下のディレクトリを作成するinitスクリプトを作成します。 このinitプログラムの起動用リンクを作成します。 何かエラー出てますね…。 そういえば実行権付け忘れてましたね。chmodしましょう。 これでもう一度リンクを作成するとエラーもなく通りました。 最後にランレベル2用の起動スクリプトディレクトリを確認しときましょう。 ここで、S01make-varlog-filesS02apache2より若い数字に指定されてるのでApacheの起動条件としては問題ないです。 これでラズパイの一時ファイルやログがRAMDISKに保存されるようになりました。延命工作完了です。 この状態だとRAMDISKにログが記録されていくため、そのままラズパイの電源を落とすとログは消えてしまいます。 何か記録しておきたいログがある場合、cronで定時シャットダウン前にメールでログを送信するようにしたり定期的にログをSDカードに書き出すようにするといいです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  • キュア子の紹介

人気記事ランキング