Solaris10采用一种新的机制SMF对系统启动服务/网络服务进行管理。SMF提供了一种能够替代传统Unix使用启动脚本(RC)和initlevel的方式。SMF能够提供以下功能:
1.按照依赖关系,自动启动失败的服务。
2.通过使用svcs命令可以使服务对象可见,使用svCADm/svccfg使服务对象可管理。
3.通过对服务配置自动进行快照,可以方便地备份/恢复服务配置。
4.通过使用svcs-x可以方便地调试服务,查找错误原因。
5.通过svcadm可以方便地启用或禁止服务。
6.通过并行启动服务,SMF使大型系统的启动过程更加快速。
以下是Solaris10中与SMF相关的文件和目录:
/etc/svc/repository.db:全局配置数据库
/lib/svc/method/*:服务启动/停止脚本
/var/svc/log/*:服务实例日志
/var/svc/manifest/*:定义服务的mainifest文件,格式为xml
/etc/svc/volatile:包含临时数据的文件系统,如锁文件,初始化状态等等。
在Solaris10之前的版本,如Solaris7,8,9,如果用户想在系统启动时启动相应的应用服务,一般只需要在rc2.d或rc3.d中增加相应应用的启动/停止脚本,而在Solaris10中,为保持和以前操作系统的版本兼容性,我们仍然支持rc脚本方式启动应用服务,但是建议使用SMF方式增加系统得启动服务,以下为增加系统启动服务的步骤:
1.编写应用启动脚本及停止脚本,假定应用名称为app1,启/停脚本为:
/opt/SUNWapp1/bin/start
/opt/SUNWapp1/bin/stop
2.为应用服务创建服务定义文件app1.xml,内容如下:
name='application/app1'
type='service'
version='1'>
type='method'
name='start'
exec='/opt/SUNWapp1/bin/start'
timeout_seconds='60'/>
type='method'
name='stop'
exec='/opt/SUNWapp1/bin/stop'
timeout_seconds='60'/>
app1monitoring
3.装载服务定义
#svccfgimport/var/svc/manifest/application/app1.xml
4.检查服务是否注册
Svcs–a|grepapp1
5.启动服务
Svcadmenablesvc:/application/app1
Svcsapplication/app1
标签: