コントローラが故障した場合やコントローラがガイド付き保守によってオフラインに切り替わった場合、Oracle FS System はフェイルオーバーとフェイルバックを使って Oracle FS System を通常の状態に戻します。フェイルオーバーでは、オフラインノードのすべてのリソースが、オンラインのままのノードに転送されます。フェイルバックでは、オフラインだったノードがオンラインに復帰した際に、それらのリソースが元のノードに転送されます。
通常の状態では、ペアの各コントローラノードが自身のリソースを使用してデータパスに到着した I/O 要求を活発に処理しています。2 つのコントローラノードは、アクティブ - アクティブのペアとして相互接続されています。この相互接続により片方のノードに障害が発生しても、もう一方のノードが障害の発生したノードをサポートできます。
一方のコントローラノードに障害が発生すると、パイロットとパートナのコントローラノードの両方が障害を検知し確認します。次に、パートナのコントローラノードが障害の発生したコントローラノードのすべての I/O 要求を引き継ぎます。これにはデータキャッシュをストレージに排出し、コントローラのデータ操作を保守的モードに変更する作業も含まれます。
コントローラノードのフェイルオーバーが発生する可能性があるのは、予期しないコントローラノード障害の発生時や、現場交換可能ユニット (FRU) または顧客交換可能ユニット (CRU) の交換が必要になり、コントローラノードの電源を切断するような場合です。保守の実行前にコントローラノードの電源切断が必要になるコンポーネントについては、ガイド付き保守が保守対象のコントローラノードに対してフェイルオーバープロセスを開始します。
フェイルオーバープロセスでは次のタスクが実行されます。パートナのコントローラノードからのポートリソースを引き受けます。
パートナコントローラノードからメモリーリソースとメモリーに含まれている可能性のある関連データを引き受けます。
パートナコントローラノードの動作モードを、ライトバックキャッシュからライトスルーキャッシュに変更します。
パートナコントローラノードのステータスを「通常」から保守的に変更します。保守的モードでは、すべての書き込みがストレージに対して直接実行されます。
コントローラの障害の保守または処理が終了すると、コントローラノードのブートサイクルが始まります。ブートサイクル中に、システムはコントローラノードの動作状態を確認し、フェイルバックを実行して、修復後のコントローラノードでサービスを回復します。
コントローラノードがパートナノードにフェイルオーバーしたあと、コントローラノードの修復または回復が行われブートすると、システムはフェイルバック操作を実行します。フェイルバック中に、すべてのサービスとリソース負荷を処理していたパートナコントローラノードから、該当するサービスおよびリソースが修復後の コントローラノードに戻されます。
コントローラノードがオンラインに戻るとき、ノードはいくつかの状態を遷移します。オンラインに戻るときのコントローラノードのステータスを追跡するには、Oracle FS System Manager (GUI) の「イベントログ」画面を使用します。