• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

红旗Linux终端接入案例

2006-05-25 发表
  • 0关注
  • 0收藏 810浏览
粉丝: 关注:

红旗Linux终端接入案例

                                                                技术支持中心    胡斌

 

网络拓扑简图

一、           物理故障排错

现象描述:

终端没有出现login画面,屏幕只有一个光标闪烁,敲回车,按ctrlq没反应,并且查看tty状态为downapp状态为kept

问题分析:

tty状态为downapp状态为kept,说明从终端到路由器,路由器到前置机的连接均有问题。查看终端所连异步口的状态发现“DCD”的状态为down,说明物理层没有检测到DCD信号,这样就进一步把问题定位在异步口和本端多路复用器的连接上。另外更换异步口和电缆问题没有解决,于是清除接口收发统计、然后shut、unshut端口发现接口统计只有收包,没有发包。说明多路复用器此接口的收发有问题,换一个接口试试(注意两侧复用器接口要对应,即需要同时更换),“DCD”up了,tty状态变为“ok”了,app状态变为“linked”了,login界面出现,终端可以正常接入,问题得到解决。

经验总结:

TTY的状态转换过程为:

当物理检测到DCD信号的时候,TTY变为UP,当对应的APPTCP连接LINKED的时候,TTY变为OK。而数据的接收和发送靠的是RXDTXD。只要DCD没有问题,就会报UP。只要RXD没有问题,路由器就会收到数据并主动建立到前置机的TCP连接把收到的数据发送给前置机,同时,TTY变成OK。前置机会有数据发回来(比如,推出的login界面),路由器收到这个数据后会发给对应的TTY。如果TXD信号线没有接好,数据是发送不出去的。所以路由器会报错,所以终端没有显示。

如果使用3根线的异步串口电缆,则缺少dsr/dtr和流控信号线,因此要在路由器异步串口下配置undo detect dsr-dtr命令和flow-control software inbound命令,即不检测dsr/dtr信号,使异步口自动处于UP状态,不检测硬件流控信号,采用软件流控方式。

如果使用5根线的异步串口电缆,则缺少流控信号线,因此要在路由器异步串口下配置flow-control software inbound命令,不检测硬件流控信号,采用软件流控方式。

如果使用8根线的异步串口电缆,则所有信号线都全,不用在路由器异步口下配置以上命令。

 

日志信息说明:如果log信息中多次出现“RTA_Line_Trans line 86 continue send data times fail!”,这肯定是连接线缆的问题,拔插线缆或能解决。

 

二、           路由器与前置机之间排错

1. 终端不显示login界面

现象描述:

敲回车,终端tty0912出现不了login界面。但查看tty状态为ok,app状态为linked,说明终端到路由器,路由器到前置机连接均正常。并且杀死子进程,然后执行/sbin/init q,按ctrl+q重新发送字符,现象还是一样,查看其日志信息(tty9012.log)也没有异常信息输出。

问题分析:

通过在前置机上发送Echo信息(echo “hello” >/dev/tty0912)检查终端的接收情况,发现在前置机每发一个信息,在终端上都能看到,说明我们的路由器成功完成报文的透明传输,链路正常。但为什么tty0912收不到前置机发送过来的login界面呢?原因就基本定位在配置上了,按以下几个步骤分析:

a,  是否其它业务进程占用伪终端设备,导致pty无法打开

b,  终端的波特率与异步口的波特率是否一致

c,  是否在inittab中配置对应的设备

d,  路由器和前置机两端使用的应用方式是否相同,如“一对一”,“多对一”

通过检查,排除上述原因。那究竟是何原因导致终端无法显示login界面呢?由于自己的粗心,在检查“inittab”的配置时,只是查看伪终端设备已在inittab文件中配置就认为ok了,而忽略了“inittab文件中每一行的标识均不能重复”这一要求。后来仔细检查时发现。其中行的标识从100104均有重复,而tty0912tty0910对应的行标识是分别是104102,这是导致login画面不能出现的原因。修改inittab文件中的行标识配置解决该问题。

 

说明:在检查inittab文件的相关配置时,除了配置对应的设备,还有注意每一行的标识必须唯一,否则会造成终端不能显示login界面的问题。

 

2. 前置机系统资源占用过高导致其它终端不能接入

 

现象描述:随着年后长沙地区近期网点增多,上周报告有大面积网点出现不能登陆的情况,经检查,前置机与路由器的配置无误。中午采用新的ttyd for linux 10.3版本,但升级后发现前置机系统资源占用过高,idle0user45%system55%,部分网点出现不能登陆的情况,重起前置机后问题解决。

问题分析:为什么资源被耗尽呢?到底什么原因导致的呢?和我们的ttyd程序有没有关联呢?由于用户已难以忍受再次出现大面积掉线及难以登录的情况,因此必须尽快定位问题。用研发告知的“top”命令查看系统资源的详细占用情况,发现有三个应用进程(2uniface1bash)占用cpu非常高,分别占用20%以上,这三个应用进程占用CPU使用率70%以上,这是导致前置机资源被耗尽的最根本原因。

