Tech Sketch Bucket of Technical Chips by TIS Inc.

OSSツール:Pacemakerを使ってクラスタを作ろう(4)

Pocket

techsketch-banner-OSS+startingblock(700x65).jpg
これまで3回に渡って、Pacemakerのインストールから初期設定、動作内容についてのお話をしてきました。(第1回第2回第3回
今回は最終回として、Pacemakerの運用についての話をします。一般に、初期設定の話は比較的多くみられますが、実際に運用してみた結果についての情報は少ないので、ちゃんと運用できるのか不安に思っている方もいらっしゃると思います。Pacemakerクラスタを約1ヶ月以上無停止で使用してみて、気付いたことについてお話します。

運用環境
単体でWebシステムを運用できるようにApache、JBoss、PostgreSQLのシステムを作りました。
アプリケーションとしては、サンプルアプリとしてメジャーなJPetStoreを動かしています。

  ・OS   :CentOS 5.6(64bit)
  ・クラスタ :pacemaker-1.0.11+heartbeat-3.0.5の組み合わせ
       (Linux-HA Japanにてリポジトリパッケージとして提供されていた組み合わせです。)

Pacemaker NW5.JPG

OSSツール:Pacemakerを使ってクラスタを作ろう(3)

Pocket

techsketch-banner-OSS+startingblock(700x65).jpg前回はPacemakerのリソースエージェント設定についての説明をしました。
今回はPacemakerの動作についての話をしようと思います。

HA クラスタの基本動作は、「サーバあるいはプロセス等に障害が発生したら、無事なサーバへフェイルオーバーしてサービスを継続させる」ということです。当然ながら、このような基本動作には何の問題もありません。(ここに問題があるなら、単なる"使えないツール"で終わってしまいますよね。)
HAクラスタを構築したときに一番気になるのは、スプリットブレイン対策だと思います。
スプリットブレインが発生すると、サービスが継続できなくなるのはもちろん、深刻なデータ障害(データ破壊、ロスト)が発生する場合がありますので、最大限の注意を払いたいところです。
Pacemaker(+DRBD)でクラスタを構築した場合に、この対策をどうするかというのが今回のテーマです。
実際にテストしてみた結果をお話します。

OSSツール:Pacemakerを使ってクラスタを作ろう(2)

Pocket

techsketch-banner-OSS+startingblock(700x65).jpg

最近はネット上でもPacemakerの記事が増えてきて、設定に関する情報も増えてきました。
しかし、それでも実際に業務で使える設定にしようとすると、少し悩むのではないでしょうか。
商用製品であれば立派なマニュアルも用意されていますが、Pacemakerは(OSSではありがちなことに)そこまで充実したドキュメントはありません。また、サポートに入っていれば必要な問い合わせはできるかもしれませんが、最初にちょっと試してみたいという場合には、少し困るのではないかと思います。(MLで質問するという手はありますが、新参者には少し敷居が高く感じるかもしれません。)

そこで、今回は"最終的には業務に使える状態にする"ということを念頭において、Pacemakerクラスタを構築する上で、どういった考慮が必要かについて書きたいと思います。

OSSツール:Pacemakerを使ってクラスタを作ろう(1)

Pocket

techsketch-banner-OSS+startingblock(700x65).jpg

システムを構築する上で、耐障害性を向上させるためには、サーバをクラスタ化するという方法があります。
このようなシステムの信頼性に関わる部分については、これまでは商用製品の独壇場でしたが、最近ではこのようなクラスタツールの分野でも、OSSプロダクトが台頭してきています。
今回はOSSのクラスタツールであるPacemakerを取り上げ、その機能や実用性について説明したいと思います。
まずは第1回として、Pacemakerというツールで何ができるかについてご紹介します。