首页  ·  知识 ·  基础设施
用Solaris10的SMF配置Tomcat为自动启动
网友   http://tech.ddvip.com/  数据中心  编辑:德仔   图片来源:网络
 一、Solaris10中的SMF简介   SMF是Service Management Facility 的缩写,是Sun公司在其Solaris产品中提供的一种管理服
 一、Solaris10中的SMF简介
  SMF是Service Management Facility 的缩写,是Sun公司在其Solaris产品中提供的一种管理服务的新特性。3M(Manifest,Method,Milestone)是SMF中的3个主要组成部分。其中Manifest是一个xml文件,用于定义服务的配置清单,主要包括服务的标识信息,服务的启动、停止方法,服务启动和停止对其它服务或者系统资源的依赖关系等。Method是一个脚本程序用来负责服务的启动、停止、刷新等工作。Milestone事实上与运行级别(run-level)相似。除此之外服务配置仓库(service configuration repository),profile,快照(Snapshots)也是其很重要的组成部分。那么SMF与传统的Unix后台服务管理机制相比较有什么突出的特点呢?
  1、可以恢复由软件故障、硬件故障、管理错误终止的服务
  2、服务之间可以定义相互间的依赖关系
  3、 它提供了比较全面的基于命令行的管理工具(svcs,svcadm,svccfg...)
  4、根据依赖关系可以并发启动服务,加快系统启动的速度
  5、引入服务配置库,提供服务配置库快照、备份、恢复功能
  这些功能方便了服务的管理,服务的可用性,可维护性。SMF提供了一定程度的服务自愈性,它也是Solaris 10系统可预测自愈功能(Predictive Self-Healing)的一部分。更多有关SMF 的信息请访问http://docs.sun.com/app/docs/doc/817-1985/6mhm8o5rh?a=view
  正是因为SOLARIS10采用了现在SMF方式的后台服务管理机制,使得很多熟悉UNIX的用Run Control (即配置/etc/rcn.xx)脚本方式来进行服务管理的工程师不了解如何在SOLARIS10 中来完成相同的工作。下面将给出一个简单的例子来说明如何使用SMF来将tomcat作为一个自动启动的后台服务。
  二、将tomcat设置的系统服务
  说明:本例中tomcat的安装目录是/export/mysoft/tomcat551/,实践中需要根据实际安装目录替换
  A.在SMF的manifast下面创建一个用于存放SMF配置文件的目录。
  #mkdir -p /var/svc/manifest/application/server/tomcat
  B.Tomcat作为系统服务的配置文件,在A中创建的目录下面新建一个tomcat.xml文件,
  此文件内容应该包含如下内如:
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type='manifest' name='Tomcat'>
<service name='application/server/tomcat' type='service' version='1'>
<single_instance />
<dependency
name='filesystem'
grouping='require_all'
restart_on='none'
type='service'>
<service_fmri value='svc:/system/filesystem/local' />
</dependency>
<exec_method
type='method'
name='start'
exec='/export/mysoft/tomcat551/bin/startup.sh'
timeout_seconds='300' />
<exec_method
type='method'
name='stop'
exec='/export/mysoft/tomcat551/bin/stop.sh'
timeout_seconds='300' />
<instance name='default' enabled='true' />
<stability value='Unstable' />
<template>
<common_name>
<loctext xml:lang='C'>Tomcat5.5</loctext>
</common_name>
</template>
</service>
</service_bundle>
  C. 验证并使此配置服务生效。
  #svccfg validate /var/svc/manifest/application/server/tomcat/tomcat.xml
  D.将此服务导入的系统服务仓库。
  #svccfg import /var/svc/manifest/application/server/tomcat/tomcat.xml
  E.查看服务
  # svcs tomcat

用Solaris 10的SMF配置Tomcat为自动启动

  附录:

  A.SMF常用命令

 

命令 用途说明 其它说明
/usr/bin/svcs 查看服务的状态

  用man 命令可以查看更多与这些命令相关的信息

/usr/bin/svcadm 用于管理服务实例
/usr/bin/svcprop 获取服务的配置属性
/usr/sbin/svccfg 导入/导出和修改服务的配置
/usr/sbin/inetadm 发现并配置inetd控制的服务
/usr/sbin/inetconv
讲inetd.conf文件配置转换成SMF的

 

  配置文件格式,以便导入smf

  B.SMF使用到的目录

 

目录 存放文件的说明 注释
/etc/svc 存放配置文件  
/etc/svc/volatile 用于存放服务的日值(在/var被挂载前) 此目录挂载于RAM中
/lib/svc/bin 被SMF使用的二进制文件 请不要手工执行这么目录下面的二进制文件
/lib/svc/capture 保留  
/lib/svc/method 存放一些可以执行的SMF 方法脚本  
/lib/svc/monitor 保留,用于监控Method命令  
/lib/svc/seed 初始的SMF存放“仓库”  
/lib/svc/share 存放可以被Method脚本引用的其它脚本  
/var/svc/log 用于存放服务的日值文件(/var被挂载后)  
/var/svc/manifests/* 存放各种类型的配置清单文件 建议不要修改Sun提供的系统默认配置清单文件
/var/svc/manifests/site
存放在某种特定情况下才特有的配置

 

  清单文件

 
/var/svc/profiles 存放profile文件  
本文作者:网友 来源: http://tech.ddvip.com/
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的