快捷搜索:   nginx

通过串口管理Linux主机可解决硬件短缺


  在某些情况下,需要同时对两台或多台Linux主机进行管理和操作。如果手头缺少足够多的键盘和显示器,那么通过一台机器的串口对其余主机进行控制不失为一种快捷、有效的方法。
  
  下面就以两台主机为例,简单介绍一下配置方法。假设这两台主机分别为A和B,它们都运行Red Hat 9.0。
  
  A主机配置
  
  A主机要选择一个合适的串口通信工具,本文中使用Linux自带的Minicom。
  
  以root身份登录,运行如下命令:
  
  # minicom -s
  
  屏幕上出现Minicom的主配置选单,移动键盘的方向键,选择“Serial Port Setup”选单项,会出现如下配置项:
  
  A - Serial Device : /dev/ttyS0
  B - Lockfile Location : /var/lock
  C - Callin Program :
  D - Callout Program :
  E - Bps/Par/Bits : 9600 8N1
  F - Hardware Flow Control : No
  G - Software Flow Control : No
  Change which setting?
  
  按照需要配置如下参数:
  
  ◆ 串口设备 /dev/ttyS0;
  
  ◆ 波特率 9600;
  
  ◆ 帧格式 8N1(表示有8位数据、0位校验和1位停止位);
  
  ◆ 软、硬件流控 No。
  
  注意,串口设备号可以根据所连接的端口进行更改,比如,连接到COM2口就设置为/dev/ttyS1。波特率的设定要与B主机一致。
  
  配置完成后回到主配置选单,选择“Modem and Dialing”选单项,清除掉“A - Init string”、“B - Reset string”和“K - Hang-up string”选项的值。然后重新返回主选单,选择“Save As Dfl”选单项,保存为缺省设置。选择“Exit from Minicom”退出后,用如下命令重新启动Minicom:
  
  # minicom
  
  B主机配置
  
  B主机需要修改以下几个文件。
  
  1.修改/etc/inittab文件
  
  该文件是init程序的配置文件,用于设置缺省状态和终端连接。在该文件中增加如下一行,用来初始化串口终端:
  
  tty:2345:respawn:/sbin/agetty ttyS0 9600 vt100
  
  “tty”为该行ID;“2345”指该行的运行级别是2、3、4、5级;“respawn”使命令退出后再执行一次,以便其它用户能够登录;“/sbin/agetty ttyS0 9600 vt100”表示具体的命令,该命令通过/sbin/agetty程序打开串口/dev/ttyS0(COM1),波特率设置为9600bps,终端模式为vt100。
  
  重启主机B后,在A主机中会显示B主机的登录界面。但是,此时还有两个问题:一个是无法在A主机以root身份登录B;另一个是A中无法显示B主机启动和关闭过程的相关提示信息。后者是因为Linux启动时的信息都是由内核显示的,默认输出到系统主控制台(tty1)。要解决这两个问题,还需要修改/etc/securetty文件和/etc/lilo.conf文件。
  
  2.修改/etc/securetty文件
  
  该文件是一个被允许以root身份登录的tty设备列表,这些设备由/bin/login程序读取。为了使用户能以root身份通过串口登录,需要在该文件中添加“ttyS0”,告诉系统COM1是安全的。
  
  3.修改/etc/lilo.conf文件
  
  本文假设系统使用LILO启动。为了使LILO和内核的启动信息能够输出到串口,必须修改/etc/lilo.conf文件,在“linear”一行后添加“serial=0,9600n8”,将“append="root=LABEL=/"”改为“append="root=LABEL=/ console=ttyS0,9600"”。
  
  serial选项使LILO的启动信息输出到串口,以便选择不同的系统或内核进行启动。其中,“0”表示串口使用COM1;“9600”表示波特率为9600bps;“n”表示无校验位;“8”表示有8位数据位。
  
  “append="root=LABEL=/ console=ttyS0,9600"”的作用是向内核传递参数,使系统启动信息输出到串口COM1,波特率设为9600bps。修改完成后,重新运行一下LILO命令使配置生效。
  
  至此,将键盘和显示器等外设连接在主机A上,主机A再通过串口连接主机B,就可以对B进行管理和控制了。所需的硬件就是一条串口线,当然还要求两台主机都具备串口。
顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论