ローカルナビゲーション

課題解決 トップ

HAクラスタによるガルーン 3 の可用性向上

ビジネスのスピードが早くなっていると言われる昨今、コミュニケーションの重要性が高まってきています。
そのなかで、社内のコミュニケーション基盤としてのポータル型グループウェア「サイボウズ ガルーン 3」(以下、ガルーン 3)には、より高い可用性を求めるお客様が増えてきました。

「ガルーン 3」を導入されるお客様が可用性向上のために行う一般的な対策は、バックアップです。夜間等に「ガルーン 3」を停止し、テープやサーバーにバックアップを行います。この場合データは保持されますが、以下の2点の問題があります。

  • データの復元性の問題
    バックアップの取得時間までしかデータを戻せません。夜間にバックアップを行っている場合、復旧できるのは前日の夜間のデータになり、それから障害時までに登録されたデータは復旧できなくなります。
  • システム停止時間の問題
    テープ等のバックアップ媒体からのデータ復元には、運用サーバーへのデータコピー時間がかかります。この間「ガルーン 3」は利用できなくなります。

コミュニケーションの重要性が高まるに伴い、これらの課題への対応、つまり可用性の向上を検討するお客様は年々増えてきております。

可用性の向上

「ガルーン 3」の可用性を向上させるには複数の方法があります。

  1. 1. ハードディスク面の可用性向上
    ハードウェアで障害が起こりやすいのはハードディスクと言われています。その可用性を高めるのが、RAID です。コストパフォーマンス面から好まれる RAID 5 や、性能の向上も考慮して RAID 0+1、RAID 1+0を選択されるお客様も増えてきています。
  2. 2. Webサーバーの冗長化
    「ガルーン 3」では、WebサーバーとDBサーバーを分離する構成を組むことができます。
    Webサーバーを複数台構築した際に、ロードバランサの機能により、特定のWebサーバーの障害時も業務停止なしで、運用を行うことが可能になります。
  3. 3. DBサーバーの冗長化
    「ガルーン 3」で実際にデータを保持するのは DB サーバーです。DB サーバーの可用性を高めるには、主に、2つの方法があります。
  • コールドスタンバイ
    待機用サーバーを用意し、定期バックアップするデータを、待機用サーバーに保存します。
    これにより単純なバックアップ比較して、データコピーの時間が短縮されるため、業務停止時間の削減が可能になります。
  • ホットスタンバイ
    障害時に、待機用サーバーに切り替わる方法です。
    データコピーの時間もなく、且つ、障害前のデータを利用できるため、業務停止時間を短縮し、かつ、データの復旧性を高める方法です。
    本稿では、「ガルーン 3」のこのHAクラスタ化についてご紹介します。

HAクラスタの構成

DB サーバーをクラスタ化します。実際には、運用系のデータベースサーバーと待機系のデータベースサーバーを用意し、システムに求められる要件に従って、サーバー構成やディスク構成を以下の構成から選択します。
DBサーバーのクラスタには「共有ディスク構成」と「データレプリケーション構成」があります。

共有ディスク構成

サーバー構成が「1:1構成」、ディスク構成が「共有ディスク」のHAクラスタとなります。
稼動系サーバーに障害が発生した場合、待機系サーバーに運用が切り替わります。その際、実データは共有ディスクに存在するため、データ復旧の時間が発生しません。

「ガルーン 3」では、利用規模に合わせて複数のDBサーバーでの構成を組むことも可能です。
その場合、以下のように待機系サーバーを1台とする「N:1構成」をとることができます。

データレプリケーション構成

共有ディスク構成ではストレージ等の共有ディスクを必要としますが、共有ディスクを必要としない以下のような「データレプリケーション構成」も選択できます。

共有ディスク構成が、同一のディスクを運用系サーバーと待機系サーバーで共有するのに対し、データレプリケーション構成は、運用系サーバーのディスクから待機系サーバーのディスクへデータを同期します。一般的には、共有ディスク構成とは違いストレージ製品が必要ないことから、データレプリケーション構成の方が安価に構築できることが多いようです。しかし、常にデータのミラーを行うことから、共有ディスク構成の方が性能面では高くなるようです。

クラスタソフトの利用

HAクラスタを構築するには、もちろんサーバーを複数台用意するだけでは十分でなく、クラスタ化を実現するためのソフトウェア(クラスタソフト)も必要となります。クラスタソフトでは、主に以下の機能を実現することができます。

  1. 1. 各サービスやサーバー自体に対しての定期的な死活監視
  2. 2. 障害検出時の自動対処

サービスが停止している場合はサービスの起動が行われる

もしくは、待機系サーバーへのフェールオーバーが実行される

1.に関しては、サーバー同士が一定の間隔で相互に各リソースの死活監視を行っています。

2.に関しては、運用系サーバーのリソースを停止後、待機系サーバーのリソースを起動し、待機系サーバーが運用系サーバーとしての機能提供を開始します。そのため、サービスの停止時間は必ず発生してしまいますが、障害からの復旧処理は自動的に行われます。

また、機能1、2ともに死活監視や停止/起動処理は、クラスタソフトが各サービス用のスクリプトを実行することで実現されます。スクリプトは、シェルスクリプト等で作成する必要がありますが、各ソフトウェアメーカーでスクリプト作成用のテンプレートが用意されているケースがあります。

「ガルーン 3」アライアンス製品の紹介

「ガルーン 3」が検証を行っているクラスタソフトは以下の通りです。

HAクラスタの応用

これらのHAクラスタ構成は、可用性を高めようとすればするほど待機用サーバーが必要になり結果高額なシステム投資が必要になります。その場合、仮想化技術を利用することにより、システム投資費用を削減することが可能になる場合があります。

例えば、仮想環境下で、ガルーン以外の複数のシステム共通の待機用サーバーを構築します。そして特定システムの障害時には、待機用サーバーにて、そのシステムにリソースを多く割り当てます。これにより、ハードウェア費用を削減しつつ可用性を高めることも可能になります。

※実際のシステム構築については、パートナー・SIerにご相談ください。