クラスタ化されたファイルサーバー DRBD および GFS2 からサーバーを実行する

クラスタ化されたファイルサーバー DRBD および GFS2 からサーバーを実行する

私たちは、SAN を使用せずにファイルの単一障害点を排除しようとしています。現在、ファイル サービス (ローカル)、Web サーバー、およびデータベース (VM 内) 用に 1 台のサーバーがあります。DRBD を GFS2 とともに使用してクラスター ファイル システムを作成し、そのファイル システムからホスト OS、VM、共有ファイルなど、可能な限り多くのものを実行することを検討しています。

共有ソースから実行されるマスター/スレーブ構成で2つのサーバーをセットアップしたいただし、サーバーのハードウェア構成 (ドライブ ポートの割り当て、メイン ボードの実際のブランドとモデル、NIC など) は若干異なるため、ハードウェア構成ファイルはローカルに保存されます (たとえば、fstab や mdadm)。

理想的には、1台のサーバーがプライマリとして機能しますパッケージ管理は、クラスタ化されたファイルシステム上のプライマリサーバーによってのみ実行されます。スレーブ サーバーが同じデータ (同じブロック デバイスのデータ) を使用している場合は、スレーブ サーバーはこれを必要としないからです。

マスターサーバーは単一の管理ポイントにもなります両方のサーバーはデータと構成ファイルを共有するため、2 番目のサーバーは冗長ハードウェア セットとして配置され、サーバー 1 で構成されたソフトウェアを STONITH、Hearbeat、Pacemaker などを介して実行します。

しかし、私が読んだところによると、ほとんどの人はサーバーを互いに独立して管理し、cron ジョブと rsync を使用して自動化しようとしているようです。

また、ほとんどのファイルはかなり静的で、ユーザーが変更するようです。つまり、ユーザー入力に依存せず、ハードウェアに依存して OS によってアクティブに変更されるファイル/フォルダー (ログ、スワップファイルなど) の数は非常に少ないです。

ネイティブ OS によって提供されるファイル (VM 内ではない) を保持したいと考えています。

では質問に移ります。

  1. ソフトウェア管理をハードウェア管理から分離できますか? 個別に管理する必要があるのは、各マシンのハードウェアのみのようです。ソフトウェアは、クラスター化されたファイル システムを介して一度に管理する必要があります。(間違っている可能性があるため、質問します)

  2. ホスト OS は、2 台のマシンのいずれかで、一度に 1 台ずつ、共有ファイル セットから実行できますか? つまり、両方のマシンがホスト OS を管理する準備ができているが、フェイルオーバーが発生するまでマスターのみが管理し、フェイルオーバーが発生した時点でスレーブ マシンが管理作業を引き継ぐ、ということでしょうか。それとも、この仮定は不正確でしょうか。

  3. マスターがダウンするまでマシンをスレーブ/アイドル状態に設定できますか? (cron ジョブの一時停止、サービスの一時停止など) このうちいくつかはフェンシング ソフトウェアの問題になると思いますか?

(これは、両方のマシンを同じデータセットから実行する方法に関する問題ではありません。同時に; 異なる時間に同じデータセットから効果的に実行されることになります。各サーバーが常に変更する必要があるファイルは、ローカルファイルシステム上にあります。

冗長サーバーをセットアップし、冗長な管理を最小限に抑えたいだけです。

関連情報