diary.sorah.jp

ごがつじゅうはちにち

ちょっと前から録画サーバーに logrotate を入れて (入れ忘れてた) 放置してたらサーバーがいきなり hang するようになって、rotate のタイミングぽいから無効化して放置していた。 やっぱりログが肥大なので適当に手で掃除してたら目の前で hang してくれて、まだ ssh セッションもいきている状態だったので調査できた。

具体的には munin の巨大なログを rotate するときに munin があやしいのかと思ったらそうではなかった。 手で log の掃除をしてた時に起きて、しかしmuninはそんなへんな感じになっていなかったのでファイル周りがあやしいのかなあと想像。その内 LA がみるみる上昇していく。でも CPU 使用率はそんな高くない。

というわけで ps してみると uninterruptable なプロセスがわんさかいらっしゃるの。そして /var/log ディレクトリを見に行った瞬間そのプロセスはそうなる。ssh とか sudo はログを吐きにいくから当然刺さる。tmux でひたすら :new-window su してしのぎました。

結論としては dmesg で ext4 サブシステムがなんか吐いてくれてた。 https://gist.github.com/sorah/d2927b576687bda99f6b#file-dmesg

/var/log がおかしいことになってるので当然再起動した後は書き込まれてなくてわからなかったので目の前で再現してくれて助かった。

linux.git: 89a4e48f8479f8145eca9698f39fe188c982212f で直っているみたいなのでひさびさにカーネル更新して終了、したい。ひさびさに更新しようとしたら udev とかいろいろ依存が絡んできてつらい目にあっています。まずは gcc を新しくビルドしないと udev がビルドできない。

Backfilled at , Published at