Linux:将所有消息打印到主控制台*和*辅助控制台(显示器/ KVM)?

我在各种Supermicro和其他白盒服务器上运行Linux(Red Hat,CentOS,SL,版本5和6)。 有些有IPMI,有些则不。

其中一些系统连接到键盘/显示器(KVM)控制台交换机。 其他系统连接到远程串行控制台。 而较新的服务器被挂接到IPMI中,并且可以通过基于局域网的KVM控制台redirect或LAN上串行(SOL)获得。

使用所有这些方法,我们希望在所有串行控制台和KVM屏幕上看到一致的输出。 例如,我们希望能够与系统进行交互,从启动到closures,我们希望看到整个启动顺序。 这包括看到由以下各项打印并与之交互的任何消息:

  1. BIOS(由许多现代BIOS中的BIOS控制台redirect处理,并独立于操作系统)
  2. 引导程序(Grub 0.97,在这种情况下)
  3. 查看由内核打印的消息
  4. 查看由fsck打印的消息,例如在大型文件系统的冗长fsck中。 在一个带有串行控制台的系统上,有时候fsck会在这里无所事事,等待系统pipe理员input一个密码。 但是系统pipe理员可能不会看到这个密码提示,除非我们碰巧记得进入串行控制台。
  5. 在启动会话期间查看由程序打印的消息
    • (例如Starting sshd: [ FAILED ] typo in sshd_config on line 171
  6. login:提示,并允许我login到系统。

我已经尝试了一些方法,但似乎无论我放在grub.conf ,有些消息是打印到显示器还是串行控制台,但不是两者。

是否有可能告诉引导程序,Linux内核,操作系统等打印所有消息到所连接的显示器以及串口控制台?

我已经尝试了一些方法,但似乎无论我放在grub.conf中,有些消息是打印到显示器还是串行控制台,但不是两者。

理论上,可以在grub.conf使用多个console= options来尽可能将Linux内核输出到所有控制台,如下所示:

 title CentOS (2.6.18-194.el5) root (hd0,0) kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb console=tty0 console=ttyS0,9600n8 initrd /initrd-2.6.18-194.el5.img 

但实际上,根据串行控制台H​​OWTO ,来自init和syslog的消息只出现在最后列出的控制台设备上。