第1回 Heartbeatの特徴とユニークな機能
サーバが落ちたときに代替機がそのサービスを引き継ぐことにより、サービスのダウンタイムを減少させるHAクラスタを、オープンソースソフトウェアの「Heartbeat」を使って構成する方法を紹介します。第1回はまず、クラスタリングの基本とHeartbeatの特徴を説明します。
VA Linux Systems Japan株式会社
花島タケシ
2007/11/13
はじめに
今回から数回にわたって、オープンソースのHA(高可用性)クラスタ構築ソフトウェア「Heartbeat」を題材にして、「クラスタリングとは何か?」というところから、Heartbeat自体の解説、Heartbeatを用いてのHAクラスタの構築、モニタリングなどについて解説していきたいと思います。皆さんお付き合いのほど、よろしくお願いいたします。
| 【関連記事】 http://www.atmarkit.co.jp/flinux/index/indexfiles/clusterindex.html 連載記事 「Linuxクラスタリングへの招待」 |
クラスタリングって何だろう?
まず、「クラスタリングとは何か」というところから始めてみましょう。この質問に簡単に答えてしまうと「あるミッションに対し、複数のコンピュータ(群=クラスタ)をもって対処する構成」だといえます。ですが、状況に応じてさまざまなミッションのタイプがありますから、それに対するクラスタリング(構成)も自然と変わってきます。
なお、Linuxでのクラスタリングの歴史は意外と古くまでさかのぼることができます。約十年前の雑誌ですでに、数値演算系のクラスタリングが紹介されていました。またその後、1999年にLinux Virtual Serverプロジェクト[注1]が「IPVS」をリリースし、ロードバランシングクラスタを構築できるようになっています。また、HAクラスタ用の商用製品は、2000年ごろから、ディストリビューションとは別にサードパーティ製品としていくつかリリースされています。
| 【注1】 http://www.linuxvirtualserver.org/を参照 |
ミッション別クラスタリングとその目的
では次に、ミッション別に、クラスタリングの方式にどのようなものがあり、その目的は何かという点を説明していきましょう。
クラスタリングは、下記のように大きく3つに分類することができます。
|
■HPCクラスタ
多くの人にとって「HPC」という言葉は聞き慣れないものであると思います。これは「ハイ・パフォーマンス・コンピューティング」(High Performance Computing)の略です。具体的には、数値演算シミュレーション一般を指す用語です。分子レベルのシミュレーションから自動車設計、天気予報など、その及ぶ範囲は広大です。金融シミュレーションなどもこの分野に含まれます。
HPCクラスタの起源は、大型汎用機がまだ高価で、PCが非力だった時代にさかのぼります。目的は、「非力なマシンでも、数を集めてネットワーク接続し、分散計算させることにより大きなパフォーマンスを得る」ということです。かつては、PVM[注2]というライブラリがメインで使用されていましたが、現在ではMPI(Messge Passing Interface)規格のLAM[注3]、MPICH[注4]が主に使われることが多くなっています。
![]() |
| 図1 HPCクラスタの構成例 |
ただし、計算するPCの数をどんどん増やしても、「アムダールの法則」や通信オーバヘッドといった理由から、その効率には限界があります。このため、パフォーマンスの高いPCを効率的な台数で使用する形が現在の主流です。また、このクラスタを構築するツールとして、SCore[注5]、NCAPI Rocks[注6]などがあります。
| 【注2】 http://www.epm.ornl.gov/pvm/pvm_home.html 【注3】 http://www.lam-mpi.org/ 【注4】 http://www-unix.mcs.anl.gov/mpi/mpich/ 【注5】 http://www.pccluster.org/ 【注6】 http://www.rocksclusters.org/wordpress/ |
■ロードバランスクラスタ
多数のクライアントからの非同期なリクエストに対し、レスポンスを上げるために構成されます。Webサーバなどでの利用が代表例です。実際の構成としては、クライアントに対応するロードバランシングサーバを配置し、その要求を複数台のサーバ適宜に割り振るといった形になります。
前述のLinux Virtual Serverプロジェクトの成果であるIPVSは、ロードバランシングサーバを構成するために用いられます。現在では、このロードバランサ部をPCサーバから専用ハードウェア(=アプライアンス)にすることにより、さらなるパフォーマンスの追求が行われています。
![]() |
| 図2 ロードバランシングクラスタの構成例 |
■HAクラスタ
HAは「ハイ・アベイラビリティ」(High Availability)の略で、日本語では「高可用性」と訳されます。その目的は、名前からも分かるように、あるサービスを提供するサーバが落ちたときに代替機がそのサービスを引き継ぐことにより、サービスのダウンタイムを減少させ、冗長性を持たせることにあります。
最も基本的な構成では、アクティブなサーバ1台に対し、スタンバイのサーバを1台用意するという形になります。そして、この2台が相互にお互いの状態を通知・監視するために、シリアルやネットワーク通信(一般的にこれを「ハートビート」と呼ぶ)を行います。
アクティブなサーバに問題があった場合、スタンバイしているサーバがサービスを引き継ぎます。これらのサーバが提供するサービスによっては、保持しているディスクデータに差異があってはいけないこともあります。そうした場合には、SANなどの共有ストレージを使用したり、ディスクストレージデータのネットワークを用いてのミラーリングなどを行い、統一性を持たせています。
このHAクラスタの場合、サーバだけを冗長化しても意味がないことが多く、サービスを提供するネットワークやSANに接続するためのHBAカードなどについても冗長化するケースが多いです。
このクラスタを構築するためのソフトには、有償製品として、LifeKeeper[注7]、Red Hat Cluster Suite[注8]などがあります。そしてオープンソースソフトウェアとしてはHeartbeat[注9]、keepalived[注10](微妙に違う部分もありますが)などがあります。
![]() |
| 図3 HAクラスタの構成例 |
本連載では、以降、Heartbeatについて解説していきたいと思います。
| 【注7】 http://www.sios.com/product/lifekeeper/index.html 【注8】 http://www.jp.redhat.com/cluster_suite/ 【注9】 http://www.linux-ha.org/ 【注10】 http://www.keepalived.org/ |
|
1/3 |
|
||||||
|
||||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム サーバ構築・運用関連記事 |
| 連載:Heartbeatでかんたんクラスタリング(連載中) オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します |
|
| 特集:Apache 2.2でWebサイトをパフォーマンスアップ! 最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する |
|
| 連載:実用 Apache 2.0運用・管理術(全8回) 本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える |
|
| 連載:実用
BIND 9で作るDNSサーバ(全15回) 本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく |
|
| 連載:実用qmailサーバ運用・管理術(全14回) 本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで |
|
| 特集:Samba
3.0の全貌 改訂版 Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する |
|
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



