LifeKeeperで冗長性を確保

そうした中、解決策は思わぬところで見つかった。その経緯を鈴木氏は次のように振り返る。

「ちょうどそのころ、サイオスさんとオープンソースのサポートサービス『OSSよろず相談室』の導入に向けて調整を進めていました。その中で『LifeKeeper』の存在を思い出し相談してみました。すると代表的なDBMSについて、LifeKeeperとioDrive2の組み合わせによる動作検証の事例が出始めていたのです。突破口が見つかったと思いました」

ここからは話が一気に加速した。

LifeKeeperは、マルチプラットフォームに対応したHAクラスターソフトウェアであり、共有ディスク型の外部ストレージを使用した構成に加え、DataKeeperを併用して2台のサーバーの内蔵ストレージを同期させるレプリケーション構成にも対応している。さらに、基本となるアクティブ/スタンバイ型のほか、アクティブ/アクティブ型、N対1スタンバイ型の構成でも運用することができる柔軟性を備えている。

内蔵型のioDrive2を使用する今回のシステムでは、アクティブ/スタンバイ型のレプリケーション構成を採用した。アプリケーションサーバーとのインタフェースには1Gb Ethernet 2本をボンディングで束ねて用い、これとは別にサーバー2台を10Gb Ethernetで直結してレプリケーションを行うという構成である。

システム構成図

徹底したテストを内部で実施

本稼働して以来フェイルオーバーが発生したことは1度もないそうだが、LifeKeeperの評価にあたっては、自分たちの手でさまざまなテストを実施したという。例えば、手製のストレステストツールで更新負荷を掛けた状態で電源ケーブルを引っこ抜き、フェイルオーバー後にトランザクション処理に従ってデータが保護されているかを確認するテストも行ったそうだ。

「懐疑的だったIT部門を説得するには、ベンダーが大丈夫だと言っているというのでは不十分。何があっても大丈夫、いざとなれば私達でサポートもできると自信を持って言えるように、自分たちで徹底的にテストしました。実際にテストを行ってみて実感したのは、フェイルオーバーの正確さ、ダウンタイムの短さです」(亀山氏)

今回のシステムで検証システムの構築を担当し、LifeKeeperの導入、設定、動作検証を行ったCRMソリューション企画開発室の西遥氏によると、使い勝手の良さもLifeKeeperで感心させられた点だという。

「まず、LifeKeeperはパッケージ製品であるため、設定や検証が少なくて済みました。そしてGUIの管理画面がわかりやくできています。HAの仕組みを理解している人であれば、画面を見ただけで設定できるでしょう。同時に、CUIのオプションも充実していて、ほぼすべての操作がGUI/CUIのどちらでも行えます。導入作業ではGUIで設定を行いましたが、運用管理ではCUIでのオペレーションが基本となるので、運用担当者向けの手順書はCUI操作を前提に作成しました」

DBの大幅な性能向上で運用面の手間も削減

今回採用したレプリケーション構成には、大掛かりな共有ディスクが不要でコストを削減できるというメリットがある反面、データを常に同期させるために一定の性能低下が生じるというデメリットがある。そのため、評価段階でのテストでは、性能面のベンチマークにもっとも時間を費やしたそうだ。

「LifeKeeperの資料では同期レプリケーションのオーバーヘッドは10%程度とされていましたが、私どもが実測した限りでは、オーバーヘッドは5%程度でした。もともとioDrive2の基本性能が高いこともあり、おおむね無視できる水準です」(鈴木氏)

さらに、データベースの性能が大幅に改善されたことは、運用面のオペレーションにも好影響を与えているという。

「ASP型のサービスでは、サーバー上では会員情報の抽出などといった重い処理が常に走っています。従来のデータベースサーバーでは、バッチが重ならないような工夫が必要でしたが、現行システムではその必要はなくなりました。今では、データベースサーバーをボトルネックにするのが難しいくらいです」(亀山氏)

今回、ASP型ポイントサービスの新データベースサーバーを成功裏に導入できたことで、他のデータベースサーバーでも同様の構成の採用を進めている。ioDrive2とLifeKeeperの組み合わせは、高速データベースを実現でき、高可用性システム基盤として、今後ますます活躍の場を広げていくことだろう。