web-dev-qa-db-ja.com

Linux用の優れたフェイルオーバー/高可用性ソリューション?

障害(サーバーのハングまたはクラッシュ)が発生した場合に、サーバー間でアプリケーションを移行する必要がある場合がいくつかあります。

Solarisでは、これをVCS(Veritas Cluster Server)で行います。 Linuxにはどのようなオプションがありますか?

それぞれのセットアップ/保守の労力のレベルまたはコスト(ある場合)を示してください。

-詳細を追加-

複雑さのレベルを知るには:

  • 障害が発生したサーバーは予告なしにハングまたはクラッシュする可能性があり、「ping可能」である可能性があります
  • リカバリサーバーは、フェイルオーバー時にアプリケーションを起動する必要があります
  • 失敗したサーバーのブート/電源の再投入は、リカバリサーバーと干渉しないようにパッシブになります。

これはデータベースではなくデータ収集ノードまたは計算ノードであるため、より単純なソリューションが機能する可能性があります。

-さらに詳細(申し訳ありません)-

共有ストレージはオプションではありませんが、あるサーバーから別のサーバーに移行する必要がある状態(ある場合)はそれほど多くありません。 rsyncを介して2つのサーバーの同期を保ちます。

これまでの投稿をありがとうございました。

9
ericslaw

http://linux-ha.org/ すべての高可用性ニーズに対応します。歌が言うように、人生で最高のものは無料です。

10
womble

Linuxでさまざまなクラスターソリューションを使用しました。私は構成管理の推進者でもあるので、説明に少し追加します(つまり、ChefまたはPuppet)

Veritas Cluster Server(VCS)。しばらく前ですが、RHEL 3.0にいくつかのLinux VCSクラスターをデプロイしました。 RHEL 5.0で利用できることを願っています。あなたは、おなじみの領域として、これを設定することの難しさに精通している必要があります。ご存知かもしれませんが、VCSは高価です。事例として、VCSは構成管理によるセットアップにはあまり適していません。

RHELと言えば、Red Hat Cluster Suiteは、RHEL 2.1の最初のリリース以来、非常に成熟しています。セットアップ/構成フェーズは非常に単純であり、ドキュメントは非常に完全で有用です。VCSと同様に、ベンダーからサポートを購入できます。商用HA製品の場合、RHCSは手頃な価格です。私はパッケージをインストールするために構成管理を使用し、Webインターフェースを介して「手動」でそれらを維持します。また、Red Hat以外のプラットフォームでこれを使用している人もいると聞きましたが、直接の経験はありません。

Linux-HA(drbd/heartbeat)も同様に優れていますが、VCSからの構成は単純に見えるかもしれませんが、扱いにくいかもしれません。これは、構成管理ツールを使用して自動化するのがかなり簡単です。

概念実証として、IBMのHACMP(AIXクラスターソフトウェア)を使用してLinuxクラスターをインストールしました。 VCSよりも高価であることを思い出すので、これはお勧めしません。 IBMにはHACMPをインストールおよび保守するための特定の手順があります。ここでは構成管理を使用しません。

4
jtimberman

マイケルは、コミュニティが今少し壊れていることは間違いなく、ドキュメントはまばらです。

実際、それはすべてそこにあり、理解することは不可能です。あなたが本当に望んでいるのは、 "Pacemaker Configuration Explained" ebook ...( PDFへのリンク )です。あなたはそれを数十回読んだ後、それを実装しようとし、それからさらに数十回読んで実際にそれを見ることができるようにするでしょう。

この時点でサポートされているLinuxのクラスターサービスの最適な実装は、おそらくNovellのSLES11であり、それは高可用性拡張(HAE)です。それはちょうど1、2か月前に出された、それはそれを設定して、物事を実行する方法を説明する素敵な厚い200ページのマニュアルが付属しています。 Novellは、さまざまな形式のPacemaker構成のサポートについても優れています。

それ以外にも、RHEL5の実装があります。これには同じパッケージと適切なドキュメントがありますが、SLESよりも高価だと思います。少なくとも、それは私たちのためです。

今はHeartbeatを避けて、Pacekmaker/OpenAISを使用します。これは、将来のサポートが大幅に向上するためです。しかし、コミュニティの現状は、専門家が少なく、本番環境で実行している人が少なく、完全に無知な人がたくさんいます。 Pacemakerメーリングリストに参加して、Andrew Beekhofという名前の男性に注目してください。

編集して要求された詳細を提供します。

