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カードに書き出すようにするといいです。

ITエンジニア募集中!

キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。

下記よりITエンジニア募集の採用情報をご覧いただけます。


コメントを残す

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

CAPTCHA