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