charleschchen
作者charleschchen·2022-05-11 19:29
系统架构师·浪潮商用机器有限公司

AIX环境ftp启动超时问题分析

字数 1563阅读 2220评论 0赞 0

问题描述

某客户反馈,其系统重启后,ftp启动出现超时异常。且inetd也有类似如下的报错:
May 11 18:07:02 racnode1 daemon:err|error inetd[18743646]: Cannot register service: RPC: 1832-008 Timed out
May 11 18:08:17 racnode1 daemon:err|error inetd[18743646]: Cannot register service: RPC: 1832-008 Timed out
May 11 18:09:32 racnode1 daemon:err|error inetd[18743646]: Cannot register service: RPC: 1832-008 Timed out
May 11 18:09:34 racnode1 daemon:warn|warning inetd[18743646]: inetd: 0826-502 The select system call failed. The error number is A file descriptor does not refer to an open file..

问题分析

从inetd报错看,问题与RPC服务有关,RPC注册服务主要涉及portmap daemon进程。
了解到客户对系统进行了安全加固,检查其安全加固脚本,发现 客户在 /etc/rc.tcpip 文件中注释了 portmap 进程( RPC 的基础服务进程):

# portmap_pid=`ps -e | awk '$NF == "portmap" {print $1}'`

# [ -z "$portmap_pid" ] && start /usr/sbin/portmap "${src_running}"

而从配置看,客户在 AIX 上使用了 CDE 图形桌面环境,因此在 /etc/inetd.conf 中有 CDE 相关的进程,需要依赖 RPC 服务:

dtspcd stream tcp nowait root /usr/dt/bin/dtspcd /usr/dt/bin/dtspcd

cmsd sunrpc_udp udp wait root /usr/dt/bin/rpc.cmsd cmsd 100068 2-5

ttdbserver sunrpc_tcp tcp wait root /usr/dt/bin/rpc.ttdbserver rpc.ttdbserver 100083 1

而因为 portmap 未启动, cmsd 和 ttdbserver 都无法正常启动注册,导致 inetd 启动异常,触发了上述报错,进而导致ftp服务启动异常。

解决方法

启动 portmap 服务:

#startsrc -s portmap

编辑 etc/rc.tcpip 文件,去掉开头的 # ,恢复 portmap 服务:


portmap_pid=`ps -e | awk '$NF == "portmap" {print $1}'`

[ -z "$portmap_pid" ] && start /usr/sbin/portmap "${src_running}"

或者,如果客户确定不需要 CDE 图形桌面,可以不需要启动 portmap 服务,只将 /etc/inetd.conf 文件中含 dtspcd/cmsd/ttdbserver 的三行记录注释掉即可。

问题验证

经过验证,只需要恢复portmap服务,inetd启动就会恢复正常,进而ftp服务启动也能很快恢复正常:

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广