我正在运行一个生产gentoo Linux机器,最近有一种情况是服务器挂在我的同一地点,当我到达那里时,我注意到服务器被挂在似乎是内核恐慌悬挂。 我重新启动了机器,并且很难重新启动,我很失望地发现,在机器挂机的任何地方我都找不到任何证据。
是真的,当我做一个硬重启消息本身将会丢失,或者有一个设置,我可以做的地方说syslog-ng或可能在sysctl至less保存错误日志,以便我可以防止这种事故发生在将来 ? 顺便说一句,我正在运行一个2.6.x内核。
提前致谢。
要logging一个内核恐慌,使用netconsole比使用串行链接更容易;)
在Ubuntu的wiki上有一个关于它的有用的条目 ,可以在其他的linux版本上使用…用archlinux帮助我。
请注意,netconsole也可以在启动时进行设置。
通常在这些情况下,我设置了远程串行控制台 ,然后确保logging控制台上显示的所有内容。 您可以通过rs-232电缆将机器的串口连接到另一台机器来完成。 随着串行端口的逐渐消失,这可能会变得越来越简单,但是我认为大多数服务器仍然拥有它们。
然后在另一台机器上运行conserver并configuration控制台日志logging。 这提供了一个很好的方式来logging控制台上的所有内容,并为系统提供备用loginpath。
如果你不想设置和pipe理另一个Linux的盒子,另一种方法是安装串行控制台服务器。 诸如Avocent,Cyclades和Raritan等公司使这些盒子能够提供2-48个串行端口的networking接口。 然而,这样的事情将比当然设置另一个Linux盒子更昂贵。
您可以尝试将系统日志消息复制到另一台计算机。 也许不是所有的人,但只有警报和关键,并禁用他们的caching。