【レポート】

Linuxがミッションクリティカルに本格進出するために必要なこととは?

2 実行中のプロセスに直接パッチを適用? - 高可用性を達成する具体的な実装

    鶴田展之  [2004/06/14]

    キャリアグレードへの要求には、「高可用性」「パフォーマンス」「安全性」といったものがあるが、特に「可用性」に関しては99.999%以上の稼働率が必要とされ、これは年間5分程度のダウンタイムが許容されるレベルだという。このレベルの可用性を実現するには、システムの個々の構成要素そのものの品質を向上する方法と、冗長化構成による方法がある。より現実的なのは後者で、クラスタリングもその手段のひとつだ。例えば単一のシステムをソフトウェアとハードウェアに分けて考えた場合、ソフトウェア、ハードウェアそれぞれに99.9995%の稼働率を実現しないと、システム全体の稼働率を99.999%のレベルを維持できない。ソフトでもハードでも、ある一定以上の品質向上にはどうしてもコストがかかる。一方、クラスタリングならば、コストを抑えつつ高可用性を実現できる。

    池邉氏は、CGLで実現すべきクラスタリングの機能として、「高速なデータ同期機能」「障害時の自律再開機能」「障害情報収集機能」「カーネル内部処理の優先制御」等の機能を挙げる。具体的には、アクティブノードとスタンバイノードのメモリ内容をハードウェア的に同期する機能や、バックアップの世代的な管理と自律的な回復、ライブパッチといった仕組みが必要となるということだ。

    CGLの要求を実現する具体的なプロジェクト「Resumo」と「Pannus」

    既に、こういったCGL 3.0の要求を満たすための具体的な実装を進めていくプロジェクトが多数立ち上がっている。この中から、池邉氏によって「Resumo」と「Pannus」という2つのプロジェクトが紹介された。

    「Resumo」は、"boot image fallback"機能を実現するためのソフトウェアを開発するプロジェクトだ。"boot image fallback"とは、深刻な障害が発生した場合に、自律的に起動実績のあるシステムイメージを使ってシステムを再起動する機能を指す。

    Resumoは、Linuxの起動シーケンスを置き換えてこの機能を実現するもので、具体的にはGRUB 0.94へのパッチと各種ツールによって構成される。既に基本的なロジックは実装されており、ソースコードもWebサイトから入手できる。

    一方、「Pannus」プロジェクトでは、"Live Patching"を実現するソフトウェアを開発している。一般的に、ソフトウェアのアップデートを行う「パッチ」は、ソースコードに対して適用する「ソースパッチ」、実行ファイルを直接更新する「バイナリパッチ」があるが、どちらも現在起動中のプログラムを更新することはできない。つまり、更新されたプログラムは、再度起動してメモリにロードし直さなければ修正が有効にならない。サービスの停止が許されないキャリアグレードでは、プロセスを無停止のままパッチを適用できなければならない。

    Pannusはメインコードの先頭にjmpアセンブラ命令を上書きし、関数の実行時に修正された新たな関数へ制御を切り替える。これにより、実行中のプロセスを関数単位で修正済み関数へ置き換えることが可能になるということだ。シングルプロセッサ、単一プロセスに対するLive Patchは既にほぼ実現できており、今後はSMP環境やマルチスレッドプロセスへの対応等を行っていくという。

    DCL (Data Center Linux)の活動状況

    CGLと並ぶOSDLの主要な活動に「DCL (Data Center Linux)」ワーキンググループがある。CGLが通信分野を担当するのに対し、DCLはその名の通り、データセンター市場に向けたエンタープライズLinuxの要求仕様を策定するために活動している。DCLワーキンググループの活動については、NTTの真鍋義文氏とNTTデータの三浦広志氏から詳細な報告があった。

    DCLワーキンググループからは、2004年1月に"DCL Technical Capabilities V1.0"ドキュメントが公開されている。このドキュメントでは、CGLと同様に優先順位付けされた300あまりの要求機能が定義されているが、今年末にはV1.1を公開すべく引き続き作業が進められているとのことだ。Linux向けアプリケーションを開発しているベンダを集めた「ISV Forum」を組織し、開発上の問題点等をヒアリングしているという。また、"-osdl"カーネルツリーを作成し、DCLの成果を反映したカーネルのパブリックテストを実施していこうという動きもあるということだ。

    まとめ

    Linuxにとって、エンタープライズ市場への進出は現在最も大きなテーマだ。その意味でもOSDLの活動は注目を集めているが、今回のシンポジウムでは、CGL/DCLともに順調な活動の様子を窺うことができた。今後の成果にも大いに期待したい。

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン