Comments
Description
Transcript
I/Aサーバ単体で徹底した高可用性を 実現するExpress5800/ft
サーバ I/Aサーバ単体で徹底した高可用性を 実現するExpress5800/ftサーバ 小関 靖治・松下 潤一 要 旨 情報量の増大や情報利用形態の多様化により大容量/高速処理が必要となる一方で、情報システムの存在が社会 的な重要性をさらに深め、高い可用性への要求も増加しています。 2006年2月に発表されたftサーバはこのような高い要求に応える堅牢性・可用性を業界標準のオープンなプラッ トフォーム上に実現しています。ここではその中核となるLSI “GeminiEngine”の特長と重要なテクノロジに ついて紹介します。 キーワード ●フォールトトレラント ●可用性 ●高速再同期化 ●ftサーバ ●ロックステップ同期 1. まえがき 近年、情報量の増大や情報利用形態の多様化により大容量/ 高速処理が必要となる一方で、情報システムの存在が社会的 な重要性をさらに深め、情報システムの安定した稼働なしに は、企業運営を考えることすらできない状況となっています。 このような状況のなか、市場からの情報システムの基盤とし てのサーバ製品に対する高い可用性への要求に応じるため、 NEC は2001 年に米Stratus Technologies社と技術提携し、 Express5800/ftサーバを製品化しました。本製品は、ご好評を いただき、2004年度末までに4,000台以上を出荷し、多種多様 な業種でご利用いただいています。 しかしながら、Express5800/ftサーバの持つ二重化エンジン では開発に時間を要するため、CPUやメモリといった技術ト レンドに追従することが困難でした。そこで、NECは、独自 の二重化エンジン「GeminiEngine」を開発し、通常サーバ同様、 技術トレンドに追従し、かつ、手頃な価格設定で広く汎用的 に使用することが可能なExpress5800/ftサーバの製品化を実現 しました。 業契約のもと、Stratus社で開発した技術をベースに製品化し てきましたが、最新の技術トレンドへの追従、広くお客様に 使っていただくための価格低減、お客様からの多様な要求に 応えるためにも、NECの強みであるハードウェア開発技術力 を生かした自社開発が必要との判断によるものです。 この取り組みは、新エネルギー・産業技術総合開発機構 (NEDO)の「半導体アプリケーションチッププロジェクト」の 目的とも合致し、その支援を受ける形で製品化が進められま した。この新開発のftサーバは2006年1月23日に発表され、現 在までに1,500台以上出荷されています( 写真 )。 2. 新ftサーバ ftサーバの市場での認知が進むにつれ、ユビキタス社会での プラットフォームとして期待する声が高まり、この勢いをさ らに加速するために、約3年半前から自社技術によるftサーバ の研究に取り組んできました。それまでは、Stratus社との協 写真 新ftサーバExpress5800/320FaとGeminiEngine NEC技報 Vol.60 No.3/2007 21 サーバ I/Aサーバ単体で徹底した高可用性を実現するExpress5800/ftサーバ 3. ロックステップ同期とデターミニズム ftサーバの基本的な思想はいたって単純です。2つの同じ ハードウェアを用意し、それを常に同期して動作させておく ことで、仮にどちらか一方が故障しても正常な方が動作を継 続することでシステム全体として継続動作を保証できるとい うものです。 具体的に言うと、CPUはクロック信号に同期して動作する ものであり、2つのCPUに外部から同じクロック信号を入力し てやれば、必ず同じ動作をします。この状態をロックステッ プ同期と呼び、この状態が維持される特性をデターミニズム と呼びます。 従来はこのデターミニズムを利用してftサーバを実現してき ましたが、近年ではあらゆるコンポーネント、インタフェー スが高速化してきており、デターミニズムを利用するftサーバ を取り巻く環境も大きく変化してきています。たとえば、 CPU動作周波数の高速化や、PCIバスのようなチップ間イン タフェースの「パラレル・バス/低速クロック同期型」から PCI-Expressのような「シリアル・リンク/高速クロック非同 期型」へのテクノロジのシフトといった動きは、非同期動作 要素やクロックの揺らぎなど、ロックステップ同期を阻害す る要因を増大させることに繋がります。 して、CPUのシステムバス(FSB)の挙動とI/O I/Fの両方を観測 し、かつコントロールする仕組みを備えています。 両系の比較はシステムバス(FSB)とI/O I/Fの両方で行い、 CPUの同期ずれの前兆をシステムバス(FSB)上でいち早く見つ けることで、後述する高速再同期処理を可能にしています。 両系を接続するクロスリンクは非同期インタフェースです が、GeminiEngine内部で同期化させることで、この問題を解決 しています。また、従来のftサーバでは2チップ構成だった機 能をGeminiEngine 1チップ内に統合したことで、装置の小型化、 コスト削減、信頼性向上にも寄与しています。 4. GeminiEngine 5. 高速再同期機能 従来のftサーバでは、2つのハードウェアが同期しているこ とを両方のPCIバスの動作を比較することで判断していました が、前述に述べたように非同期のPCI-Expressインタフェース を持つ最新のサーバでは、同じ方式によるロックステップ同 期の維持は困難を極めます。また、CPU動作周波数の高速化 によるクロックの揺らぎに対しても、何かしらの対策が必要 となります。 このため、完全な同期が難しいのなら、ある程度の同期ず れは許容し、仮にずれ幅が大きくなった場合でも瞬時に補正 できる仕組みを備えることで、この課題の解決に取り組むこ とにしました。 その成果がNEC自社開発のLSI「GeminiEngine」です。 GeminiEngineは、 図1 に示すようにメモリやシステムバス (FSB)制御を含むノースブリッジの機能をも内包し、2重化両 系を非同期の高速クロスリンクによって接続しています。そ GeminiEngineでは、両系の比較はFSBとI/O I/Fの両方で行 われますが、CPU障害やクロックの揺らぎによるCPUの同期 ずれも含め、多くのケースではFSBを起点として同期ずれが 始まります。しかし、FSBの同期ずれを観測した段階で即座 に再同期処理が行われる訳ではありません。 CPUの同期ずれの要因としては、CPU内部の致命的な故障 である可能性のほか、CPU内部の非同期回路のばらつきによ る正常動作の範囲内での動作タイミングの変動の可能性も存 在します。このため、FSB上での同期ずれの検出時点で、そ の同期ずれ要因を特定し、故障CPUを確定させることは困難 を極めます。 そこでFSB上の同期ずれを観測した段階では、両系のCPU はある程度「揺らいだ」状態で2重化を維持し続けさせるとと もに、GeminiEngine配下のトレースメモリにメインメモリ更新 情報の保持を行い、ある程度の揺らぎ状態での動作を許容し 22 図1 GeminiEngineを用いたシステム構成 REAL IT PLATFORM特集 障が確定された場合でも、故障検出されたモジュールの切り 離しを行い、正常なCPUへの縮退を行うことで継続動作させ ることが可能となっています。 6. I/Oデバイスの仮想化 I/Oデバイスは冗長化した片方のデバイスで稼働させ、もう 片方のデバイスは待機させておき、障害発生時に切り替える 方式を採用しています。これは、ハードウェアとデバイスド ライバの連携により、2つのデバイスを仮想的な単体のデバイ スとして構築することで実現しています。汎用サーバではI/O デバイスやPCI-X、PCI-ExpressといったI/Oへの経路に致命的 な障害が発生した場合、これがOSに通知され、即システムダ ウンに発展する場合が多々あります。GeminiEngineではこれを 避けるために、I/O系のすべての致命障害をOSから隠ぺいす ることでシステムダウンを防いでいます。 これはOSがサポー トするホットプラグのサプライズドリムーバブルというス キームに基づいて実現しています。 つまり、致命障害が発生 してもそれを即座にOSに通知せず、代わりにI/Oデバイスが 突然抜かれたように見せかけています。 OSやドライバはI/Oデ バイスの消失を検出し、代わって動作する待機系デバイスに制 御を移し、フェイルオーバを行います。 これら一連の手続きは、デバイスドライバの範囲内で行わ れ、障害が発生したことやフェイルオーバが行われたことを アプリケーションソフトウェアが意識することはありません。 これにより、既存のアプリケーションを一切変更せずに、利 用することが可能となります。 図2 高速再同期化処理のフロー た後、一切の異常(Error)が観測されていないことを確認した 上で、初めてGeminiEngineの高速再同期機構を動作させること にしました。 この高速再同期機構の処理では、トレースメモリを利用し て同期ずれ検出後のメインメモリ更新領域だけをコピーする ため、約200ミリ秒程度の時間で再同期化が完了し、ソフト ウェアや利用者は何らこれを意識することがありません( 図 2 )。 またGeminiEngineでは、FSB上の同期ずれの検出から高速再 同期処理の開始までは、CPUの2重化状態を維持し続けさせて いるため、仮に、この期間に同期ずれの原因となった真の故 7. むすび 「REAL IT PLATFORM」のコンセプトの1つ「安心」を実 現する高可用性システムの経済的な構築を可能とする新ftサー バの中核となるLSI、GeminiEngineの特長について紹介しまし た。 GeminiEngine はNEC独自に開発したLSIですが、2006年より ftサーバ開発における米Stratus Technologies 社との協業を再開 し、今後、後継の次世代二重化エンジンは米Stratus Technologies 社と共同で開発を進め、技術トレンドに追従し、 手頃な価格設定で広く汎用的に使用することが可能な Express5800/ft サーバ゙の製品化を継続していきます。 NEC技報 Vol.60 No.3/2007 23 サーバ I/Aサーバ単体で徹底した高可用性を実現するExpress5800/ftサーバ NECは、汎用サーバの可用性を飛躍的に高めるクラスタとft サーバという2つの高可用性の技術と製品を持つ、数少ない企 業の1つであり、これらの特長を適材適所で活かし、お客様か らの様々な要求に応えるソリューションを提供することで、 安心で安全な社会を構成するための要求に応えていけるもの と考えています。 執筆者プロフィール 小関 靖治 松下 潤一 主任 主任 第二コンピュータ事業本部 クライアント・サーバ事業部 第一技術部 24 第二コンピュータ事業本部 クライアント・サーバ事業部 第一技術部