2台の仮想Linuxマシン(VMWareインフラストラクチャ)間でdrbd with heartbeatを構成した経験のある人はいますか?
私が遭遇している問題は、ハートビートがピアノードを確認するために複数のデータパスを好むということです。たとえば、ピアへのネットワーク接続、おそらくゲートウェイへのネットワーク接続、およびピアへのシリアルケーブルが必要です。これにより、ネットワークの輻輳やネットワークの輻輳が原因ではなく、ピアの停止を検出したときに実際にダウンする可能性が高まります。何か。
ただし、仮想マシンでは、シリアルポートとイーサネットポート(および他のすべてのポート)は仮想です。したがって、実際には、データパスは1つだけです(正しいですか?)
(VMWareがデバイス間の物理シリアルケーブルをサポートしていることは知っていますが、VMはリモートでホストされており、物理ケーブルによってホストの移行が妨げられるため、受け入れられません。)
この場合、ハートビートピアが同じホストマシンで実行されていても、それらの間にタイムアウトが発生しています。
仮想マシンで実行するときにdrbd/heartbeatをより堅牢に構成するにはどうすればよいですか
VMが割り込みのドロップなどについて不平を言っているかどうかを確認しましたか?ホストハードウェアが過負荷になっているだけか、VMに十分なリソースが割り当てられていない可能性がありますか?
不安定なネットワークや過負荷のネットワークの場合は、もちろんそれを修正するのが正しいでしょう。しかし、ホスティングプロバイダーがそれに熱心でない場合は、複数のブリッジネットワークを異なるホストデバイス(できれば異なるスイッチ上)に接続することで、複数の物理パスを使用できますか?
その場合も、802.3adを介して冗長ネットワークパスを使用するだけでは問題はありません。
別の質問に対するコメント投稿者は、スプリットブレインについて言及しました-それは絶対に避けたいことの1つです:通常、STONITHスクリプトは例えば他のホストのネットワーク化されたPDUストリップをオフにして、他のホストがダウンするようにします確かに; VM)では、VMwareAPIを介して他のVMをオフにするスクリプトを試すことができます。
最後に、DRBDはシナリオに適していない可能性があります。 SANを使用している場合は、両方のVMのファブリックで同じデバイスをrawディスクとして開き、OCFS2または同様のクラスターを実行することをお勧めしますFS。友人はOCFS2が実行されるのを見ました。最大4つのノードで同時に堅牢になります。これにより、drbdによるハートビート1のように2ノードのフェイルオーバーでロックインされる代わりに、ハートビート2でマルチノードクラスターを実行できるようになります。
警告エンプター:heartbeat2はXML構成ファイルを使用します。誰もが(私など)それを好むわけではありません。
複数のデータパスを持つという考えは新しいものではありません。スプリットブレインの状況を回避することは基本的な概念です。
しかし、物理サーバーでもまったく同じ問題に直面しています。なぜこの質問をVMにリンクするのかわかりません。
物理的に異なるネットワークハードウェアを使用して複数のデータパスを確立できます。これは、サーバーのバックエンドをフォントエンドから分離する大規模な環境でも意味があります。これにより、2つのネットワークが提供され、VMからもアクセスできます。
DRBDとハートビートが機能する場合、物理的に異なる3番目のネットワークが高速専用データレプリケーションに適している可能性があります(iSCSIにも推奨されることがよくあります)。これは3番目のhbネットワークでもあります。
私自身の経験では、これら3つの別々のネットワーク(VMサーバー上に存在し、VMにもブリッジされている)があるため、3つの別々の回線でハートビートを実行できます...
ネットワーク障害を回避する別の可能性は、同じネットワークのデバイスを結合することです。ネットワークシステムにSPOFがない場合-これも優れたソリューションです(少なくとも1つのHAネットワークが提供されます)。
DRBDはシリアルケーブルを使用しないだけでなく、できません!私はあなたが何について話しているのか分かりません!
その上、複数のデータパスについてスクワットするのではなく、単純な古いTCP接続を介して他のノードと通信するだけです。カーネルのルーティング、スイッチ、ルーター、ファイアウォールが処理しますこれ、DRBDはnothingと関係があります。