Pacemaker/OpenAISは、「プリミティブリソース」(nfs-serverなど)で「監視」操作を使用して、リソースの動作を追跡します。サンプルのNFSサーバーがX秒の間、残りのクラスターに応答しない場合、クラスターはSTONITH(Shoot The Other Node In The Head))操作を実行してプライマリをシャットダウンしますノード、セカンダリノードをアクティブに昇格させます。構成で、後で何を起動するか、および実行する関連アクションを決定します。そこからの実装の詳細は、フェイルオーバーしようとしているサービス、特定の操作の実行ウィンドウ(など)によって異なります。プライマリノードをマスターに戻します)、そして全体は可能な限り構成可能です。

4
Karl Katzke

Linuxでは、ハートビートとdrbdを使用してクラスタリングを実装しました。ハートビートはサーバーのステータスをチェックします。 DRBDは、サーバー間のデータ同期に使用されます。 1つのサーバーでOracleサービスを実行し、別のサーバーでApacheを実行しています。 Oracleを実行しているサーバーに障害が発生すると、ハートビートが同じことを感知し、Apacheを実行しているサーバーでOracleサービスを復元します。逆もまた同様です。他の多くの目的でこのセットアップを使用しており、現在まで信頼性があります。

1
Viky

Red Hat Cluster Suite は、考えられるほとんどすべてのアプリケーションに必要なことを実行します。 GFSおよびクラスターLVMと組み合わせて、強固な共有ストレージを実現できます。

メンテナンスは、個々のボックスを稼働させたままにすることほど簡単です。アプリケーションの移行により、実際には個々のボックスにパッチを適用することが容易になります。

RHCSにはWebフロントエンド(Luci)とGTKフロントエンド(system-config-cluster)が付属しており、構成と移行がクリック可能です。アプリケーションごとのフェイルオーバードメイン、リカバリポリシー、フェンシングをすべて1つの中央のWebベースの管理コンソールから設定できます。

RHCSには実際にはかなり確かなサポートオプションがあるという事実を考慮して、RHCSを選びます。

どれくらいの費用がかかるかわかりませんが、数千ドルの範囲だと思います。

1
wzzrd

ltraMonkey 、その一部はLinux-HAフレームワークの上に構築されています。私は常にそれを本当のクラスターというより負荷分散ソリューションと考えていましたが、フェイルオーバーをうまく処理します。

1
gbjbaanb

Linux HAコミュニティは、現時点では少し分割されています。

以前はLinux HAとして知られていたツールは現在 Pacemaker および OpenAIS であり、これらは最も頻繁に [〜#〜] drbd [〜#〜]と組み合わせて実行されます シェアードナッシングアーキテクチャが必要な場合。

これは非常に包括的な分野であり、プロジェクトの状態は必ずしも一部のベンダーソリューションほどユーザーフレンドリーではないため、このトピックについて詳しく読む前に、この本に関する良い本を入手することをお勧めします。

一部のクラスターソフトウェアベンダーによるLinuxソリューションもありますが、私はそれらを自分で使用したことがないので、それらについて詳しく説明することはできません。

1
Michael Renner

TCPのソフトウェアベースのロードバランサを作成しました。これは別のマシンを必要としません。マルチキャストリンクレベルのアドレスでそれをアナウンスし、2つのマシンを回避するためにマシン間でネゴシエートすることにより、単一のIPアドレスを共有します。同じTCP接続を提供するマシン。

マイナス面は、それが実際に本番環境に対応していないことですが、テストネットワークでテストしたい場合は喜んでいます。

ふわふわクラスターはこちら

私は必ずしも「生きているが病気」の状況を検出するわけではありませんが、メンバーサーバー間で負荷分散を行っています(ユーザースペースプロセスが停止した場合、他のノードが障害ノードに気付き、削除します)。

0
MarkR

Linux Virtual Serverを使用し、高可用性を維持しています。 keepalivedは、ホスト自体でVRRPを実行するか(他のサーバーの停止に依存していると思います)、別のホストに設定してロードバランシングを実行し、サービスの可用性をチェックできます。最初の状況でサービスチェックを設定することは可能かもしれませんが、私はチェックしていません。 2番目の状況は、両方のサーバーを同時に実行できる場合に特に役立ちます。そうでない場合は、手動で切り替えることができます。

0
David Pashley

シェルスクリプトで記述されたオープンソースのフェールオーバークラスターマネージャーに取り組んでいます。必要な統合が失敗する可能性があっても、問題はありません。確認して、見たい機能や不足している機能があるかどうかお知らせください: https://github.com/nackstein/back-to-work/

シェルプログラミング(POSIXシェル)が得意な場合は、プロジェクト開発に参加できます:D

0
Luigi

それは無料ではありませんが、Linuxに独自のHAソリューションをインストールする時間や専門知識がない人は、www.rapidscaleclusters.comで答えを入手できます。ほんの数分で稼働し、簡単にインストールして実行できます。これもサポートされています。

0
Vince Bryant