[root@hncsapp uniface]# top

 10:54:56  up 8 days, 22:47, 374 users,  load average: 4.36, 4.07, 4.18

1270 processes: 1267 sleeping, 3 running, 0 zombie, 0 stopped

CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle

           total   49.6%    0.0%   50.0%   0.0%     0.1%    0.0%    0.1%

           cpu00   32.7%    0.0%   66.6%   0.0%     0.5%    0.0%    0.0%

           cpu01   71.2%    0.0%   28.7%   0.0%     0.0%    0.0%    0.0%

           cpu02   35.5%    0.0%   63.8%   0.0%     0.0%    0.0%    0.5%

           cpu03   58.8%    0.0%   41.1%   0.0%     0.0%    0.0%    0.0%

Mem:  4054924k av, 2904684k used, 1150240k free,       0k shrd,  216504k buff

                   1972964k actv,  707928k in_d,   18496k in_c

Swap: 8388456k av,  322108k used, 8066348k free                  103692k cached

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND

29830 yzzj      15   0  4332 2720  2536 S    24.8  0.0  5768m   0 uniface

15646 yzzj      25   0  3864 3800  1184 R    23.0  0.0  1026m   1 bash

28605 yzzj      15   0  8628 3280  3076 S    22.9  0.0  2456m   2 uniface

 9320 root      20   0  2228 2228   896 R    10.9  0.0   0:00   0 top

14394 yzzj      17   0  6804 6804  3068 S     0.2  0.1   0:03   2 uniface

30709 yzzj      16   0  7968 7968  3088 S     0.2  0.1   0:00   2 uniface

24674 yzzj      15   0  8568 8568  3092 S     0.1  0.2   0:00   2 uniface

13207 root      15   0   596  592   524 S     0.1  0.0   0:00   1 itest54.lnx

13304 yzzj      15   0  8916 8916  3088 S     0.1  0.2   0:01   3 uniface

 7312 root      15   0   900  900   728 S     0.1  0.0   0:00   0 login

赶紧查一下PID2983015646以及28605的应用进程所对应的tty终端,但发现相应的子进程已经被杀掉,这样无法知道这些应用进程所对应的tty终端了

[root@hncsapp gdzd]# ps -ef|grep 28605

yzzj     28605 28521 97 Apr12 ?        1-17:17:55 uniface /asn=/zhw/runtime/yzzj/aps/yzzj.asn yzzj

root     23794  7221  0 11:17 pts/37   00:00:00 grep 28605

[root@hncsapp gdzd]# ps -ef|grep 29830

yzzj     29830 29747 99 Apr10 ?        4-00:30:11 uniface /asn=/zhw/runtime/yzzj/aps/yzzj.asn yzzj

root     24042  7221  0 11:17 pts/37   00:00:00 grep 29830

[root@hncsapp gdzd]# ps -ef|grep 15646

yzzj     15646 15601 95 Apr13 ?        17:28:12 -bash

root     24282  7221  0 11:18 pts/37   00:00:00 grep 15646

这是网络维护人员在杀进程时犯的一个错误,没有先将应用进程杀死,而是直接杀死子进程,这将导致应用程序长时间占用前置机资源而得不到释放,也就是说,终端的子进程被杀掉之后,但应用程序的进程没有被杀掉,仍然向伪终端设备中频繁的写入,因此造成CPU占用率过高。于是依次杀掉上述3个应用进程,前置机的资源占用恢复正常。当然也可以重启前置机解决,不过要等到营业网点下班以后。

[root@hncsapp gdzd]# kill -9 28605

 [root@hncsapp gdzd]# kill -9 29830

 [root@hncsapp gdzd]# kill -9 15646

杀死进程以后,前置机资源释放立竿见影:

[root@hncsapp gdzd]# sar -u 1 5

Linux 2.4.21-9.30AXsmp (hncsapp.localdomain)    20060414

 

112335         CPU     %user     %nice   %system     %idle

112336         all     10.50      0.00     18.37     71.13

112337         all      9.26      0.00     16.14     74.60

112338         all     10.28      0.00     18.51     71.21

112339         all     10.50      0.00     15.75     73.75

112340         all     10.00      0.00     15.75     74.25

Average:          all     10.11      0.00     16.89     73.00资源空闲百分比

 

附录终端接入过程debug信息说明

 

*Apr 12 17:10:02:272 2006 Ar2880-wangcheng RTA/8/debug:

 17:10:02  Terminal[21]: Recv from terminal 1 Bytes:    //收到终端发送的异步字符“回车”

 

*Apr 12 17:10:02:273 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 0d                                                   .

 

