LinuxCon2010/Logging Kernel Messages Without a Loss
Logging Kernel Messages Without a Loss
Seiji Aguchi, Hitachi
概要
日立は政府系、金融系のシステム構築を行っている。
この業界では、Linuxの”RAS”が重要
- Realiability
- Availability
- Serviceability
無停止で安定して動くため、負荷のかからないロギング・メッセージ通知の仕組みが必要
syslog/klogd
syslogd/klogdは、メッセージをprintkバッファにいったん置いたあと、表示デバイスや、ネットデバイスに出力する。
しかし、カーネルがクラッシュしたら、このバッファが失われてしまう。
kmsg_dumperでこの問題に対策した。
panic,oops,kexecをトリガにする。
mtd_oopsドライバに、カーネルの出力バッファを吐き出す仕組みを入れた。
kmsg_dumperは、rebootとかシャットダウン、I/Oエラーには対応してない。
書き出し左記もMTDだけ。
Lockless kmsg_dumper
→crash_kexecをkmsg_dumperに備える。
将来的には、rebootなどでもバッファを拾い上げるようにしていきたい。