web-dev-qa-db-ja.com

DRBD構成

2つのノードでDRBDの構成を行っていました。 DRBDはすでに構成されていますが、デュアルプライマリモード機能を有効にしたいと思います。

Drbdサイトでは、GFSやOCFS2などの分散ロックマネージャーを利用する共有クラスターファイルシステムを使用する必要があることがわかりました。

ext3ファイルシステムで可能ですか?

前もって感謝します。

7
karthick

いいえ、できません。非クラスターファイルシステムは、一度に1台のマシンでのみ使用でき、複数のマシンでデュアルプライマリモードで使用すると、ファイルシステムの破損が保証されます。

その理由は、このファイルシステムを使用している2つのマシンは、もう一方がどの変更を行ったかを認識せず、すぐに競合が発生するためです。

5
Sven

簡単な答え:それは可能ですが、お勧めできません。

より長い答え:ext2、ext3、およびext4ファイルシステムは、ファイルシステムが複数のホストによって書き込まれている場合を処理するために必要なロックまたは調整を提供しません。これらのファイルシステムは、1つのホストのみが書き込むように設計されています。複数のホストが同じファイルシステムに書き込もうとすると、ファイルシステムの正確なマップを持っているホストはなく、他のホストからのデータを上書きしてしまいます。

ボリュームを読み取り専用で追加のホストにマウントすることは可能ですが、データが変更されたことをHost1がHost2に通知する方法がないことに注意してください。

クラスタファイルシステムで分散ロックマネージャやその他の通信チャネルが使用される理由は、ホストが進行中の書き込みについて相互に通知し、上記の動作を防止できるようにするためです。

幸運、リック

2
Rik Schneider

デュアルプライマリモードでDRBDを実行することは、2つのサーバーノードからSANストレージにアクセスすることとほとんど同じです。SANに有効なすべての注意事項は、デュアルに有効です。プライマリDRBD。簡単な答えはyesですが、SwenWの警告にも注意する必要があります-never2つのノードから同時にファイルシステムをマウントします。

私の会社では、実際には多くのクラスター(ext4またはext3ファイルシステム)にデュアルプライマリを使用していますが、それには代償が伴います。

実際の背景を説明するために、以前はSANベースのクラスターを使用していました。その場合、もちろん常に両側からブロックデバイスが表示されます(デュアルプライマリノードのDRBDと同様)また、クラスターの管理には HP Serviceguard を使用しました。ServiceguardはLVMタグ(vgchange --addtagおよびvgchange --deltag)ディスクロック用であり、スプリットブレイン状況からユーザーを保護するための非常に広範なテストも実行します。つまり、Serviceguardにこれらのディスクを管理させると、間違いを犯すことはないので、必要なファイルシステム(この場合はext3、最近ではext4)を使用できます。また、ディスクが両方のノードから見える必要があります(これはクラスター検証の一部であり、デバイスがすべてのノードで使用可能であることを確認します)。

その高価なハードウェア(SAN)を廃止した後、高価なソフトウェア(Serviceguard)を維持したため、すべてのノードからブロックデバイスが見える同様のセットアップでDRBDを使用する必要がありました(つまり、デュアルプライマリ)。

もちろん、間違って間違ったディスクをマウントするのを止めることはできず、乾杯します。しかし、それはとにかく複数のノードからSANディスクにアクセスするときに有効な警告です。

2
chutz