Solaris服务管理工具SMF常规任务使用( 二 )


[ system/filesystem/local:default starting (Local filesystem mounts) ]
[ system/console-login:default starting (Console login) ]
demobox console login: checking ufs filesystems
/dev/rdsk/c0t0d0s7: is logging.
Oct 18 13:53:14/50: system/system-log:default starting
Oct 18 13:53:14/51: network/inetd:default starting
Oct 18 13:53:14/52: system/cron:default starting
( more service messages elided )
服务启动消息的顺序在每次引导时可能会有所不同 , 因为 SMF 将按照服务的相关性关系并行启动这些服务 。
如果服务无法成功启动 , 则除了打印启动消息之外 , 还会打印警告消息 。以下是 NTP 服务无法启动的一个示例:
[ system/filesystem/local:default starting (Local filesystem mounts) ]
[ network/ntp:default starting (network time protocol (NTP)) ]
Oct 25 13:58:42/49 ERROR: svc:/network/ntp:default:
Method "/lib/svc/method/xntp" failed with exit status 96.
Oct 25 13:58:42 svc.startd[4]: svc:/network/ntp:default:
Method "/lib/svc/method/xntp" failed with exit status 96.
[ network/ntp:default misconfigured (see ’svcs -x’ for details) ]
[ system/utmp:default starting (utmpx monitoring) ]
( more service messages elided )
前两条错误消息在正常引导和详细引导期间都会显示;最后一条错误消息 ("network/ntp:default misconfigured ...") 仅在详细引导期间显示 。
◆发现故障
Solaris 尚未提供一个全面的用于查找系统服务问题的方法 。目前存在一些可帮助捕获并诊断这些问题的解决方案 , 包括使用 coreadm(1M) 命令记录到特定于站点的监视脚本 , 以及 Sun Cluster 等综合性产品 。新的 svcs(1) 命令包含一个“解释选项 ("svcs -x") , 可打印出有关未运行服务的详细消息(由解决方案驱动) 。svcs -x 将显示服务失败的时间和原因 , 提供获取此问题详细信息的方式 , 并列出受此问题影响的其他服务 。
继续来看一下无法启动的 NTP 服务的示例:
# svcs -x
svc:/network/ntp:default (Network Time Protocol (NTP).)
State: maintenance since Mon Oct 18 13:58:42 2004
Reason: Start method exited with $SMF_EXIT_ERR_CONFIG.
See: http://sun.com/msg/SMF-8000-KS
See: ntpq(1M)
See: ntpdate(1M)
See: xntpd(1M)
Impact: 0 services are not running.
NTP 服务已被置于维护模式 , 因为启动脚本指示该服务的配置存在问题 。有关服务故障的详细信息 , 请参见 /var/svc/log 目录(或 /etc/svc/volatile 目录)中该服务的日志文件 。日志文件名基于简短形式的 FMRI , 将 "/" 替换为 "-" 。因此 , svc:/network/ntp:default 服务的日志文件为 /var/svc/log/network-ntp:default.log 。通过此日志文件可以快速得出结论 , 即 NTP 守护进程的配置文件 /etc/inet/ntp.conf 已被删除 。
以下是另一个示例 , 显示了 SMF 可以跟踪相关性 , 并指出与禁用的服务相关的问题 。在此示例中 , 我们使用 "-v" 选项来查看受影响的服务的列表 。
# svcs -x -v
svc:/application/print/server:default (LP Print Service)
State: disabled since Mon Oct 18 16:17:27 2004
Reason: Disabled by an administrator.
See: http://sun.com/msg/SMF-8000-05
See: man -M /usr/share/man -s 1M lpsched
Impact: 1 service is not running:
svc:/application/print/rfc1179:default
【Solaris服务管理工具SMF常规任务使用】在以上示例中 , 已明确禁用了 application/print/server:default 服务 , 但未禁用依赖于该服务的另一个服务 (application/print/rfc1179:default) 。因此 , 禁用第一个服务已使得第二个服务无法运行 。

推荐阅读