|
||||||||||||||
| 1 2 3 次のページ | ||||||||||||||
| 今回は | ||||||||||||||
|
前回はHinemosの可用性向上ということで、データベース以外のクラスタリングについて説明してきましたが、最終回となる今回はHinemos内部で利用しているデータベースのクラスタリングについて解説します。 |
||||||||||||||
| Hinemosのクラスタリング構成 | ||||||||||||||
|
Hinemosの内部で利用しているデータベース(PostgreSQL)は、そのままだとシングル構成でしか利用できません。そこでHinemosでは、データベースのクラスタ化のために、NTTデータが開発したOSSのPostgresForestというPostgreSQLのクラスタリングソフトを利用して、クラスタリングを構成しています(図1)。 ![]() 図1:Hinemosのクラスタリング構成 |
||||||||||||||
| Hinemosで管理しているデータベース情報について | ||||||||||||||
|
Hinemosでは、設定情報や取得データを機能ごとにデータベースで管理しています。代表的な設定情報としては以下の情報となります。
表1:Hinemosのデータベースで管理している代表的な設定情報 この他にもカレンダー情報や監視管理機能と関連している通知機能用の情報などと、様々な情報がデータベースにて管理されています(ただしリポジトリ情報のみはディレクトリサービスのOpenLDAPにて管理されています)。 当然のことですが、これらのデータベースに格納されている情報はHinemosを動作させる上でどれもが必要な情報です。よってその他の機能のクラスタリングと同様に、データベースもクラスタリングさせて可用性を向上させる必要があります。 データベースのクラスタリングといっても、データベース障害の際に、障害データベースの切り離し処理にサービス停止やその停止時間が長かったり、障害を起こしたデータベースを復旧し、元の状態に戻すためにまたサービスを停止したりしなければならないようではクラスタリングした意味がありません。 理想的には障害データベースの切り離し/復旧/復旧後のサービスへの復帰を、Hinemosで運用管理をしているユーザに意識させることなく実施できることが必要です。 そこで筆者らはPostgresForestを適用することによって、この課題を解決させました。 |
||||||||||||||
| PostgresForestの特長について | ||||||||||||||
|
PostgresForestは利用者(HinemosではJBoss)からはJDBCドライバとして見えます。言い換えればPostgreSQLのJDBCドライバを置き換えるだけでアプリケーションには何も手を入れることなくPostgresForestの提供するクラスタ環境を利用することが可能となります。 なお、PostgresForestは、管理配下のPostgreSQLのデータベースで障害が発生した場合、そのデータベースのみを切り離す縮退処理と障害を起こしたデータベースをオンライン状態で復旧し、処理に復帰させる処理が可能であり、Hinemosでもこの機能を利用して、内部利用データベースの縮退運転への移行、および復帰を実現しています。この点については後述します。 |
||||||||||||||
|
1 2 3 次のページ |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||


