金融や通信、運輸、流通など、社会インフラとなるサービスを提供する企業にとっては、止まらないシステムの構築こそが、絶対価値となる。では、企業の、そして我々の生活の“継続性”を支えるサーバとは、どのようなものだろうか。
企業がBCP(Business Continuity Planning)を実施し、ビジネスの継続性を高めるには、“止まらないシステム”が必須である。前回の取材から、社会インフラを支えるサーバにHP Integrity NonStopサーバ(以下、NonStopサーバ)が、使われていることが分かった。とはいえNonStopサーバはなぜ止まらないのか。そして、なぜ企業に支持され、選ばれているのだろうか。今回は、同サーバのアーキテクチャについて、技術的な面から、取材を実施した。
今回取材に応じてくれた日本HP テクニカルセールスサポート統括本部シェアードサービス本部NonStop技術部、原敏光部長によると、「NonStop サーバのアーキテクチャを簡潔に表現すれば、“疎結合のマルチCPU・システム”と“ハードウェアとソフトウェアの耐障害性機能が密に組み合わされている”ということです」(原氏)とのこと。各CPUは、メモリ、ディスク、I/Oを所有する非共有方式(シェアード・ナッシング方式)を採用し、オペレーティング・システム(NonStop Kernel)がそれぞれのCPU上で動作しているそうだ。
NonStopサーバでは、このメッセージ・ベースのオペレーティング・システムが、最大4080CPUまで拡張可能であり、全てのリソースは単一システムイメージでアクセス可能である。また、共有リソースのない疎結合アーキテクチャにより、同サーバの拡張性は直線的であり、トランザクションの増加に対応するリソース追加の計画に対しても、柔軟なキャパシティ・プランニングを提供できる。
また原氏によると、NonStopサーバは「NonStop アドバンスド・アーキテクチャ(NSAA)」を採用しているとのこと。現在同サーバは、マイクロプロセッサを二重化したデュアル(DMR)モデルおよび、オプションとして三重化したトリプル(TMR)モデルの構成をとることができ、従来のモデルと比べて可用性、拡張性、データ整合性を格段に高めているそうだ。
NSAAを簡単に説明すると、例えば基本となる4CPU/DMRモデルは、4つのマイクロプロセッサが搭載されたCPUブレード2つと論理同期ユニット(LSU:Logical Synchronization Unit)、I/Oモジュール、ストレージなどで構成され、CPUブレードは、光ファイバーによる独自の高速バス「ServerNet」で結ばれるという。処理はCPUブレードをまたがって行われ、例えばブレードAとブレードBの1つ目のマイクロプロセッサ同士が、同じ処理を行う。その際、外部から見ると単一論理CPUとして見え、論理4CPUモデルとして、それぞれのCPUが異なる処理を行うという。
内部的にはマイクロプロセッサの処理結果をLSU、つまり論理同期回路で“常に突き合わせ”を行っているそうだ。ここでデータの整合性、つまりデータ・インテグリティを実現するとともに、障害や異常を検知して自動通報するという形が基本設計となっている。
例えば、障害時の動きについてみてみると、基本となる4CPU/DMRモデルでは片方のCPUブレード上の1つのマイクロプロセッサがダウンしても、論理CPUは残った片系で動作し続ける。また、メモリ/メモリコントローラ障害が発生した場合にも、論理CPUは残った片系で動作し続け、ソフトウェア環境を保護する。これにより、クラスタ環境を超えるビジネスの継続性が保証されるという。(図1参照)
また原氏の説明によると、オプションで提供されるTMRモデルでは、3つのCPUブレード上のマイクロプロセッサが同じ処理を行い、LSUが計算結果を判断し、値が違うものを多数決方式で切り離していくそうだ。
NSAAでは、CPUブレードが別々のモジュールとして1つのラックに搭載され、システムの高速バスであるServerNetやI/Oコントローラ、ストレージなども2重化して搭載するとのこと。つまり、多重化された同サーバは、必ずモジュールをまたがる構成となる。(図2参照)
「2重化、3重化というとき、1枚のボードの中でマイクロプロセッサを2重化してあったり、1つの筐体の中に2つの部品が入っていたりするという話がよくあるのですが、NonStopサーバの場合は、必ずこのようにモジュールをまたがるよう、多重化構造をとっています。不慮の障害でモジュール全体が落ちてしまっても、同サーバは構造的にシステムを止めずに対応できるということです。またメンテナンスする際にも、モジュール全体をオンライン中に取り替えられます」(原氏)
また、原氏はデータ・インテグリティについて次のように述べてくれた。
「マイクロプロセッサは電気回路であり、可能性として“出力がぐらつく”ということが考えられます。データを突き合わせた上で不整合があれば、その部分を切り離してデータ破壊を防止した上で稼働し続けます。更に多数決方式が使用できない状況の場合には、その論理CPUは自ら停止し、そこで稼動していた処理を他の論理CPUに引き継ぎます。つまり、2重化、3重化構成というのは耐障害性という意味と、電気回路がぐらついても間違ったデータを外に出さないという、2つの意味があるのです。これによって、信頼性を実現しているわけです。これまで30年の歴史の中で、NonStopサーバがハードウェア障害によって、いわゆる“データ化け”を起こしたことは、一度もありません」(原氏)
原氏によると、現在では止まらないのみならず、データの信頼性を求められる企業が多く、出荷される同サーバの半数以上がTMRモデルとなっているという。
ここで原氏は、NonStopサーバのファンダメンタルは大きく3点あると話してくれた。その1つは、“データ・インテグリティ”だ。
NonStopサーバでは、データ・インテグリティにより、厳密なチェックとデータの破壊防止を保証し、極めて高い信頼性を提供している。
「TMRモデルは、特に通信や金融といった産業で、採用が進んでいます。これは3つのマイクロプロセッサが同じ演算を行い、その計算結果を判断、多数決で正しい値を導き出していくという、データ・インテグリティに優れた点が評価されたものだと思います。厳密なデータチェックやデータ破壊防止が求められる業種で、特に支持されています」(原氏)
NonStopサーバでは、データの整合性が取れなかった場合、自らシステムを停止し、データを保護するそうだ。金融機関において“数字が合わない”というのは一大事であり、もともと銀行のATMなどで使われていた同サーバの開発コンセプトが、こうしたところにも息づいているのであろう。
2つ目のファンダメンタルは、“フォールト・トレラント(ft)”とのこと。NonStopサーバでは単にハードウェアの多重化だけでなく、ソフトウェアとも一体となって、アプリケーションの連続稼働を実現しているそうだ。
そして3つ目は、“リニア・スケーラビリティ”。原氏は、同サーバは超並列サーバであり、並列にCPUを足していくことによって直線的に性能の拡張性が図れるという、リニアな拡張性を備えていると語る。携帯電話やATM、クレジットカードなど、日々変化を続け、将来のシステム設計が容易でない業種分野でも、必要なときに必要なCPUパワーを、無停止で増設できるとのことだ。
とはいえ、サーバそのものをいくら多重化構成にしても、天災などにより電源障害が発生すれば、システム全体がダウンする。これはサーバの問題を越えた、ファシリティの問題である。
これに対し原氏は、「このような場合でも絶対にファイルを壊すことはありません。つまり、アプリケーションから書き込みがあると、基本的にシステムの再開に必要なデータは、性能を犠牲にしてもディスクに書き込みに行きます」と自信を持って答える
ここが、NonStopサーバの“NonStop”たるゆえんだ。WindowsやUNIXでは、急に電源を落とすと、次回正常にシステムを起動できず、データが消滅するケースがある。しかし同サーバのOSは、ダウン後に再開しても、データは確実に保護されているのである。
「突発的な事故によりビジネス情報を損失すると、企業が立ち直れなくなることも考えられます。しかしNonStopサーバでは、“予想外のことが起こっても大丈夫”なアーキテクチャを備えているのです」
HPに統合される前のNonStopサーバは、ソフトウェア・フォールトトレラントによってテイクオーバー処理を行い、耐障害性を実現していた。CPU障害やプライマリプロセスに異常が発生した場合は、OSの機能によって自動的にバックアッププロセスがプライマリプロセスに昇格し、その処理をその時点から継続するのである。しかし原氏によると、現在の同サーバでは、事情がやや異なるという。
「NonStopサーバでは、プライマリ側は実際の処理を行ってCPUパワーを使いますが、バックアップ側は情報の保持だけですから、メモリを少々使うだけです。そのため、CPUパワーを2重に消費しているということにはなりません。さらに、NonStopサーバはハードウェアft機能も実装していますので、ハードウェアftとソフトウェアftの組み合わせという、考えられる最高レベルのft機能をすでに実装しているわけです」(原氏)
原氏の言葉通り、NonStopサーバは「耐障害性」「計画停止の削減」「データ整合性の保障」を兼ね備えた、究極の高信頼サーバであると言える。また、直線的なシステムの拡張性はもとより、アプリケーション構成の制約もなく、またチューニングが容易であるなど、スケーラビリティに優れている。
もちろん、システム管理の視点から考えても、シングルシステムイメージでの運用が可能であったり、OSと統合されたミドルウェアが実装されていたりと、運用効率も高い。
さらに同サーバは、例えばJavaアプリケーションがそのままで稼働するといったオープンな環境までも実現している。原氏によれば、インテル Itanium2 プロセッサを搭載したことで、コスト・パフォーマンスも劇的に改善されたという。
ここまで見てきたように、NonStopサーバであれば、大規模かつ最強のミッションクリティカル・システムをシンプルに構築できる。「無停止の水準が違う」と言っても、過言ではないだろう。
【第1回】 無停止性を追求し、ビジネスのゼロ・ダウンタイムを実現するシステムとは
【第2回】 ビジネスの継続性を保証する“止まらないシステム”とは?
【第3回】 事業を継続し、企業価値を高めるシステムとは
【第4回】 四半世紀もの間「止めない」運用に取り組んだ経験者が語る「匠を育てるプラットフォーム」
【第5回】 もはや「待ったなし」の次世代EDIを実現するシステムとは
【第6回】 「丸井のエポスカード」を支える高信頼システムの秘密とは?
【第7回】 多通貨対応「国際デビットカード」のシステムとは?
【第8回】 医薬卸売業界で10年前に実現したサービス指向の情報システム
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本ヒューレット・パッカード株式会社
企画:アイティメディア営業本部/制作:ITmedia エンタープライズ編集部/掲載内容有効期限:2007年7月23日