web-dev-qa-db-ja.com

Linuxストレッチクラスター:MDレプリケーション、DRBDまたはVeritas?

今のところ、Linuxクラスターをセットアップするための選択肢はたくさんあります。

クラスターマネージャーの場合:Red Hatクラスターマネージャー、Pacemaker、またはVeritas ClusterServerを使用できます。最初のものが最も勢いがあり、2番目のものはデフォルトでRHサブスクリプションが付属しており、最後のものは非常に高価で非常に評判が良いです;-)

ストレージの場合:-ソフトウェアRAID/mdデバイスを使用してLUNを複製できます-DRBD複製を使用してネットワークを使用できます。これにより、柔軟性が少し向上します-Veritas StorageFoundationテクノロジーを使用してSAN複製テクノロジーと通信できます。

これらのテクノロジーに関する推奨事項や経験はありますか?

6
PieterB

GlusterFSを使用します。最新バージョン3.xは、ジオレプリケーション(長い潜在パイプタイプのもの)とLANレプリケーションをサポートします。クラスター全体にデータを複製して分散する方法については たくさんのドキュメント があります。

使用できるノードの数に制限があるため、DRDBは好きではありません。まともなハードウェア上のGlusterFSは、まともなネットワークチューニングを備えているので、まさにあなたが求めているものかもしれません。間違いなくテストセッションの価値があります。

3
Tom O'Connor

現在、Red Hat ClusterSuiteとDRBDを使用して「ストレッチクラスター」をテストしています。ボストンのレッドハットサミット近くのホテルでこれを入力しています。 Red Hat CLuster Suiteの開発者と話をしたところ、現時点ではストレッチクラスターはサポートされていないとのことでした。

しかし、これは私が楽しみのためにそれに取り組むことを妨げることはありません。私のセットアップは、単一のクラスター内の4つのHPブレードです。 2つのブレードは、他の2つのブレードを収容する他のデータセンターから約15マイル離れた1つのデータセンターにあります。クラスターを結合させるには、ネットワークチームが、マルチキャストトラフィックを通過させるようにサイト間のルーターを構成する必要がありました。さらに、RedHatはマルチキャストハートビートパケットにa TTL of "1"をハードコードしているため、iptablesを使用してそのマルチキャストアドレスをより高いTTLにマングルする必要がありました。

その後、ブレードを使用して4ノードクラスターを取得することができました。ストレージについては、2つのローカルノードのそれぞれの間で各サイトで3ParLUNを共有しています。これらは、DRBDデバイスに使用するブロックデバイスです。ここに、DRBDトラフィック専用の1G WANリンクがあることを追加する必要があります。サイト間でDRBDをかなり簡単に実行し、そのDRBDデバイスをクラスター内のPVとして使用することができました。 GFS2が実行されているLV。DRBDセットアップで、手動で回復する必要のあるスプリットブレイン状態が発生することがあり、その問題を切り分けようとしています。

次のステップは最も困難でした。プライマリに障害が発生した場合に備えて、GFS2マウントを他のノードにフェイルオーバーできるようにしたい。私のGFS2サービスは、フローティングIP-> DRBD-> LVM-> GFS2で構成されています。クラスタリングのソースコードに含まれているdrbd.shスクリプトはまったく機能しないため、/ etc /init.dにある通常のDRBD起動スクリプトを使用してテストしています。 「時々」動作するように見えるので、それを微調整する必要があります。

これがRedHat Cluster Suiteでサポートされていないことに気付いてがっかりしたので、これを本番環境に移行するという夢は打ち砕かれました。そして、他にどこでこの種のセットアップが必要ですか?非常に重要な制作物だけです。

ここでSymantecと話をしましたが、共有ストレージを備えたアクティブ-アクティブストレッチクラスターを完全にサポートしているとのことでした。でも実際に見ると信じます。

2
John

誰もが知っているように、DRBDは非常に遅いです。高負荷のエンタープライズ目的には使用できません。 IOリクエストを最大に制限する128のKiBハッシュ関数を使用します。通常のHDDが提供できる512KiBではなく128KiB。さらに、愚かなIOリクエストサイズの検出があります。これは、他のホストに接続されている場合にのみ機能します。接続を失うと、ローカルHDDで4KiBにリセットされます。 8.4.1と8.3.11には同じ問題があります。

詳細は次のとおりです。 http://www.gossamer-threads.com/lists/drbd/users/24104

これが、実際の企業がVeritasのような$$$のものを使用する理由です。

低価格でパフォーマンスが必要な場合は、MD RAID1の方がはるかに優れています。また、「ほとんど書き込み」モードを提供するため、低速のデバイスからの読み取りを回避できます。

2

SANバックエンドがある場合、共有ストレージファイルシステム(GFS?)は、レプリケートされたストレージよりもはるかに理にかなっています。

1
symcbean

に関して。ソフトウェアRAID/md、DRBDは表面的にはネットワーク上のRAID 1ですが、実際には、DRBDは、たとえば、ゼロから再同期する必要のない一時的なネットワークパーティションなど。

また、ソフトウェアRAID-1は通常、読み取りをドライブにある程度均等に分散することにより、ドライブの負荷を分散しようとすることを考慮してください。言うまでもなく、一方のドライブがローカルで、もう一方のドライブが潜在的に低帯域幅/高遅延のネットワークリンクの背後にある場合、これはあまり良い考えではありません。

IOW、ソフトウェアRAIDはレプリケーションに適したソリューションではありません。

0
janneb

メトロ/ストレッチクラスターは、非同期または準同期レプリケーションモードでのみ使用できるため、mdは除外されます。

0
pfo

私は$$$の会社でVeritasVolume Manager、Cluster、Globalclusterと仕事をしてきました-本当に気に入りました。

私はSANデバイスのホストベースのミラーリングを使用しました。

2つのデータセンター間でレプリケーションを行うためにローカルディスクを使用してDRBDを実行しているXENクラスターがいくつかあります(互いにそれほど離れていません)。先週の金曜日、短いネットワークがそこで切断された後、いくつかの問題が発生しました...

私がVeritasソリューションについて本当に気に入ったのは、あらゆる側面を微調整できることです。そのため、読み取りを多用するdbアプリケーションの場合、クライアントと同じ場所にあるプライマリデータセンターから読み取りが行われるようにボリュームを調整しました。これにより、パフォーマンスが大幅に向上しました。

したがって、ストレージレプリケーションの場合:余裕があれば、Veritasを選択してください。

クラスターソフトウェアについて:Veritas、Sun、AIX/HACMP/HAGEO、HP-Serviceguard、Linux-Heartbeatを知っています。

私はVeritasが一番好きで、特にスプリットブレインを防ぐ方法(危険モード)が好きでした...

ただし、ハートビートに独立した回線を使用する場合は、他のクラスターソフトウェアでも同じことを実現できます。したがって、ソフトウェアの代わりにこれらの回線に投資してください。

ここでアラン・ロバートソンを引用するかもしれません:「あなたがそれをテストしない限り、クラスターはクラスターではありません。」

また、クラスターのセットアップが複雑なため、そのようなセットアップによる節約よりもダウンタイムが多くなりました。したがって、シンプルに保ちます(v2ではなくHeartbat v1)。

0
Nils

職場ではDRBDを使用しています。これはかなりうまく機能しますが、2ノード構成でのみ使用します。これ以上複雑なことは考えていません。

0
ptman