电脑技术学习

Solaris 10应用最新的SMF进行系统启动服务和网络服务管理

dn001

  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

标签: