解读SMF:Solaris系统服务管理好帮手( 二 )


SMF 配置文件是一个 XML 文件,其中列出了在系统引导时启用的一组服务实例 。配置文件存储在 /var/svc/profile 中 。下面是所包括的一些配置文件:
generic_open.xml-此配置文件可启用在早期 Solaris 发行版中缺省启用的大多数标准 Internet 服务 。这是缺省配置文件 。
generic_limited_net.xml-此配置文件禁用许多标准 Internet 服务 。启动了 sshd 服务和 NFS 服务,但是其余的多数 Internet 服务处于禁用状态 。
(5)SMF 快照
服务配置系统信息库中的数据包括快照以及可编辑的配置 。每个服务实例的相关数据都存储在快照中 。标准快照如下所示:
? initial-在首次导入清单时提取
? running-在执行服务的方法时使用
? start-在最后一次成功启动时提取
SMF服务始终使用 running 快照执行 SMF 服务 。如果此快照不存在,系统将自动创建 。
svCADm refresh 命令能够激活快照 。svccfg 命令用于查看或恢复到以前快照中的实例配置 。
二、SMF命令行工具
SMF 提供一组与 SMF 交互,并完成标准管理任务的命令行实用程序 。下列实用程序可用来管理 SMF 。管理SMF服务包括配置、查看、启用/禁用、启动/停止服务等任务 。这些任务分别可以用svccfg, svcs, svcadm等命令完成 。表 1 是SMF服务管理工具实用程序。
三、SMF和系统启动的关系
1. SMF和系统启动的关系如图1
图1 SMF和系统启动的关系
SMF 提供用来引导系统的新方法 。如:
(1)有另外一个与 all 里程碑相关联的系统状态 。此里程碑不同于多用户 init 状态,因为 SMF 只能识别定义的服务 。如果您添加了服务(如第三方产品),那么,除非您使用下面的命令,否则它们可能不会自动重新启动:
ok boot -m milestone=all
(2)如果使用某个里程碑引导系统,一定要同时使用 -s 选项 。如果未包括 -s,则系统将停留在引导系统时所处的里程碑状态 。通过按 Ctrl-D,系统将不会自动进入多用户状态 。可以使用以下命令进入多用户状态:
# svCADm milestone all
(3)在引导系统时,可以选择使用 verbose 选项来查看更多的消息 。缺省情况下,系统将不显示这些消息 。要在详细模式下引导,请使用以下命令:
ok boot -mverbose
【解读SMF:Solaris系统服务管理好帮手】2. Solaris 10的运行级
Solaris 10有八个运行级,表2对其进行了说明 。在 /etc/inittab 文件中,缺省的运行级指定为运行级 3 。
表2 Solaris 10的运行级
SMFde 组成要素
SMF包含两个进程、服务定义的manifest和profile、服务配置库和命令行管理工具等内容:
1. svc.startd, svc.configd
svc.startd是SMF的主要进程,它根据系统管理员指令或者系统故障或应用故障来启动、停止、重启服务 。svc.configd是负责管理服务配置库的进程 。
2. manifest, profile
服务和服务的实例可以用xml文件定义,manifest定义服务,profile定义服务实例,这些xml文件通常存放在/var/svc目录下 。
3. repository(sqlite db)
服务配置库存放在/etc/svc/repository.db文件中 。服务配置库实际上是一个sqlite的关系数据库,它存放了服务的定义、配置等信息 。/var/svc目录下的manifest和profile文件和/etc/svc/repository.db文件都包含了服务的定义、配置等信息,后者的信息是权威的 。
4. CLI mgmt tool
命令行管理工具包括:svccfg, svcadm, svcprop, svcs, inetadm, inetconv, repoistory_restore 。
到此为止笔者介绍了使用SMF来管理Solaris 系统服务的方法 。

推荐阅读