web-dev-qa-db-ja.com

Drbd Primary / Primary + iSCSI:異なるファイルにアクセスすると、スプリットブレインを回避できますか?

Drbd Primary/Primary構成のスプリットブレインについて質問/好奇心があります。 Drbd Primary/Primaryで構成されたHost1Host2の2つのノード(ホスト)と、レプリケートされた領域の2つの異なる共有(NFS、CIFS o iSCSI)(/drbdなど)を想定します。

/drbd/file1.data
/drbd/file2.data

クライアントのプールがHost1共有の読み取りと書き込みのみfile1.dataによってのみアクセスし、別のプールがHost2共有によってのみfile2.dataにアクセスする場合、このシナリオでは、スプリットブレインの状況を回避する必要があります。 1つのノードに障害が発生した場合ですか、それとも単なる推測ですか?

最終的な目的は、通常の状態の2つのノード間の負荷分散と、障害が発生した場合にのみ1つのノードに折りたたむことです。

ありがとうございました!
エディ

1
Eddie C.

oneDRBDリソースがプリム/プリムモードであり、異なるノードから書き込む限り、意志ネットワーク障害の場合に脳を分割します。

また、/drbdは、2つのサブディレクトリのみを持つ通常の(非クラスター)ファイルシステムであり、2つのホストで共有されます。ローカルファイルシステムは他のマシンを認識しないため、通常の操作でもデータの破損は保証です。ブロックデバイスに書き込んでいます。

信頼性の高いHA /負荷分散インストールの作成は高度なトピックであり、達成したい内容に大きく依存しますが、何らかの形式のクラスター管理ソフトウェア、場合によってはクラスター化されたファイルシステムやその他の多くのコンポーネントが含まれます。

1
Sven

使用するファイルシステムによって異なります。

NFSを使用すると、書き込みが異なるdrbdブロックに送られることを保証できません(したがって、「discard-zero-changes」はスプリットブレインからの回復に役立ちません)。

ただし、クラスター対応ファイルシステム(ocfsなど)を上で使用すると、特に別のディレクトリブランチを使用している場合は、後でデータが破損しない可能性が高くなります。

しかし、あなたのシナリオでは、通常のext3ファイルシステムを使用して、プライマリ/セカンダリモードで2つの別々のデバイスを使用します。

1
Nils