通过COM口管理Linux服务器

2008-02-23 07:14:44来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  本文简要地介绍了如何通过常见的COM口进行Linux服务器的控制台的扩展,具有实用性和简易性,不受服务器网络等条件的限制,可以方便地管理实际生产环境中的Linux服务器。

  说到管理Linux服务器,大家会有很多种不同的办法:键盘 显示器、通过网络登陆、基于WEB的工具、X系统下的图形工具等等,这些方法用在普通的服务器或者自己 的PC服务器上是没有任何问题的,但是要管理一台24X7模式的服务器,确保在任何情况下都能直接快捷地管理到服务器,就不是那么容易了。

  对比以上说到的几种方式:


X系统下的图形工具。这当然是界面很友好的方式了,而且X系统也可以通过网络扩展到远程,但网络毕竟不是这么可靠,如果服务器的网络瘫痪了,你正好需要远程解决网络的问题,那该怎么做?

基于WEB的工具。这种方式的界面也是相当友好,如webadmin,但是由于安全方面的问题,这些工具是不会安装在真正重要的服务器上的,另外这种方式也受限于网络;

通过网络登陆。这是常用的办法,一般服务器会对信赖的远程站点开放SSH服务,以便维护人员可以远程登陆进行日常维护,这是很安全的,但很不幸它还是基于网络的,当然也受限于网络;

键盘 显示器。这是最保险的办法,笔者都建议使用这种最保险的办法,但是很不幸这也是有缺陷的,就是有很多服务器都不配备显示器和键盘,就算有,也只是安装系统时使用,一旦投入生产运行就不再使用显示器和键盘了。

  其实对于UNIX/Linux系统的服务器,可以通过COM口即串行口来扩展系统的控制台,作为另外的途径管理服务器。

  CONSOLE,即控制台,是系统输出管理信息的字符输出设备,这些管理信息是由内核产生,比如系统日志、告警信息等。Linux下默认的控制台就是键盘和显示器,而一些老式的SUN、HP、IBM服务器则使用串行口接Text Terminal[1](字符终端,如著名的DEC的VT100)作为控制台,这也是这次将要介绍的方式。

  字符终端在大型机时代用得比较多,一个大型机通常联接许多终端,每个终端没有处理能力,只是简单地用键盘输入和从屏幕输出结果,处理过程都是由大型机完成。字符终端屏幕多为黑白字符型的,不具备图形显示功能。这里介绍的Text Terminal和大型机的终端是一样的,只不过市场上早就没有新的终端设备了,现在都是通过应用程序模拟一个终端,叫虚拟终端,如WINDOWS的超级终端就是常用的一个虚拟终端程序,在管理工作站上用打开超级终端(使用正确的速率),就相当于一个终端了。

  这种通过串行口实行CONSOLE功能是广泛使用的,如CISCO的路由器,都是通过这种方式进行设备的管理,小小的一条CONSOLE线就相当于一台PC的显示器加键盘,这无疑为路由器省下了许多不必要的配件,而事实上部分CISCO的设备就是一台PC,如思科PIX515防火墙,只要你插上一块PCI的显卡到PCI槽,接上显示器,按下PIX的开关,你就可以看到一台BX主板、奔腾II代350MHZ处理器、128M内存电脑的启动信息,和一台普通电脑启动是没有任何区别的。当PIX完成自检后,控制台就转到CONSOLE口上了,而那个RJ45接口的CONSOLE口,其实就是一个COM口,只是接口形式不是9针D形口而己。

  现在可以明确我们需要做的工作了:使用管理工作站的虚拟终端程序模拟一个字符终端设备,通过COM口对COM口的形式将Linux的CONSOLE重定向到该虚拟终端,以实现从虚拟终端控制Linux服务器。步骤如下:

  1、制作交叉线

  两台电脑要用COM口互联起来需要一种"NULL MODEM CABLE","NULL MODEM CABLE"直译过来大致是"交叉MODEM线",和网线的交叉线意思相近,这是用来"背靠背"联接两个DTE设备的,两头都是9针D型母接头,分别插入管理工作站和服务器的COM口中,为了方便标识建议都接第一个COM口。这种线可以自己制作,也可以去电脑城买,最方便的是有CISCO的标准CONSOLE线加RJ45转9针D型母接头的转接头(部件号74-0495-01),可以直接使用。自己制作可以参考以下的线序:

缩写 引脚定义 方向 引脚定义
RxD Receive Data 2 <---- 3 TxD Transmit Data
TxD Transmit Data 3 ----> 2 RxD Receive Data
--> 6 DSR Data Set Ready
DTR Data Terminal Ready 4 -- --> 1 DCD Carrier Detect
GND Signal Ground 5 <----> 5 GND Signal Ground
DCD Carrier Detect 1 <--
DSR Data Set Ready 6 <-- -- 4 DTR Data Terminal Ready
RTS Request To Send 7 ----> 8 CTS Clear To Send
CTS Clear To Send 8 <---- 7 RTS Request To Send
RI Ring Indicator 9 (not used)

  制作时需要把Txd与Rxd、CTS与RTS、GND与GND、DTR与DSR&DCD交叉相联,DSR&DCD表示这两个引脚串联在一起作为一个引脚信号。更多的详细介绍参见Serial-HOWTO[3]。

  2、测试联通性

  管理工作站和服务器接上交叉线后,可以简单地来测试一下这条线是否起作用。在管理工作站上用超级终端新建一个联接,速率9600,8数据位,1停止位,无奇偶校验位,无硬件"Flow control";在服务器上echo '1'>/dev/ttyS0(需要ROOT权限),在管理工作站超级终端里观察是否能收到数字1,如果能收到就表明联接无问题。如果不能收到则要在服务器上检查一下各信号引脚是否正确,使用命令"statserial /dev/ttyS0"可以查看当前串行口的状态(在CABLE对端不接管理工作站时或者线序错误时DSR状态为0),联接状态如下:

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:没有了

下一篇:在Linux操作系统上运行Windows应用程序