障害管理によってシステム内で障害が発生したコンポーネントが特定されたら、それを修復するべきです。修復は、暗黙的と明示的のいずれかの方法で行われます。
暗黙的修復は、コンポーネントに Fault Manager デーモンが追跡できるシリアル番号情報がある場合に、障害の発生したコンポーネントを交換または削除したときに行われることがあります。コンポーネントが交換またはその他の手段 (たとえば、ブラックリストへの登録) によって、いつ運用から外されたのかを Fault Manager デーモンが判別できるように、システムのシリアル番号情報が含まれています。このような検出が行われると、Fault Manager デーモンは影響を受けたリソースを fmadm faulty の出力に表示しなくなります。このリソースは、デーモンの内部リソースキャッシュ内に保持され、障害イベントから 30 日が経過した時点で消去されます。
FRU のシリアル番号を取得できない場合は、明示的な修復が必要です。たとえば、CPU にはシリアル番号がありません。このような場合、Fault Manager デーモンでは FRU の交換を検出できません。
fmadm コマンドを使用して、障害に修復済みのマークを明示的に付けてください。オプションは次のとおりです。
fmadm replaced label
fmadm repaired label
fmadm acquit label
fmadm acquit uuid [label]
これらの 4 つのコマンドでは、引数として UUID またはラベルを指定できますが、ラベルを使用する方が適切です。たとえば、ラベル /SYS/MB/P0 は、マザーボードで「P0」というラベルが付いた CPU を表します。
FRU に複数の障害があり、FRU を一度だけ交換する場合は、FRU に対して fmadm replaced コマンドを使用します。
fmadm replaced コマンドを使用すると、疑いのある FRU が交換または削除されたことを示すことができます。
FRU が交換された (シリアル番号が変更された) ことをシステムが自動的に検出すると、この検出はコマンド行に fmadm replaced を入力した場合と同じように処理されます。FRU が交換されていない (シリアル番号が変更されていない) ことを fmd が自動的に確認できる場合、fmadm replaced コマンドは許可されません。
FRU が交換ではなく削除されたことをシステムが自動的に検出した場合、現在の動作は変更されません。この疑いは「not present (存在しない)」として表示されますが、永続的に削除されたものとは見なされず、障害イベントから 30 日が経過した時点で消去されます。
問題を解決するために、FRU の交換以外に物理的な修復を実行した場合は、fmadm repaired コマンドを使用できます。このような修復の例として、コンポーネントの再装着や曲がったピンの修正などがあります。
acquit オプションは、多くの場合、そのリソースが原因ではないことがわかったときに使用します。赦免は、追加のエラーイベントが発生して診断が絞り込まれたときに、暗黙的に行われることもあります。
交換は修復よりも優先され、交換と修復は赦免よりも優先されます。したがって、コンポーネントを赦免したあとで修復することはできますが、すでに修復されたコンポーネントを赦免することはできません。
あるケースが修復された (FMD_CASE_REPAIRED 状態に移行し、list.repaired イベントが生成された) と見なされるのは、その UUID が赦免されるか、またはすべての疑いが修復、交換、削除、または赦免されたときです。
通常は、fmd が複数の要素を含む疑いリスト内の疑いを自動的に赦免するか、サポートサービスから手動で赦免するように指示されます。ラベルで赦免する必要があるのは、そのリソースが原因として疑われている現在のすべてのケースで、そのリソースが疑いでないことがわかった場合だけです。ただし、次のオプションを使用して UUID とラベルの両方を指定すれば、FRU をあるケースについて手動で赦免し、ほかのすべてのケースで疑いのままにすることができます。
fmadm acquit uuid [label]