Hot Standby アーキテクチャのためのデータ複製方法

Hot Standby アーキテクチャのためのデータ複製方法

私はストレージとファイルシステムの世界に比較的慣れていません(正しい言語を使用していない場合はご了承ください)、現在の常時スタンバイ構成(ファイル使用可能な設定など)を実装する方法を研究しています。 2つの異なるマシンを同時に使用して、フェイルオーバー時にスタンバイホストが引き継がれるようにします(この質問はデータ複製に関するものです)。いいえフェイルオーバーオーケストレーション)。しかし、さまざまなアプローチの長所と短所については少し混乱しています。

これまで私が行った研究によると、2つの異なるアプローチを取ることができるようです。

  • DRBD +一部の共有ディスクファイルシステム(DRBD 9はデュアルマスター構成をサポート)
  • 複製も可能な分散ファイルシステム(例:GlusterFS、Cephなど)

私はこの2つのアプローチの概念的な違いを理解すると思います。

DRBDはブロックレベルで動作します(私の知る限り、ファイルのブロックは物理的にディスクに書き込まれるため、処理できる最低レベルです)、これはシステム間でコピーされます。同期されたファイルシステム(これが正しい用語であるかどうかはわかりません)は、ext3作業中のブロックが他のシステムで何が起こるかによって変更される可能性があることを知らないため、追加のファイルシステムが必要です。したがって、ファイルシステム間に矛盾がある可能性があります。考える実際のコンテンツだけでなくディスクにも保存され、データの破損を引き起こします。

ただし、GlusterFS(または同様のもの)はファイルレベルで機能し、ディスクに書き込まれる物理ブロックにアクセスすることはできません。代わりにファイル全体に対して一度に機能するため、ユーザーは実際にディスクに書き込まれた内容について心配したり対話したりする必要はありません。私が念頭に置いている概念モデルは、これが分散ファイルシステムであるということです。つまり、ファイルシステムのファイル(ファイル全体またはその一部)は複数のシステムに保存できますが、ユーザーには統合エンティティとして表示されます。機能。

だから私の質問は次のようになります

  1. この2つの異なるアプローチの私の概念的な理解は正確ですか?
  2. 概念的な違いは取り除き、他のアプローチと比較して1つのアプローチの実際の利点/欠点は何ですか?ファイルレベルの代わりにブロックレベルで作業するのか、その逆の作業ですか?

関連情報