在故障管理功能确定系统中的故障组件之后,您应对该组件进行修复。修复可以通过两种方式之一进行:隐式或显式。
更换或删除故障组件时,如果该组件具有 Fault Manager 守护进程可跟踪的序列号信息,则会发生隐式修复。包含了系统的序列号信息,以便 Fault Manager 守护进程可以确定何时已通过更换或其他方式(例如,列入黑名单 (blacklisting))从运行过程中删除了组件。当发生此类检测时,Fault Manager 守护进程在 fmadm faulty 输出中不再显示受影响的资源。该资源将保留在守护进程的内部资源高速缓存中,直到故障事件发生 30 天后,这时会将其清除。
如果没有 FRU 序列号,需要进行显式修复。例如,CPU 没有序列号。在这些情况下,故障管理器守护进程无法检测到 FRU 更换。
应使用 fmadm 命令将故障显式标记为已修复。选项包括:
fmadm replaced label
fmadm repaired label
fmadm acquit label
fmadm acquit uuid [label]
尽管这四个命令可以采用 UUID 或标签作为参数,但最好使用标签。例如,标签 /SYS/MB/P0 表示主板上标记为 "P0" 的 CPU。
如果某个 FRU 存在多个故障并且您希望仅更换一次该 FRU,则针对该 FRU 使用 fmadm replaced 命令。
您可以使用 fmadm replaced 命令来指示可疑的 FRU 已被更换或移除。
如果系统自动发现某个 FRU 已更换(序列号已更改),对待该发现结果的方式与在命令行中键入了 fmadm replaced 时采取的方式相同。如果 fmd 可以自动确认 FRU 未更换(序列号未更改),则不允许使用 fmadm replaced 命令。
如果系统自动发现某个 FRU 已删除但未更换,则当前行为不变:可疑资源显示为 not present,但不会认为是要将其永久删除,直到故障事件发生 30 天后,那时会将其清除。
当已采用了更换 FRU 之外的物理修复方法来解决问题时,可以使用 fmadm repaired 命令。此类修复的示例包括重新安装组件或拉直弯曲的管脚。
在确定了某个资源不是起因时,您通常会使用 acquit 选项。当发生了其他错误事件并且诊断得到进一步细化时,也可能会隐式宣告无问题。
更换优先于修复,而更换和修复都优先于宣告无问题。因此,您可以宣告某个组件无问题,然后在以后对其进行修复,但您无法宣告已修复的组件无问题。
当某个案例的 UUID 被宣告无问题,或者所有可疑对象已被修复、更换、删除或宣告无问题时,会将该案例视为已修复(移动到 FMD_CASE_REPAIRED 状态并生成一个 list.repaired 事件)。
通常会由 fmd 自动宣告多元素可疑对象列表中的某个可疑对象无问题,或者由支持服务指导您手动执行该操作。如果您确定资源并非在当前怀疑它的所有案例中都是可疑的,您只需按标签来宣告资源无问题。不过,通过使用以下选项同时指定 UUID 和标签,您可以手动宣告 FRU 在一个案例中无问题,但在所有其他案例中使其仍然保持为可疑对象:
fmadm acquit uuid [label]