Bomi
分类: 系统运维
2012-02-04 00:57:30
SMF简要介绍(对SMF熟悉的朋友略过此部分)1、
定义
过去,UNIX 操作系统包含一组服务:这些服务是与任何交互式用户登录都不关联的软件程序,用于侦听和响应请求以执行特定的任务(如传送电子邮件、响应 ftp 请求,或允许执行远程命令)。这些传统服务通常是一些单独的应用程序,它们作为单个进程执行,在系统引导时启动,并在系统启动和运行时持续执行,可处理接收到的任何请求。
如今,管理员必须管理一系列服务,这些服务的作用已经超出了此原始模型的作用范围。Sun 推出了 Service Management Facility(SMF,服务管理工具),以简化这些系统服务的管理。SMF 是Solaris 操作系统的一项新功能,为每个 Solaris 系统上的服务和服务管理创建支持的、统一的模型。它是 Solaris10 中预测性自我修复技术(PredictiveSelf-Healing technology)的核心部分,为软件和硬件故障以及管理错误提供自动恢复功能。
2、
SMF的特点SMF已经改进了 Solaris 管理模型的几个方面。一些最显著的更新包括:
Command
描述
svcs
报告服务状态
svcadm
管理各个服务:启动终止某个服务
Table 1—SMF命令集
用SCFDOT项目来看OpenSoalaris0811的关系依赖图呵呵呵没有接触过SMF的朋友大体已经知道SMF是做什么的了。本文的目的是想探究一下OpenSolaris系统的服务之间的关系图。SCFDOT项目就是做这件事的,在介绍SCFDOT之前我们先来看看如何通过SMF命令看某一个服务的的依赖关系。
"-d"选项可显示某一服务所依赖的其他服务,而"-D"选项可显示依赖于某一服务的其他服务:
% svcs -d network/smtp:sendmail
STATE
STIME
FMRI
online
18:20:14 svc:/system/identity:domain
online
18:20:26 svc:/network/service:default
online
18:20:27 svc:/system/filesystem/local:default
online
18:20:27 svc:/milestone/name-services:default
online
18:20:27 svc:/system/system-log:default
online
18:20:30 svc:/system/filesystem/autofs:default
% svcs -D network/smtp:sendmail
STATE
STIME
FMRI
online
18:20:32 svc:/milestone/multi-user:default 不过这仅仅是看到了一个服务的依赖关系,如果我们想看到整个系统的依赖关系就需要scfdot的帮助了,scfdot是opensolaris社区的一个开源项目。
从这上面就可以拿到代码了。其代码的原理也是利用了上述的命令来生成所有的服务关系图。
下面的操作就比较简单了,在OpenSolaris 200811下编译执行,最后会生成一个dot文件,这时需要用到graphvic这款开源软件来解析dot文件将其生成一个关系图,这样就大功告成了。
可以看到Solaris的服务是分为4种的:system,network,milestone,application,对应图中的4种颜色。可以看到milestone是一个关键的服务,当系统的启动完成到一定程度就会出现一个milestone,可以从图中找到如下的milestone:single-user,device,multi-user,multi-user-server,sysconfig等,可以看到系统是逐级启动,最终达到的是multi-user-server这个milestone。
有了这个图,对于想了解OpenSolaris系统运行原理的朋友是不是轻松了一些~