DRBD/Heartbeat/Pacemaker Solution を過去 2 年間、まったく同じ問題に使用してきました。Firebird データベースの稼働とフェイルオーバーを維持するため。セットアップは実際には非常に簡単です。有利なスタートを切るためのいくつかの提案があります。したがって、これらは単なる提案です...
- drbdパーティションを作成し、フォーマットして/dataにマウントします(もちろんペースメーカーを使用)
- aliases.confをdrbd パーティションに配置すると、 aliases.confを変更するたびに 2 回変更する必要がなくなります。aliases.conf ファイルを /data にコピーし、両方のノードで /etc/firebird/2.1/aliases.conf にリンクします。
プライマリ/セカンダリ セットアップで Drbd/Pacemaker を使用することの欠点は、プライマリ ノードが停止するとすぐに、セカンダリ ノードが起動するまでクライアントの接続が失われることです。は再接続する必要があります。Firebirdクライアントは接続タイムアウトを許可する必要がありますが、アプリケーションでは実際には機能しませんでした(おそらく、使用するアプリケーションまたはライブラリは実際にはfirebird接続タイムアウトを使用していません)。
データベースの複製に関しては、Hugues Van Landeghem が記述または引用した方法に従ってください。トリガーで動作するアプリケーションを開発しました。そのため、新しい行がテーブルに追加され、トリガーがエントリのキーを別のテーブルにコピーします。このテーブルは、そのエントリを取得して別のデータベースに挿入するアプリケーションによって常に読み取られます。かなり醜いですが、うまく機能します!個人的には、Firebird は独自のデータベース レプリケーション システムを構築するために時間を費やすべきだと思います...彼らは本当に遅れをとっています...
私の情報が少しでもお役に立てば幸いです。さらに質問がある場合は、お気軽に私に連絡するか、私のサイト @ gefoo.orgにアクセスしてください。