30.3.6. データのレプリケーションの制限: スプリットブレイン処理

「スプリットブレイン」状態は、ライブサーバーとそのバックアップの両方が同時にアクティブなときに発生します。両方のサーバーがクライアントおよびプロセスメッセージを処理し、一方はそれに気付きません。この場合、ライブサーバーとバックアップサーバーの間でメッセージのレプリケーションは行われなくなります。2 つのサーバー間でネットワーク障害が発生すると、スプリット状況が発生する可能性があります。

たとえば、ライブサーバーとネットワークルーター間の接続が切断されると、バックアップサーバーはライブサーバーへの接続を失います。ただし、バックアップはクラスター内の半分以上のサーバーに引き続き接続できるため、アクティブになります。ライブ/バックアップのペアが 1 つのみで、バックアップサーバーがライブサーバーへの接続を失った場合にも、バックアップがアクティブになることに注意してください。両方のサーバーがクラスター内でアクティブな場合、2 つの望ましくない状況が発生する可能性があります。

  1. リモートクライアントはバックアップサーバーにフェイルオーバーしますが、MDB などのローカルクライアントはライブサーバーを使用します。両方のノードでのジャーナルが完全に別になるため、スプリットブレイン処理が生じます。
  2. ライブサーバーへの接続の切断は、リモートクライアントがバックアップサーバーにフェイルオーバーした後に修正されます。古いクライアントは引き続きバックアップを使用し続け、新しいクライアントはライブサーバーに接続するので、これもスプリットブレインの状況が生じます。

お客様は、ライブサーバーとバックアップサーバーの各ペア間に信頼できるネットワークを実装して、データのレプリケーション使用時のスプリットブレイン処理のリスクを軽減する必要があります。たとえば、複製したネットワークインターフェースカードや、その他のネットワーク冗長性を使用します。