今日はDebianで動作しているsambaサーバがkernel Panicで停止してしまう現象が二回続いたので、調べてみた結果をご報告します。
「Out of memory: Kill process」が発生していた、ということでした。
ふと気づけば…
ふと気づけば、Active Directoryのドメインコントローラをやっているsambaサーバ(のDNSサーバ)が応答しなくなっている…。
pingで応答は返すのに、コンソールを開けば無情にも「kernel Panic」の文字が散見されます。
かれこれ二回か三回ほど同じ状況になったため、OSに何かあったのか?と思い、ログを調べて見ることにしました。
ログ確認
まずはsyslogから、次にkernelログを見てみます。
----------------------------------------------
syslog
--------------------------------
Aug 4 19:38:23 HostNAME kernel: [267371.791048] Out of memory: Kill process 732 (samba) score 7 or sacrifice child
Aug 4 19:38:23 HostNAME kernel: [267371.791138] Killed process 732 (samba) total-vm:497584kB, anon-rss:0kB, file-rss:0kB
Aug 4 19:38:41 HostNAME winbindd[34124]: [2017/08/04 19:38:22.725066, 0] ../source3/winbindd/winbindd_cm.c:1670(wb_open_internal_pipe)
Aug 4 19:38:41 HostNAME winbindd[34124]: open_internal_pipe: Could not connect to lsarpc pipe: NT_STATUS_UNSUCCESSFUL
Aug 4 19:38:42 HostNAME winbindd[752]: [2017/08/04 19:38:22.883395, 0] ../source3/winbindd/winbindd.c:285(winbindd_stdin_handler)
Aug 4 19:38:42 HostNAME winbindd[752]: EOF on stdin (is_parent=1)
--------------------------------
kern.log
--------------------------------
Aug 4 19:38:23 HostNAME kernel: [267371.791048] Out of memory: Kill process 732 (samba) score 7 or sacrifice child
Aug 4 19:38:23 HostNAME kernel: [267371.791138] Killed process 732 (samba) total-vm:497584kB, anon-rss:0kB, file-rss:0kB
--------------------------------
両方のログには、
「Out of memory: Kill process」
とあってそれに続いて
「 (samba) score 7 or sacrifice child」
と記述があるので、メモリ不足でsambaプロセス(子プロセス?)が止められちゃった、というのが問題の要因に見ました。
(※別名で「OOM」とか「OOM Killer」と呼ぶらしい。)
続けて「Killed process 732 (samba) total-vm:497584kB, anon-rss:0kB, file-rss:0kB」とあるので、OOM Killerによってsambaのプロセスが止められてしまった(強制停止を喰らった)ためにサーバの動作がおかしくなった、という考え方ができます。
その後のsyslogの行で「winbindd」が「lsarpcパイプに接続できませんでした:NT_STATUS_UNSUCCESSFUL」と言ってますし、lsarpcってくらいだからリモートプロシージャコール関連のなんかってことだろうと想像。
てことは、sambaプロセスがメモリ不足で切られたことで、動作しなくなってしまった、と考えるのが自然です。
実施したのは2点
これは、ちょっと経過観察をしたい、ということで、メモリを増やすことに。
このサーバはHyper-VのゲストOSとしてDebian Jessieをインストールして、その上でsambaを利用していました。
メモリは1024MB、動的メモリで増減させていたのですが、これを
メモリ容量2048MBに増量し、動的メモリを無効化⇒固定して常に2048MBを利用するようにする
という具合に変更してみました。これでkernel Panicが起きるかどうかを確認してみようと思います。