(2008-8-22)Serial Console 管理 Linux 主机

(2008-8-22)Serial Console 管理 Linux 主机

编辑文章

本文HTML永久地址doc

要使 Linux 主机就像一般网络设备一样,可以在不接屏幕,键盘及鼠标之下,直接透过 serial console 的连接方式来管理内部系统。

作过网管的人都知道,一般网络设备都只是透过一条 serial console line 连接笔记型计算机和网络设备,以终端机软件来管理内部的系统。此篇将告诉你如何在 Linux 系统上实现,而且步骤实在很简单。

首先,请先完成 Linux 的所有设定,然后进行如下步骤。
步骤一:编辑 /boot/grub/menu.lst
在 title ..... 上方,加上
## Enable serial console
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console
这行前面加上批注

grub引导过程中, 会将输出同时发送到终端屏幕和串口. grub引导过程中将在终端和连接到串口的超级终端上提示Press any key to continue, 每秒钟提示一次, 共10次, 可修改menu.lst文件terminal行中的--timeout=10改变提示次数, 在这一段时间内, 可以在终端的键盘, 或者连接到串口的超级终端中按任意键进入grub选择菜单. 如果10秒内没有在终端和连接串口的超级终端上按任意键, 则grub的选择菜单将出现在连接串口的超级终端上, 如果希望默认情况下, grub选择菜单出现在终端上, 则可修改menu.lst将serial console修改为console serial.
#splashimage=(hd0,1)/boot/grub/splash.xpm.gz
找到实际开机所需的那一行,例如是
title CentOS-4 i386-up (2.6.9-34.0.2.EL)
root (hd0,1)
kernel /boot/vmlinuz-2.6.9-34.0.2.EL ro root=LABEL=/1
initrd /boot/initrd-2.6.9-34.0.2.EL.img
在 kernel 后方加上 console=tty0 console=ttyS0,9600n8
kernel /boot/vmlinuz-2.6.9-34.0.2.EL ro root=LABEL=/1 console=console=ttyS0,9600n8 console=tty0

则kernel会将输出信息同时输出到串口和终端. 在上例中, 服务启动的信息会显示在终端上(tty0), 如果进入单用户模式, 也只会在终端(tty0)上提示输入root密码, 如果需要将服务启动的信息也输出到串口上, 可修改两个console参数的顺序, 既修改为console=tty0 console=ttyS0,9600n8
步骤二:编辑 /etc/inittab,允许从串口登陆linux
最下方加上这行
# Enable serial console
sc:2345:respawn:/sbin/agetty ttyS0 115200,9600 xterm



T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
步骤三: 系统预设是不予许 root 直接从 serial console 登入,这样造成管理不是很方便,所以修改一下设定。
编辑 /etc/securetty,最底下加上
ttyS0
步骤四:完成了,到这儿,主机已经可以用 serial console 登入管理。
接着,准备一台笔记型计算机,还有自己习惯用的终端机软件,如没有,就用 Windows 内建的超级终端机也可,再一条 USB 转 COM 的 console 线。设定终端机连接端口的参数为
数据传输率:9600
数据位:8
同位检查:无
停止位:1
流量控制:硬件
以 serial console 方式的管理接口与 telnet 是一样的,只是若使用 Windows 内建的超级终端软件,会有画面被剪断情形,推荐使用 Putty 。

没有评论 :

发表评论