月刊あんどりゅーくん(1月号)


2. 知恵袋

リリース情報でご紹介したBOOTHはマルチサイトクラスタの管理を行うものですが
クラウド環境におけるHAを実現するために「Pacemaker Cloud」というプロジェクトも存在します。 

こちらはled by Red Hat, というかコロちゃんの育ての親であるところの
スティーブンさんとその仲間たちが開発しています。
ソースコードのダウンロードはこちら

最新版はv0.5ということで、BOOTHと同じくまだまだ動作は不安定です。

Pacemaker Cloudのキーワードはこんな感じ。

Assembly
  • 仮想マシンや監視エージェント、アプリケーションなどの集合体。
  • VM(Virtual Machine)と、ほぼ同義です。
  • 監視エージェントは後述のMatahariを想定しています。
  • アプリケーションは、Pacemakerでいうところのリソースですね。
    DBとかWebサーバとかファイルシステムとかサービスを提供するためのアプリケーションです。
Deployable
  • Assembliesの集合体です。
  • 異なる物理マシンで起動するVM(=Assmbly)も同じDeployableに含めることができます。
Deployable Policy Engine(DPE)
  • Deployableを制御するコンポーネントです。

Cloud Policy Engine(CPE)

  • クラウド上で実行される仮想環境間の依存関係や可用性を保証するコンポーネントです。
  • Deployableの起動 停止処理を実行します。
Matahari
  • システムを管理・監視するためのAPIの集合です。
  • Pacemakerのlrmdに似ています。
  • ノードおよびリソースの起動停止、監視処理を実行します。

さて、目新しい用語がいろいろでてきましたが、Pacemaker Cloudの動作概要はこんな感じ。
  • CPEを起動
  • CPEがDPEを起動
  • DPEがDeployableに含まれるAssemblyを起動
  • Assembly起動時に、VM上でMatahariとアプリケーションも起動
  • Matahariがノードの状態とアプリケーションの状態をDPEに通知
  • アプリケーションに異常が発生した場合は、Matahariが故障を検知しアプリケーションを再起動
  • アプリケーションの再起動が設定回数以上失敗した場合は、DPEが別のAssemblyを起動しサービス再開
  • ノードに異常が発生した場合は、DPEが別のAssemblyを起動しサービス再開
  • DPEに異常が発生した場合は、CPEがDPEを再起動
  • DPEの再起動が設定回数以上失敗した場合は、CPEが別のDPEを起動(この時Assemblyの再起動はなし)
  • コンポーネント間の通信にはAMQPを使用
そして、PacemakerとPacemaker Cloudはどう違うのか。

– 他ノードを新規に起動することによってサービスを継続
Pacemakerのアクティブ/スタンバイ構成では、スタンバイノードも起動した状態、
いわゆるホットスタンバイなのですが、クラウド環境では、コールドスタンバイとなります。
サービスのフェイルオーバというより、ノードの起動を含めてイチからやり直し、といった感じです。
まずは自ノードでの再起動を試みて、設定回数以上失敗した後、他ノードを起動することも可能です。

– エスカレーション機能の実装
アプリケーションの故障、Assemblyの故障、DPEの故障をエスカレーションすることができます。
アプリケーション故障の根本原因が実は物理ノードにあった場合
アプリケーションを何回再起動してもやっぱ無理、ということで
Assemblyの再起動に挑戦、でもやっぱ無理、
じゃ、DPEも再起動してみた、でもやっぱ無理
ということで、別の物理ノードでDPE再起動
という流れが自動的に行われるわけですな。
てか、物理ノードが壊れたらまず真っ先にDPEが検知するかもしれんけどな。

そして!最大の特徴は!
Pacemaker Cloudという名前であるにもかかわらず
仮想マシンでも物理マシンでもPacemakerは動いていない!
Pacemakerのライブラリ(pengine)は呼んでますけどね。
Pacemaker的な役割(ノード監視、リソース監視)はMahahariが担っています。
で、このMatahariも最新版がv0.6っていう開発途中段階なので
なんかもう人柱臭しかしない。
Matahariのソースコードはこちら

あ、そうそう、あんどりゅーくんもMatahariの開発メンバーです。
実際にクラウド環境を構築する場合は、PacemakerとMatahariに加えて
OpenStack, Aeolus, oVirtといったクラウドプロジェクトのパッケージ群と連携します。

BOOTHもPacemaker CloudもMatahariもロードマップに日付が入っていないので
安定版がいつ頃でてくるのかそのへん興味しんしんですね。
ちなみに、Fedora16で、Pacemaker Cloud + Matahariのインストールは
yum installでさくっと成功したので、環境構築はそんなに難しくない。
繰り返します!
ひ と ば し ら だ い ぼ し ゅ う で す よ !


では、今月はこれにてどろん!εεεεεヾ(*´ー`)ノ

よいお年を〜

 

 

 

 

 

 

 

Pages: 1 2 3

Comments are closed.