TOP調査レポート> PostgreSQLの可用性向上
オープンソースをこう使った! 〜 運用管理ツールHinemosの秘密
オープンソースをこう使った! 〜 運用管理ツールHinemosの秘密

第5回:JBossのクラスタリング機能を活用した可用性向上について

著者:NTTデータ  大上 貴充   2006/9/28
前のページ  1  2  3  4
PostgreSQLの可用性向上

   PostgreSQLのクラスタリングにはPostgresForestを用います。PostgresForestは、Hinemosと同様、NTTデータが開発しているOSSのPostgreSQLクラスタリングソフトウェアです。

   PostgresForestは、複数のマシン上で稼動するPostgreSQLを仮想的に1つのPostgreSQLとして運用することを可能とます。アプリケーションから見ると1つのJDBCドライバとして利用することができるため、複数のPostgreSQLがあたかも単一のRDBMSのように見えます。

   JBossからアクセスする場合は、データソースの設定(ドライバクラス名と接続先URL)を変更するだけで、アプリケーション的には特に変更を加えることなくデータベースの信頼性を向上させることができます。

   なお、PostgresForestの詳細については次回の記事に譲りたいと思います。


障害発生時の動作イメージ

   ここまで、Hinemosを2台のマネージャノードを使い、それぞれをマスタとスレーブとして、アクティブ-スタンバイ方式の可用性構成を組む方法について解説しました。

   ここでは、障害時の動作をマスタのサーバがダウンした場合について説明します(図5)。

障害発生時の動作イメージ
図5:障害発生時の動作イメージ
(画像をクリックすると別ウィンドウに拡大図を表示します)

   クラスタ化されているJBossは、IPマルチキャスト通信を用いて死活監視をしています。マスタのサーバがダウンした場合、スレーブのJBossは障害を検知し、フェイルオーバを実行し、シングルトンサービスとなっているJMSサービスと、Hinemosの機能を起動します。以降のアクセスはこちらのサーバが処理することになります。

   OpenLDAPとPostgreSQLはスレーブノードも多重化され、マスタノードと同じ情報を保持しているため、障害後は縮退運転することで、そのままサービスを継続することができます。

   クライアントからの接続は、JBossの提供するスマートプロキシの機能によって自動的に切り替えられます。


まとめ

   Hinemosでは、利用しているOSSが持つそれぞれのクラスタリング機能を活用することで、アプリケーションレベルではほとんど意識することなく、可用性の向上を実現することができます。

   次回は、今回詳しく解説することのできなかった、データベースのクラスタリングについて解説いたします。

前のページ  1  2  3  4


NTTデータ  大上 貴充
著者プロフィール
株式会社NTTデータ   大上 貴充
基盤システム事業本部 オープンソース開発センタ
2004年よりOSSを用いたシステム構築、運用管理ツールの研究開発に従事。現在はHinemosの開発メンバとして、より一層の機能充実、品質向上とコミュニティの創造を目指して活動中。

INDEX
第5回:JBossのクラスタリング機能を活用した可用性向上について
  はじめに
  JBossの可用性向上
  Hinemosをクラスタ化する際のJBossの設定
PostgreSQLの可用性向上