社会的要請に応えたオンライントランザクションシステム - (page 3)

物井秀俊(日立製作所)

2006-02-28 06:47

障害内容の正確なログを残す

 まず、ハードウェアおよびソフトウェアの各部位で検知できる障害については一般的であり、想定される障害に対応した回復操作をプログラムで実現したり運用操作で実現できるようにしておけば良い。ただ、この障害の検知は、ハードウェアおよびソフトウェアの基本的な部分で行えば、それだけ検知のタイミングを早めることができる。そして、オンライントランザクションのような非常に短い時間での応答性能を要求されるシステムでは、できるだけ早い検知が求められる。

 ユーザープログラムからミドルソフトウェア、基本ソフトウェアさらにハードウェアという階層を考えたとき、障害への対処はそれぞれの階層で考えられ、障害が発生したときはできるだけリトライを行って回復を試み回復不能な障害のみ上位に通知する、というのが通常の考え方になる。この時、各階層で回復ができないという状態をどのように通知するかは、それぞれのハードウェアおよびソフトウェアの作りによる。

 メインフレームは、ハードウェアから上位のソフトウェアまで連携して開発されるため、障害の状態の見せ方を設計段階からやりとりして、障害への対処方式に反映することができる。これにより、ハードウェアとソフトウェア間で、およびソフトウェアとソフトウェア間でのインタフェースは、オープンなインタフェースとはならないが、ハードウェアで一時的に発生した障害をソフトウェアでリトライして回復させたり、オンライントランザクション向けに障害検知を早くするなど、システム信頼性を高めている。

 さらに、上位で回復ができなかったとしても、下位のソフトウェアおよびハードウェアの状態を認識したうえで、障害内容に対する正確なログを残すことにより、障害回復用の貴重なデータとして使うことができるようになる。

障害部位を切り離す

 次に無応答のケースについて説明しよう。無応答になる障害は、各部位であらかじめ想定していない障害が要因で発生することが多い。

 このような場合は、上記に挙げたようなソフトウェアおよびハードウェアの階層の中で、上位のソフトウェアが下位のソフトウェアおよびハードウェアの動作をタイマーにより監視することで検知を行う。タイマーによる監視も、障害検知と同様に細かく行えば、それだけ障害部位の範囲を狭められるようになり、早い異常の検知を実現できる。特に、オンライントランザクションの場合、応答性能が求められるため、この検知の早さは本質的な問題になる。

 ハードウェアの障害に対する備えとして、上記の障害検知を前提とした二重化などの冗長化による備えがある。例えば、オンライントランザクションからのファイルへの書き込みを常に二つのファイルに書き込むことで、ファイルへの出力内容を常に二重に持つようにし、どちらかのファイルで障害が発生した場合に、正常なファイルだけを使用してトランザクション処理を継続させるようにする。

 ただ、このようなファイルの二重化も、一つのファイルで障害が発生したときに、入出力動作に大幅な遅延を発生させずに、正常な装置を使って動作を継続し、さらに障害が発生したファイルを切り離すことができて初めて効果が出てくる。このためには、上記に挙げたような早い障害の検知が不可欠であり、ハードウェアとそのハードウェアを制御するソフトウェア、さらに冗長化を行っている上位のソフトウェアとの間で密に連携した制御が必要となる。

 上記で述べたことと矛盾するように捉えられるかもしれないが、上位でファイルの二重化のような冗長化による備えをしているときに、下位のソフトウェアやハードウェアで障害を何とか回復しようとリトライを繰り返すより、早々とリトライを止めて上位で障害部位を切り離せるようにしてしまった方が影響を少なくできたというケースは、しばしば経験することである。下位のレベルから上位のレベルまで、障害に対してどういう対処をするか、一貫した考え方で機能を実現していかないと、システムとしての信頼性を高める機能として有効にならない。

下位層を見ないシステム作り

 以上、メインフレーム時代のオンライントランザクションシステムに対する機能について、安定性および信頼性の観点から述べてきた。昨今ではインターネットに代表されるネットワーク基盤の発展、分散処理技術の発展、オープンミドルウェアの発展、そしてオープンサーバを用いたシステム構築技術の発展により、図2に示すようなシステムに代表されるように、種々のシステム形態やアプリケーションフレームワークでトランザクション処理が実現されるようになってきている。

図2 オープンサーバによるオンライントランザクションの例

 これらの新しい技術により、オンライントランザクションシステムの適用範囲が広がり、さらに業務やシステムを簡単に開発できるようになってきているが、それは仮想化や自律化といったシステムの基盤となるハードウェアや基本ソフトウェアを細かく見たり理解したりすることと、裏腹の関係にある技術の発展が大きく貢献している。特に、種々のプラットフォームが存在するオープンサーバでは、アプリケーション開発を簡単にするために、基盤となるハードウェアやソフトウェアをいかに覆い隠すかといういうことが課題となっている。

 実現するプラットフォームやシステム形態は変わってきていても、上記で述べたようなオンライントランザクションシステムに求められる基本的な制御機能や提供するサービスの質に対するニーズは変わっていない。オンライントランザクションシステムで求められる応答性能や信頼性さらにシステム的な安定性を実現しようとする場合、メインフレーム時代に実現してきた技術は、オープンサーバにおけるオンライントランザクションシステムでも有効であり、実現していかねばならない技術になる。

 さらに、本連載の第2回にもあるように、ハードウェアから積み上げてきた仮想化の階層を見渡しシステムを可視化できることが重要となる。トランザクションというプリミティブな処理を実現するときに、下位層を見ないシステム作りをすることがないようにしていく必要がある。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]