web-dev-qa-db-ja.com

Proxmoxdrbd構成スプリットブレイン

エンタープライズレベルのドライブRAIDアレイを備えた2台のDellR710マシン(それぞれにデュアル6コアプロセッサ)を備えたプロキシモックスHA構成を計画しています。 3台目のマシンでクォーラムディスクを備えたDRBDを使用します。各サーバーの2つの1GBNICをDRBD通信専用にします。このサーバーのペアでは、約12〜14台の仮想マシンが実行されます。 proxmoxマニュアルでは、2つのDRBDリソースを作成することを推奨しています。1つは通常ServerAで実行される仮想マシン用で、もう1つは通常ServerBで実行される仮想マシン用です。これは、この構成が実行されるプライマリ/プライマリ状態が原因です。両方のサーバーに同じDRBDリソースと通信するVMがあり、スプリットブレインの状況が発生した場合、解決する必要のあるデータ破損の可能性があります。

新しい仮想マシンを作成するにはもっと手間がかかることは理解していますが、代わりにVM)ごとに個別のDRBDリソースを実行することで、潜在的な問題を予測できますか?そのようにセットアップを実行した経験のある人はいますか?それはうまく機能しましたか?マシンを前後に移動する際の柔軟性を高めることができると私には思えます。

1
AudioDan

私はPoxmoxの経験はありませんでしたが、CentOSで通常のペースメーカー/コロシンククラスターを構成したので、私の観察がまだここで有用で適用可能であることを願っています。

プライマリ/プライマリDRBDの設定について非常に疑わしいです。プライマリ/セカンダリ構成でも、問題が発生した場合はスプリットブレインが発生する可能性があります。十分に調整されていないクラスターでは、DRBDがスプリットブレイン状態に陥りやすいのではないかと思いました。

プライマリ/プライマリの場合、データ損失の可能性を減らすために、フェンシング施設に特別な注意を払う必要があります。 2ノードDRBDクラスターの優れた紹介は ここ です。

プライマリ/プライマリセットアップは、主にライブマイグレーションに必要です。ライブマイグレーションを使用しない場合は、プライマリ/セカンダリで十分であり、はるかに望ましいです。

あなたの質問に関しては、専用のDRBDリソースも有効なソリューションです。おそらく、ストレージスタックをDRBD/LVMからLVM/DRBDに移動します。 そのため、一次/二次設定でも雑然としたLVMが必要になります 。 UPD:クラスター化されたLVMは、それを提供するためのdlmと同様に、ここでは必要ありません。

私が見る主な欠点:VMストレージを準備するための多くの手動の注意深い作業。

事前に考えておくべきもう1つのポイント-バックアップ戦略。多くのDRBDリソースがあると、もう少し複雑になる可能性があります。

最初のクラスターセットアップをLVM/DRBDスタックとVM専用のDRBDリソースで開始しましたが、新しいVMプロビジョニングがこの場合ははるかに簡単であるため、後でより一般的なDRBD/LVMに切り替えました。

3
Veniamin