*Apr 12 17:10:02:273 2006 Ar2880-wangcheng RTA/8/debug:

 17:10:02  Terminal[21]: Send To Socket 1 Bytes:   //将异步字符转换成IP报文发给前置机

 

*Apr 12 17:10:02:274 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 0d                                                   .

 

*Apr 12 17:10:02:282 2006 Ar2880-wangcheng RTA/8/debug:

 17:10:02  Terminal[21]: Recv from remote 2 Bytes: //收到前置机发送的IP报文“回车换行”

 

*Apr 12 17:10:02:282 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 0d 0a                                                ..

 

*Apr 12 17:10:02:283 2006 Ar2880-wangcheng RTA/8/debug:

 17:10:02  Terminal[21]: send to terminal 2 bytes: //IP报文转换成异步字符发给终端

*Apr 12 17:10:02:284 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 0d 0a                                                ..

*Apr 12 17:10:02:652 2006 Ar2880-wangcheng RTA/8/debug:

 17:10:02  Terminal[21]: Recv from remote 94 Bytes: //收到前置机发送过来的“login”界面

*Apr 12 17:10:02:653 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 52 65 64 20 46 6c 61 67 20 44 43 20 53 65 72 76      Red Flag DC Serv

010: 65 72 20 72 65 6c 65 61 73 65 20 34 2e 31 20 28      er release 4.1 (

020: 6b 6f 75 6d 65 69 29 0d 0a 4b 65 72 6e 65 6c 20      koumei)..Kernel

030: 32 2e 34 2e 32 31 2d 39 2e 33 30 41 58 73 6d 70      2.4.21-9.30AXsmp

040: 20 6f 6e 20 61 6e 20 69 36 38 36 0d 0a 0d 0a 68       on an i686....h

050: 6e 63 73 61 70 70 20 6c 6f 67 69 6e 3a 20            ncsapp login:

 

*Apr 12 17:10:02:654 2006 Ar2880-wangcheng RTA/8/debug:

 17:10:02  Terminal[21]: send to terminal 94 bytes: //IP报文转换成异步字符发给终端

*Apr 12 17:10:02:654 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 52 65 64 20 46 6c 61 67 20 44 43 20 53 65 72 76      Red Flag DC Serv

010: 65 72 20 72 65 6c 65 61 73 65 20 34 2e 31 20 28      er release 4.1 (

020: 6b 6f 75 6d 65 69 29 0d 0a 4b 65 72 6e 65 6c 20      koumei)..Kernel

030: 32 2e 34 2e 32 31 2d 39 2e 33 30 41 58 73 6d 70      2.4.21-9.30AXsmp

040: 20 6f 6e 20 61 6e 20 69 36 38 36 0d 0a 0d 0a 68       on an i686....h

050: 6e 63 73 61 70 70 20 6c 6f 67 69 6e 3a 20            ncsapp login:

 

*Apr 12 17:11:06:852 2006 Ar2880-wangcheng RTA/8/debug:

 17:11:06  Terminal[21]: Recv from remote 10 Bytes: //收到前置机发送过来的“password”界面

*Apr 12 17:11:06:852 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 50 61 73 73 77 6f 72 64 3a 20                        Password:

 

*Apr 12 17:11:06:853 2006 Ar2880-wangcheng RTA/8/debug:

 17:11:06  Terminal[21]: send to terminal 10 bytes: /IP报文转换成异步字符发给终端

*Apr 12 17:11:06:854 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 50 61 73 73 77 6f 72 64 3a 20                        Password:

 

*Apr 12 17:11:09:052 2006 Ar2880-wangcheng RTA/8/debug:

 17:11:09  Terminal[21]: Recv from remote 44 Bytes:

*Apr 12 17:11:09:053 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 4c 61 73 74 20 6c 6f 67 69 6e 3a 20 57 65 64 20      Last login: Wed

010: 41 70 72 20 31 32 20 31 37 3a 31 32 3a 35 38 20      Apr 12 17:12:58

020: 6f 6e 20 74 74 79 30 34 33 39 0d 0a                  on tty0439..

 

*Apr 12 17:11:09:053 2006 Ar2880-wangcheng RTA/8/debug:

 17:11:09  Terminal[21]: send to terminal 44 bytes:

*Apr 12 17:11:09:054 2006 Ar2880-wangcheng RTA/8/debug:

     -----------------------------------------------

000: 4c 61 73 74 20 6c 6f 67 69 6e 3a 20 57 65 64 20      Last login: Wed

010: 41 70 72 20 31 32 20 31 37 3a 31 32 3a 35 38 20      Apr 12 17:12:58

020: 6f 6e 20 74 74 79 30 34 33 39 0d 0a                  on tty0439..

 

路由器收到前置机发送过来的登录确认报文并转换成异步字符发给终端,提示伪终端设备tty0439上次登录时间为17:12:58。(注意:由于前置机和路由器系统时间设置不一致,故存在时间显示偏差)。

若您有关于案例的建议,请反馈:

0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作