Changes between Version 4 and Version 5 of IntelEdisonJournalDiskUsage


Ignore:
Timestamp:
Nov 15, 2014 11:07:55 PM (10 years ago)
Author:
sgk
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IntelEdisonJournalDiskUsage

    v4 v5  
    22
    33= ディスクがどんどん減っていく(journald) =
    4 
    5 Edisonのルートパーティションは512Mしか無いので、どんどん場所が無くなる。
    6  * `opkg`のカタログデータがそこそこでかい。初めて「`opkg update`」コマンドを実行すると8Mくらい使う。
    7  * `opkg`で何かインストールすると、そのぶん使う。
    8  * `journald`によるログが、なんだか増えていく。
    94
    105`journald`は、ファイルシステムの容量を把握し、残容量を監視しながら適切にログを削除してくれるはず。
     
    127ところが、どうも、「`/var/log/journal`」以下のファイル容量が増えていってしまうことがある。
    138
     9当初、[http://trac.switch-science.com/wiki/IntelEdisonJournalDiskUsage?version=3 この原因は「`reboot ota`」のせいだと書いた]が、どうやら違っていたようだ。
     10独立した原因が2個ある。
     11
     12== 原因1 ==
     13
     14ログファイルは、「`/var/log/journal`」の下の、マシンIDを16進表記したディレクトリの下に作られる。
     15ところが、このマシンIDが、起動するたびに変化してしまう。
     16変化するから別のディレクトリにログを記録し、古いログの容量を把握しなくなってしまう。
     17
     18この問題は、以下のように操作すれば解消される。
    1419{{{
    15 root@edison:~# journalctl --disk-usage
    16 Journals take up 5.8M on disk.
    17 root@edison:~# du -s /var/log/journal/
    18 11896   /var/log/journal/
     20# umount /etc/machine-id
     21# systemd-machine-id-setup
     22# rm -rf /var/log/journal/*
     23# reboot
    1924}}}
    2025
    21 このように、`journald`が把握しているログ容量と、実際に使っているディスク容量が違うことがある。
     26== 原因2 ==
    2227
    23 == ~~原因はファームウェア更新~~ ==
     28「`shutdown`」できちんとシャットダウンした場合は問題無い。
     29ところが、「`reboot`」や突然の電源断を行った場合、使用中のログファイルが壊れる。
     30壊れたログファイルは、次回の起動時に「`system@`''????????????????????????????????''`.journal~`」というような名前に変更されて保存される。
     31このファイルは、ログファイルの定期ローテーションの際に回収され、「`/etc/systemd/journald.conf`」に設定したディスク容量設定に従うように適切に削除される。
     32ところが、短時間にこのような再起動を繰り返した場合、定期ローテーションにひっかからず、ディスク容量を食いつぶしてしまう。
     33これは、systemdのバグまたは制限事項であり、Edisonのバグとは言えないだろう。
    2434
    25 ~~原因は、ファームウェアの更新。~~
     35消極的な対策しかない。
     36 * 短時間に何度も再起動しないようにする。
     37 * 短時間に何度も再起動してしまった場合は、適宜「`rm /var/log/journal/`''????????????????????????????????''`/*.journal~`」というコマンドを実行する。
     38 * Edisonで何らかの対策がなされるのを待つ。
     39 * 「`/etc/systemd/journald.conf`」に「`Storage=volatile`」という設定をする。
     40ただし、「`Storage=volatile`」という設定を行った場合は、カーネルパニックなどの問題をみつけて究明するのが難しくなる。
    2641
    27 ~~「`/var/log/journal`」の下には、`journald`の管理しているマシンのIDを名前としたディレクトリが有り、その中にログが保存される。
    28 ファームウェアを更新するとマシンのIDが変わり、ログを保存するディレクトリが変わるのに、以前のディレクトリがそのまま残る。
    29 このせいで、ファームウェアの更新を繰り返していると、ディスクが余計に減ってしまう。~~
    30 ~~
    31 
    32 == 原因は、rebootまたは電源断 ==
    33 
    34 原因はファームウェアの更新かと思っていたが、どうも、単なるrebootや電源断でも増えるみたい。どうしたものか。
    35 
    36 == 対策 ==
    37 
    38 ファームウェアの更新時、「`reboot ota`」コマンドを実行する直前に「`rm -rf /var/log/journal/*`」を実行すればよい。
    39 
    40 [https://communities.intel.com/message/260944#260944 同じ事で困ってる人がいたのでコメント書いた。]
     42[https://communities.intel.com/message/262848#262848 同じ事で困ってる人がいたのでコメント書いた。]
    4143
    4244----
    43 2014/11/6
     452014/11/15