最近公司的系统要在solaris上运行,有些模块要以独立的服务启动,配置成系统的服务。做成一个集群,当一个机器down的时候,另外的一个机器的模块会由一个玩过共享磁盘系统以服务的形式调用,这样服务才不会断掉,呵呵。
刚开始对solaris系统不了解,用linux上最原始的服务的形式来配,就是写个脚本,在哪几种模式下会启动,还设置下级别,一看很不灵活。还想了下守护进程,定期对模块进行扫描,发现哪个宕掉,就重新启动,这些管理起来有点复杂。最后还是想用solaris自带的服务管理,SMF,刚看了一下资料,觉得很复杂的,不过,慢慢看下来,觉得还挺有意思的。最周终于看完恶,局开始配置,大致分三个过程。
1 写脚本,就是服务中会用的大,负责启动。
2 写配置文件,manifest,profile,前者是服务元数据的配置,后者是服务实例的定义,一个服务可以定义多个实例,实例中的配置可以覆盖服务中的依赖配置。
3 配置文件中引用脚本的方法。下面就是SMF的一些配置和管理命令了。对配置文件的语法要仔细分析,多实践。
服务配置文件的name属性名要一样这样才能关联起来,找到实例。终于配好了,不是mantain状态了,而是online了,哈哈。
记住一点,在重新配置服务文件后,用svcadm clear 清除掉缓存,这样才能好、重新启动服务,这些信息都在日志文件中看到。远程命令运行的模块,要记住在脚本中加个&,就是让服务以后台进程的形式运行,不然收不到signal,就是返回消息这些服务就会停止。
好了,祝大家好运~~~!!