クラスタ内のノードがデータを提供できない場合、そのノードをフェールオーバすることができます。フェールオーバとは、Couchbase Serverがノードをクラスタから削除し、他のノードでレプリカデータをクライアントリクエストから利用可能にすることを意味します。Couchbase Serverはクラスタ内でデータレプリケーションを提供するので、格納されたデータへのアクセスに影響を与えることなく、クラスタはひとつ以上のノードの障害に対応することができます。ノード障害の発生時に、Webコンソールから手動でノードをフェイルオーバし、問題を解決することができます。
もしくは、Couchbase Serverが自動的に障害ノードをクラスタから削除し、縮退モードで動作するように設定することも可能です。この自動オプションを選択した場合、クラスタに残って機能しているノードの負荷が増加します。その後、ノード障害に対処し、機能しているノードをクラスタに戻し、ノード障害が発生する前のようにクラスタが機能するように、リバランスを実行する必要があります。
手動でノードをフェイルオーバするにせよ、Couchbase Serverに自動フェイルオーバするにせよ、障害の根本的な原因を調査する必要があります。そして正常に機能するノードを設定し、そのノードを追加してから、クラスタをリバランスする必要があります。ノード障害およびフェイルオーバのシナリオに対処するときにノードを交換または追加する方法について、次のガイドラインに留意してください:
ハードウェアやシステムが原因でノードに障害が発生した場合、クラスタに新しい交換用のノードを追加し、リバランスします。
クラスタの容量の問題が原因でノード障害となった場合、ノードを交換して、容量のニーズを満たすために追加のノードも加える必要があります。
ノード障害が事実上一時的なもので、障害ノードが再び機能する場合、そのノードを追加し、クラスタへ戻すことができます。
フェイルオーバはノードを削除/リバランスすることと比べて特別な操作であることに注意してください。一般的には保守もしくは他の理由のためにクラスタから正常なノードを削除しますが、対照的にフェイルオーバは機能しないノードに対して実行します。
正常なノードをクラスタから削除するとき、ノードを削除するためにWebコンソールを使用します。そのノードへのデータのリクエストを他のノードで処理できるようにするため、クラスタをリバランスします。削除したいノードがまだ稼動しているので、リバランスが完了するまで、データのリクエストを処理することができます。リバランスが完了すると、クラスタ内の他のノードがデータのリクエストを処理します。したがって、ノードを削除し、その後クラスタをリバランスするときにデータサービスの中断やデータの損失が発生する可能性はありません。管理目的のために正常なノードを削除する必要がある場合、機能的にフェイルオーバではなく、削除とリバランスを使用してください。リバランスの実行とクラスタへのノードの追加を参照してください。
正常なノードをフェイルオーバしようとする場合、データの損失につながります。これは、フェイルオーバはすぐにノードをクラスタから削除し、他のノードにレプリケーションされていないデータがまだディスクに永続化されていなければ永久に失われるためです。
フェイルオーバの実行方法の詳細については以下のリソースを参照してください:
ノードが応答しない、または利用できないことが確認されている場合、自動フェイルオーバが自動的にノードをフェイルオーバとしてマークします。自動フェイルオーバ機能にはいくつかの意図的な制限があります。自動または手動フェイルオーバを使用するかどうかを選択するには「フェイルオーバソリューションの選択」を参照してください。
自動フェイルオーバの有効化と監視の方法についての情報は「自動フェイルオーバの使用」を参照してください。
自動または手動フェイルオーバを使用するかどうかにかかわらず、フェイルオーバを開始するには、クラスタが完全に機能するために、追加の手順を実行する必要があります。フェイルオーバのハンドリングに関する情報は「フェイルオーバ状況のハンドリング」にあります。
フェイルオーバ後にノードを追加します 。フェイルオーバしたノードでの問題が解決した後、ノードを追加して、クラスタへ戻すことができます。この処理に関する情報は、「フェイルオーバノードの再追加」にあります。