closures新映像的Oracle / Sun Solaris 10 SPARC盒时,我们正在经历一个神秘的挂钩。 这是可重复的(在同一地点…从我们可以告诉)。 我们让它尝试多次工作5-10分钟,它从来没有进展。
我从来没有见过这种情况发生过。
在控制台上显示的最后一件事是syslogd被发送了信号15.在我们禁用snmpdx之前, snmpdx上的最后一件事是snmpdx被发送了信号15(在syslogd被发送信号15之后)。
尽pipe很less发现,但在过去的Solaris环境中,我可以从经验中得到一个更好的想法,在那里可能会出现问题,然后可以通过/etc/*.d脚本中的愚蠢(但有效的)debuggingecho声明进一步缩小范围。 在SMF中,我不太确定从哪里开始。
我们在{ok}提示符处通过sync强制执行崩溃转储以供日后分析,然后让方框出现,因为它是生产服务器,并且我们的计划停机窗口正在closures。
/var/adm/messages显示没有任何用处。
你将如何debugging这种情况? 有没有办法阻止隐藏在关机发生的事情,例如,显示正在完成的每件事情? (我从来没有这么做过,因为Solaris 10在启动的时候也隐藏了很多东西)
savecore的mdb ps显示以下进程在挂起时运行(afsd是OpenAFS客户端,预计有很多):
> > ::ps S PID PPID PGID SID UID FLAGS ADDR NAME R 0 0 0 0 0 0x00000001 00000000018387c0 sched R 108 0 0 0 0 0x00020001 00000600110fe010 zpool-silmaril-p R 3 0 0 0 0 0x00020001 0000060010b29848 fsflush R 2 0 0 0 0 0x00020001 0000060010b2a468 pageout R 1 0 0 0 0 0x4a024000 0000060010b2b088 init R 1327 1 1327 329 0 0x4a024002 00000600176ab0c0 reboot R 747 1 7 7 0 0x42020001 0000060017f9d0e0 afsd R 749 1 7 7 0 0x42020001 00000600180104d0 afsd R 752 1 7 7 0 0x42020001 0000060017cb44b8 afsd R 754 1 7 7 0 0x42020001 0000060017fc8068 afsd R 756 1 7 7 0 0x42020001 0000060017fcb0e8 afsd R 760 1 7 7 0 0x42020001 00000600177f4048 afsd R 762 1 7 7 0 0x42020001 000006001800f8b0 afsd R 764 1 7 7 0 0x42020001 000006001800ec90 afsd R 378 1 378 378 0 0x42020000 0000060013aee480 inetd R 7 1 7 7 0 0x42020000 0000060010b28008 svc.startd R 329 7 329 329 0 0x4a024000 00000600110ff850 sh Z 317 7 317 317 0 0x4a014002 0000060013b3a490 sac
/ var / svc / log包含所有属于SMF控制的服务的日志文件。 这至less是debuggingSMFstream程问题的一个起点。
我同意David的观点,请检查此服务器没有可能保持打开状态的NFS挂载,并且此服务器不挂载其他可能不可用的NFS文件系统。
使用SMF时,您仍然可以在脚本中进行老式的回应。 只需进入/ lib / svc / method并编辑即可。 从这个进程列表中我会说这是AFS相关的,但我没有使用它。
有两件事立刻就浮现在脑海里。 首先,当客户端closures并且没有可用的服务器时,我已经使用NFS来做这件事。
或者,在debugging时,我会考虑在启动时使用-x选项来启动sh或ksh,假设你仍然可以使用脚本。
已经有一段时间了,但是从我记得的话来看,如果你用内核参数-v -m verbose启动这个盒子,你会得到内核消息(-v)和SVCS消息(-m详细)显示给控制台。 至less这样,你可以得到一个更好的主意是什么它试图做…
tail /var/svc/log/rc6.log可以帮助您执行init 6.但是,fmd问题的任何实例都可能导致它挂起。