2008-06-11 17:43:27 查看( 611 ) /
评论( 0 )
SUN中国软件技术中心罗浩/Benny Luo Benny.luo@Sun.com 简介作为Sun信息系统的基石,Solaris 10目前既可支持SPARC处理器,同时可以支持AMD Opteron和 Intel Xeon处理器的服务器. Solaris 10上有600多个新特性,之前和大家分享过Solaris Container的一些经验,现在想和大家分享一下Solaris 10另外一个同样很棒的特性 – Fault Management.
Fault Management简介
SUN中国软件技术中心罗浩/Benny Luo Benny.luo@Sun.com 简介
作为Sun信息系统的基石,Solaris 10目前既可支持SPARC处理器,同时可以支持AMD Opteron 和 Intel Xeon处理器的服务器. SoContainer的一些经验,现在想和大家分享一下Solaris 10另外一个同样很棒的特性 – Fault Management.
1. 简介
2. Fault Management 概念和架构 3. Fault Management 流程 4. 管理Fault Management 5. 资源
Fault Management 概念和架构
Fault Management是Solaris 10全新的部件,它和Service Management Facility(SMF)共同构成了Solaris 10预测性自我修复功能. 预测
并在故障出现之前就将其修复,其中SMF主要针对的是客户的应用和软件,而Fault Management则主要是针对系统的硬件. Fault M
和相应的分析并且对硬件错误事件提供响应行为的软件联系起来, 这一系列的套件巩固了系统的高可用性和提高系统的自我修复能
Fault Management里包含了一套分析引擎 (Diagnostic Engine),分析引擎主要负责利用Ereport报告自动诊断问题, 而Fault Manageme他的本地或者远程的管理软件。
Agent), 能够自动地对出现的故障作出响应,比如说如果CPU出现了问题,它能够自动地把CPU从服务中隔离出来,并且发出相
Fault Management 流程
这里介绍了Fault Management的具体工作流程图: 1Error Handler
Error Handler随时随地监测系统,当发现有系统有错误时, 尝试捕捉足够的数据来分析潜在的问题, 生成适当的详细的描述问题的2Fault Manager
Fault Management通过Ereport事件异步地分析系统存在的问题, 分析这些系统硬件错误是否达到生成系统硬件故障事件(Fault Eve3FMA Agent
一旦诊断问题确定, FMA Agent自动地对故障进行隔离和自我治愈的工作. 例如,一个被诊断为有问题的硬件部分可被重新配置或屏管理Fault Management
好,下面我们来看看Fault Management具体的管理:
1fmd – 这是Fault Management的最重要的daemon, 负责侦测错误, 分析问题,初始化自我修复功能 2fmadm – 用来查询和更改Fault Management配置的命令。 3fmstat – 用来报告fmd和它的模块的静态信息的命令。 4Fmdump – 用来显示系统错误和系统故障信息的命令。
掌握好这几方面相关的信息和命令,你就可以操作自如地使用Fault Management啦。 首先我们来看看fmd:
Fault Management daemon 包括了下面几个部件:
1. Diagnosis engines – 分析引擎,系统允许有多个分析引擎,订阅系统硬件错误报告和分析系统硬件错误报告并判断是否生2. Agent – 收到系统硬件故障事件后自动智能地修复故障。 3. Schemes – 负责转换信息从一种协议变换为另一种协议。
这些fmd的部件都作为模块的插件安装在Fault Management Daemon上:
这些模块摆放在以下的目录里面: /usr/platform/`uname -i`/lib/fm/fmd/plugins /usr/platform/`uname -m`/lib/fm/fmd/plugins /usr/lib/fm/fmd/plugins
系统按顺序搜索Fault Management模块,如果一个目录不存在,自动地前进到下一目录搜寻,直到找到为止。
分析引擎(Diagnosis engines)把Ereport事件传进来的数据和最终的结果按类别储存到案例 (Case)中,大家可以理解成把相关某个硬件故障事件的条件,如果已经达到,就生成系统Fault故障事件传送给FMA。
我们再来看看fmadm命令,fmadm是用来查询和更改Fault Management配置的命令,包括了以下一系列的子命令:
个CPU的相关错误信息都放在同一个Case中, 每一个Case都有一个唯一的Universal Unique Identifier (UUID) 作为标识. 分析引擎
config – 显示Fault Management的配置 下面是fmadmconfig输出的一个例子:
上面的输出显示了系统目前已经加载的各种模块, 包括有分析引擎和Agent。 faulty – 显示故障所在的资源
fmadm faulty 命令使用FMRI和UUID显示了所有故障硬件的资源,UUID已经说过,FMRI全名叫fault managed resource identifie受Fault Management控制的硬件。
如果系统健全,那么使用fmadm faulty命令会呈以下输出:
如果系统某部分硬件有故障,将会显示出具体的State, Resource / UUID,比如:
# fmadm faulty
STATE RESOURCE / UUID
-------- ---------------------------------------------------- faulted mem:///component=Slot%20B%3A%20J3000 dbdc7f15-848c-cbdc-b47f-deb9d9fff5c9
-------- ----------------------------------------------------
我们可以看到,在命令行的输出中,'faulted'所代表是硬件状态,'mem:///component=Slot%20B%3A%20J3000' 用FMRI表示,所代'dbdc7f15-848c-cbdc-b47f-deb9d9fff5c9'用UUID表示,所代表的是一个案例。
在state一列中显示的是faulted的状态,在FMA中,使用数据库保存事件中各种硬件的状态,状态分别包括: ok - 系统硬件资源良好
unknown – 系统硬件资源出现问题但不明原因。 degraded - 系统资源性能下降
faulted – 系统硬件资源出现问题并且已经从系统中屏蔽。 这些硬件资源状态可以让你更好地知道系统的健全性。
repair fmri – 手动修复硬件, 只有当系统不能自动修复控件,才需要使用该命令。 比如上面的例子, 如果系统不能自动修复,就可使用fmadm repair进行手动修复:
# fmadm repair mem:///component=Slot%20B%3A%20J3000
fmadm: recorded repair to mem:///component=Slot%20B%3A%20J3000
另外还有一些其他的子命令,在次简单描述一下: flush fmri – 刷新特定的fmri的cache. load path - Loads 特定的插件模块 unload module - Unloads t特定的插件模块 ......
看完fmadm, 让我们来了解一下fmstat的命令:
fmstat用来报告Fault Management daemon和它的模块的静态信息的命令, 使用非常简单,直接在系统console上打命令即可:
具体的每行含义大家可参照'man fmstat'.
当然,如果你只想看指定的模块信息的情况,只需要加上相应的option即可,比如:
同样option也可参照'man fmstat'.
最后我们来看看fmdump:
它是用来显示系统错误和系统故障信息的命令。
所有系统故障的日志都放在/var/fm/fmd目录下,并且只能通过fmdump命令来查看,如果系统由使用到目前运行都没有问题,那么一但系统出现故障,它将会故障事件写到日志里面,我们可以用: fmdump -e 选项来显示日志内容:
# fmdump -e
TIME CLASS
Jul 26 12:49:27.6137 ereport.cpu.ultraSPARC-IIIplus.ce fmdump -V 选项显示事件中更为详细的信息: # fmdump -Ve
那么一但这个correctable memory错误发生足够多次,就会触发分析引擎生成故障事件。 故障事件日志显示了故障的时间,UUID和信息的唯一标识符。
# fmdump
TIME UUID SUNW-MSG-ID
Jul 26 12:52:10.6786 dbdc7f15-848c-cbdc-b47f-deb9d9fff5c9 SUN4U-8000-1A 我们可以使用http://www.sun.com/msg来查找信息辩识符的代表意思:
因篇幅问题不能全部显示,请点此查看更多更全内容