2つの物理サーバーがあり、それぞれに2つのVMが含まれます。 a VM Postgres(9.2)を実行し、a VMいくつかのPythonソフトウェア(Postgresに接続します)を実行していますサーバー)。フェイルオーバーツールの種類など、何にも縛られていません。物理サーバーが2つしかない場合、スプリットブレインの問題を回避する方法はありますか?
私の現在の理解では、マスターPostgresサーバー(またはそれが存在するマシン)が停止すると、スレーブデータベースはマスターの役割を再開します。マスターサーバーが再びオンになった場合、それはまだマスターであると見なされます...この問題は最新のPostgresバージョンで処理されますか、それとも深刻な問題ですか?もしそうなら、なぜもっと多くの人がそれについて話さないのですか?それについて何かを見つけることはめったにないようです。
物理/仮想サーバーの質問を切り離し、Postgresでのフェイルオーバーの理解にさらに焦点を合わせます。
すでに以下をお読みになったと思いますが、そうでない場合は、フェイルオーバーメカニズムの概要をご覧ください。 http://www.postgresql.org/docs/9.0/static/warm-standby-failover.html
次に、ストレージバックエンドを共有することを意味する場合でも、「他の人を頭の中で撃つ」とハートビートを実装する方法を検討します(参照: https://dba.stackexchange.com/tags/drbd/ info 、 http://wiki.postgresql.org/wiki/Shared_Storage )