ページ)サーバが落ちたときに代替機がそのサービスを引き継ぐことにより、サービスのダウンタイムを減少させるHAクラスタを、オープンソースソフトウェアの「Heartbeat」を使って構成する方法を紹介します。Japan株式会社]はじめに今回から数回にわたって、オープンソースのHA(高可用性)クラスタ構築ソフトウェア「Heartbeat」を題材にして、「クラスタリングとは何か?」というところから、Heartbeat自体の解説、Heartbeatを用いてのHAクラスタの構築、モニタリングなどについて解説していきたいと思います。皆さんお付き合いのほど、よろしくお願いいたします。「Linuxクラスタリングへの招待」クラスタリングって何だろう?まず、「クラスタリングとは何か」というところから始めてみましょう。この質問に簡単に答えてしまうと「あるミッションに対し、複数のコンピュータ(群=クラスタ)をもって対処する構成」だといえます。状況に応じてさまざまなミッションのタイプがありますから、それに対するクラスタリング(構成)も自然と変わってきます。Linuxでのクラスタリングの歴史は意外と古くまでさかのぼることができます。約十年前の雑誌ですでに、数値演算系のクラスタリングが紹介されていました。Serverプロジェクト[注1]が「IPVS」をリリースし、ロードバランシングクラスタを構築できるようになっています。HAクラスタ用の商用製品は、2000年ごろから、ディストリビューションとは別にサードパーティ製品としていくつかリリースされています。http://www.linuxvirtualserver.org/を参照ミッション別クラスタリングとその目的では次に、ミッション別に、クラスタリングの方式にどのようなものがあり、その目的は何かという点を説明していきましょう。クラスタリングは、下記のように大きく3つに分類することができます。HPCクラスタロードバランスクラスタHAクラスタHPCクラスタ多くの人にとって「HPC」という言葉は聞き慣れないものであると思います。Computing)の略です。具体的には、数値演算シミュレーション一般を指す用語です。その及ぶ範囲は広大です。金融シミュレーションなどもこの分野に含まれます。HPCクラスタの起源は、大型汎用機がまだ高価で、PCが非力だった時代にさかのぼります。目的は、「非力なマシンでも、数を集めてネットワーク接続し、分散計算させることにより大きなパフォーマンスを得る」ということです。Interface)規格のLAM[注3]、MPICH[注4]が主に使われることが多くなっています。HPCクラスタの構成例ただし、計算するPCの数をどんどん増やしても、「アムダールの法則」や通信オーバヘッドといった理由から、その効率には限界があります。このため、パフォーマンスの高いPCを効率的な台数で使用する形が現在の主流です。Rocks[注6]などがあります。http://www.rocksclusters.org/wordpress/ロードバランスクラスタ多数のクライアントからの非同期なリクエストに対し、レスポンスを上げるために構成されます。Webサーバなどでの利用が代表例です。実際の構成としては、クライアントに対応するロードバランシングサーバを配置し、その要求を複数台のサーバ適宜に割り振るといった形になります。Serverプロジェクトの成果であるIPVSは、ロードバランシングサーバを構成するために用いられます。現在では、このロードバランサ部をPCサーバから専用ハードウェア(=アプライアンス)にすることにより、さらなるパフォーマンスの追求が行われています。Availability)の略で、日本語では「高可用性」と訳されます。その目的は、名前からも分かるように、あるサービスを提供するサーバが落ちたときに代替機がそのサービスを引き継ぐことにより、サービスのダウンタイムを減少させ、冗長性を持たせることにあります。基本的な構成では、アクティブなサーバ1台に対し、スタンバイのサーバを1台用意するという形になります。この2台が相互にお互いの状態を通知・監視するために、シリアルやネットワーク通信(一般的にこれを「ハートビート」と呼ぶ)を行います。アクティブなサーバに問題があった場合、スタンバイしているサーバがサービスを引き継ぎます。これらのサーバが提供するサービスによっては、保持しているディスクデータに差異があってはいけないこともあります。した場合には、SANなどの共有ストレージを使用したり、ディスクストレージデータのネットワークを用いてのミラーリングなどを行い、統一性を持たせています。このHAクラスタの場合、サーバだけを冗長化しても意味がないことが多く、サービスを提供するネットワークやSANに接続するためのHBAカードなどについても冗長化するケースが多いです。Suite[注8]などがあります。オープンソースソフトウェアとしてはHeartbeat[注9]、keepalived[注10](微妙に違う部分もありますが)などがあります。本連載では、以降、Heartbeatについて解説していきたいと思います。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。