Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3156802
  • 博文数量: 443
  • 博客积分: 11301
  • 博客等级: 上将
  • 技术积分: 5678
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-08 12:30
个人简介

欢迎加入IT云增值在线QQ交流群:342584734

文章分类

全部博文(443)

文章存档

2022年(1)

2021年(1)

2015年(2)

2014年(1)

2013年(1)

2012年(4)

2011年(19)

2010年(32)

2009年(2)

2008年(4)

2007年(31)

2006年(301)

2005年(42)

2004年(2)

分类:

2006-08-27 10:13:54

作为Solaris10众多新特性中非常抢眼的“可预测性自恢复技术”组成部分之一的SMF,在实际的系统管理中如何运用呢?当你的系统中存在异常中止的服务,通过哪些命令和步骤可以迅速的解决呢?


“可预测性自恢复”技术包含了FMA和SMF两部分。前者主要针对硬件(CPU/Memory/IO)等错误,及时向用户提供详细的错误信息并进行隔离,后者则把精力放在了那些系统中运行的的服务上,比如Solaris系统服务svc:/system/system-log:default(即 syslogd),svc:/network/smtp:sendmail(sendmail),以及一些其他软件比如Sun Cluster的服务。SMF提供的这套机制能够统一管理系统的大部分服务,记录错误信息,并能够根据依赖关系自动重起服务使系统恢复正常运行。对于系统管理员来说,省去查找异常中止的服务、到不同路径下收集 log、原因分析以及修复后根据依赖关系手动重起服务的诸多繁琐操作,可以更加方便的管理系统中的各种服务。

下面总结了一些使用频率非常高的命令。

1.查看服务状态

svcs 服务的标识FMRI --- 列出该服务的状态、起动时间

svcs -p |grep 进程名 --- 显示所有服务的进程信息,可以查找你关注的进程

svcs -d FMRI 或svcs -D FMRI --- 查看指定服务的依赖关系

2.起动/停止服务

svcadm enable 服务FMRI --- 起动服务

svcadm disable 服务FMRI ---停止服务

svcadm refresh 服务FMRI ---更新服务配置

3.服务发生故障后的原因分析

svcs -x-v 找到系统中故障停止的服务,得到系统提示信息,根据提示的/var/svc/log/下的log路径察看log文件。log文件中会提示故障原因,比较详细。

一般服务停止很可能是以下几个原因之一

1)/lib/svc/method/下故障服务的起动脚本执行失败,可以手动执行一遍找到shell中的问题

2)依赖关系得不到满足,或者依赖关系不正确。可以结合svcs -d 看看它依赖的服务是否正常,如果有问题进行解决。

3)配置文件的错误等等

这些都可以在/var/svc/log下对应的目录和文件中找到明确的提示。

4.修正后服务的恢复

如果服务没有故障,只是修改了服务相关的配置文件,或者服务本身的依赖关系、起动脚本等,需要执行

svcadm refresh FMRI --- 更新配置

svcadm restart FMRI --- 重起服务

如果服务异常退出,并且管理员已经修复了错误,需要执行

svcadm clear FMRI
这时该服务会被svc.startd自动起动。

如果Solaris10不是你的开发平台,或者你对Solaris10了解不多,这些命令至少不会让你在服务发生错误的时候束手无策;如果你对*nix系统中服务管理并不陌生,通过系统管理手册或者其他途径(比如google)还可以找到很多关于SMF的技术文档。对这种新的管理方法熟悉之后,会渐渐体会到它的各种优点。我的感想是SMF提高了服务管理的统一性,各个服务独有的log能够更方便的获取信息。


就SMF的发展来看,与FMA结合实现系统故障的自恢复、将更多的服务纳入SMF管理机制以及今后向用户提供一些接口来更好的管理服务,无疑对于提高整个Solaris的系统的可用性都是有好处的。不要把它理解为抽象的技术,其实它是方便你更好的管理系统和服务的工具。

阅读(2088) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~