发新话题
打印

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

Solaris 10应用最新的SMF进行系统启动服务和网络服务管理
Solaris 10采用一种新的机制SMF对系统启动服务/网络服务进行管理。SMF提供了一种能够替代传统UNIX使用启动脚本(RC)和init level的方式。SMF能够提供以下功能:

1.按照依赖关系,自动启动失败的服务。
2.通过使用svcs命令可以使服务对象可见,使用svcadm/svccfg使服务对象可管理。
3.通过对服务配置自动进行快照,可以方便地备份/恢复服务配置。
4.通过使用svcs -x可以方便地调试服务,查找错误原因。
5.通过svcadm可以方便地启用或禁止服务。
6.通过并行启动服务,SMF使大型系统的启动过程更加快速。

以下是Solaris 10中与SMF相关的文件和目录:
/etc/svc/repository.db:全局配置数据库
/lib/svc/method/*:服务启动/停止脚本
/var/svc/log/*:服务实例日志
/var/svc/manifest/*:定义服务的mainifest文件,格式为xml
/etc/svc/volatile:包含临时数据的文件系统,如锁文件,初始化状态等等。

在Solaris 10之前的版本,如Solaris 7,8,9,如果用户想在系统启动时启动相应的应用服务,一般只需要在rc2.d或rc3.d中增加相应应用的启动/停止脚本,而在Solaris 10中,为保持和以前操作系统的版本兼容性,我们仍然支持rc脚本方式启动应用服务,但是建议使用SMF方式增加系统得启动服务,以下为增加系统启动服务的步骤:

1.编写应用启动脚本及停止脚本,假定应用名称为app1,启/停脚本为:
/opt/SUNWapp1/bin/start
/opt/SUNWapp1/bin/stop

2.为应用服务创建服务定义文件app1.xml,内容如下:

<SERVICE
name='application/app1'
type='service'
version='1'>


<EXEC_METHOD
type='method'
name='start'
exec='/opt/SUNWapp1/bin/start'
timeout_seconds='60' />
<EXEC_METHOD
type='method'
name='stop'
exec='/opt/SUNWapp1/bin/stop'
timeout_seconds='60' />

app1 monitoring

3.装载服务定义
# svccfg import /var/svc/manifest/application/app1.xml

4.检查服务是否注册
Svcs –a|grep app1

5.启动服务
Svcadm enable svc:/application/app1
Svcs application/app1

Old Method
mv /etc/rc2.d/S75cron /etc/rc2.d/x.S75cron

SMF Method
svcadm disable system/cron:default
svcadm disable network/finger:default

TOP

发新话题