【文献】
高宮安仁、真鍋 篤、白砂 哲、松岡 聡,Lucie:大規模クラスタに適した高速セットアップ・管理ツール,情報処理学会研究報告,日本,社団法人情報処理学会,2002年 8月23日,Vol.2002,No.80,p.131−136(2002-HPC-91-23),ISSN 0919-6072
(58)【調査した分野】(Int.Cl.,DB名)
それぞれが少なくとも1つのストレージドライブ(DS)および揮発性メモリスペース(MV)を備え、スーパーコンピュータ(CHP)の一部を形成するサービスノード(Nij)内のオペレーティングシステムの切換えを制御するために、処理手段による実行時、請求項1から5のいずれか一項に記載の方法を実施することが可能な、命令セットを含む、コンピュータプログラム。
【背景技術】
【0002】
先行技術において知られているように、スーパーコンピュータのサービスノードは、オペレーティングシステムに適合した、ツリー型ソフトウェアイメージに従って動作するようにインスタンス化される。
【0003】
以下の記述において、「インスタンス化」とは、サービスノードが受信を行い、オペレーティングシステムを利用できるようにする、ソフトウェアの構成作業を意味している。このインスタンス化は、ノードを準備するための、具体的には、サービスノードストレージドライブのパーティション分割やフォーマットを引き起こすための、一連のインスタンス化コマンドによって定義される。
【0004】
そのほか、「ツリー型ノードソフトウェアイメージ」(または、基準ベースのツリーイメージ)とは、オペレーティングシステムの存在下における、基準ノードに関するソフトウェア構成のスナップショットのことを表す。たとえば、Linux(登録商標)型オペレーティングシステムの場合、このイメージの内容は、Linuxファイルの階層ツリーに相当する。
【0005】
「旧式」のオペレーティングシステムに適合する、「旧式」に適応性のあるツリー型ノードソフトウェアイメージ向けに、稼働サービスノード全体の計算コンテキストを変更することを、スーパーコンピュータの管理者が望むこともある。その場合、管理者は、これらのサービスノード内に、新規オペレーティングシステムに適合し、新規計算コンテキストに対応する、新規ノードツリー型ソフトウェアイメージを設定しなくてはならない。そのために、Ksis(BULL SAS社販売)などの展開(deployment)ツールが利用され得る。
【0006】
ここに、Ksisは、Linuxソフトウェアイメージを取得し、そのスナップショットを膨大な数のサービスノード上に展開するよう、特別に構成されたものであることが想起される。
【0007】
このような展開を実行する方法はいくつか存在するが、その中の1つは、以下の動作を含むものである:
− 選択されたサービスノードを再起動する(たとえば、PXE(またはGPXE)、およびDHCP要求を介して行う)。
− 選択されたサービスノードの各々において、小型組込式オペレーティングシステムを設定する。
− 選択されたサービスノードの各々が持つストレージドライブの各々をトリガおよび準備する(パーティション分割およびフォーマットを介して行う)。
− チェーン処理に応じた新規ツリー型ノードソフトウェアイメージを、選択されたすべてのサービスノードに展開する。
− 使用している通信ネットワークにおいて、選択されたサービスノードのロス、および/または障害が発生した場合に、チェーンを処理する。
− 選択されたすべてのサービスノードをアクセス可能なものにする、基本構成を設定する。
− 検出されたエラー、実行された分析、および展開に関し、管理ノードに報告するフィードバックを提供する。
【0008】
なお、上記の動作はすべて、選択された全サービスノードにおいて同期する形で実行される必要があり、独立したものとはなり得ないため、それらの監視は容易ではない。さらに、サービスノードストレージドライブの準備ステップは極めて早期に行われるため、以下の動作のうちの1つが、選択されたサービスノードにおいて正しく実行されない場合(たとえば、メモリスペース内やストレージドライブまたはハードウェア上で問題が発生するなど)、当該サービスノードの先行編成は失われ、よって非稼働状態となる。
【発明の概要】
【発明が解決しようとする課題】
【0009】
したがって、本発明の目的は、とりわけ、スーパーコンピュータの管理者が、新規ツリー型ソフトウェアイメージの展開動作をより容易かつ快適に制御できるようにすることにより、上記の状況を改善することにある。
【課題を解決するための手段】
【0010】
以上のことから、かかる目的のため、本発明は、それぞれが少なくとも1つのストレージドライブおよび揮発性メモリスペースを備えるとともにスーパーコンピュータの一部を形成するサービスノード内のオペレーティングシステムの変更を制御することを可能にするための制御方法を主に提案する。この方法には、以下のステップが含まれる:
− 選択されたサービスノードに対し、インストールされることになる新規オペレーティングシステムの縮小版と、起動カーネルと、これらの選択されたサービスノードにインストールするインスタンス化定義を含む、いわゆる基準ツリー型ソフトウェアイメージと、同基準イメージを選択された各サービスノードへと局所的にインストールできる初期化モジュールとを定義する、ステップ(i)。
−
選択されたサービスノード
に向けて、基準イメージと、起動カーネルと、初期化モジュールと、定義された縮小版と
が転送される、ステップ(ii)。
− 起動カーネルが、選択された各サービスノードへと転送され、転送された縮小版を利用して転送された基準イメージを局所的にインストールするためにともにノードに転送された初期モジュールを起動する、ステップ(iii)。
【0011】
スーパーコンピュータのサービスノードがアクセス可能であるという事実を考慮すれば望ましいときに「自律」展開がやはり実行される可能性もある。
【0012】
本発明による方法は、独立的または組合せにより組み込むことが可能な他の特徴も備え得る。それらの特徴は、とりわけ以下のような形で組み込まれる:
− 第1の実施形態では、ステップ(ii)において、基準イメージ、起動カーネル、初期化モジュール、および定義された縮小版の集合が、選択されたサービスノードへと転送可能であり、続くステップ(iii)において、各サービスノードに転送された起動カーネルが、ともに転送された初期化モジュールを実行する。
− 第2の実施形態では、ステップ(ii)において、基準イメージがまず選択されたサービスノードに転送され、次いで、
起動カーネルと、縮小版と、起動カーネルによってトリガされた後に局所的かつ自動的に局所的インストールを実行するように定義された初期化モジュールとを
、スーパーコンピュータの管理ノードからダウンロードすることを
、サービスノードに対し命令する
トリガメッセージが選択されたサービスノードの各々に転送される。
− ステップ(iii)において、各初期化モジュールは、その選択されたサービスノードの揮発性メモリにおいて、転送された基準イメージの記憶専用となるストレージ領域を予約することができ、次いで、転送された基準イメージをこのストレージ領域にロードすることができ、次いで、転送された基準イメージに含まれるインスタンス化定義に従ってそのサービスノードをインスタンス化するためだけの一連のコマンドをトリガし、次いで、そのサービスノードの再起動をトリガすることができる。
【0013】
ステップ(iii)において、再起動をトリガする前、各初期化モジュールは、そのサービスノードのストレージドライブ上で基準イメージのストレージを制御することができる。
【0014】
同様に、本発明は、それぞれが少なくとも1つのストレージドライブおよび揮発性メモリを備え、スーパーコンピュータの一部を形成するサービスノード内のオペレーティングシステムの変更を制御するために、上で提示した型の制御方法を、処理手段による実行時に実施可能な命令セットを含む、コンピュータプログラム製品を提案する。
【0015】
本発明はまた、それぞれが少なくとも1つのストレージドライブおよび揮発性メモリを備えスーパーコンピュータの一部を形成するサービスノード内のオペレーティングシステムの切換えを制御するための構成であって、インストールする新規オペレーティングシステムの縮小版と、起動カーネルと、この新規オペレーティングシステムに適合し選択されたサービスノードにインストールするインスタンス化定義を含むいわゆる基準ツリー型ノードソフトウェアイメージと、転送された起動カーネルによる起動後に転送された縮小版を用いて転送された基準イメージを局所的にインストールする専用初期化モジュールとの、選択されたサービスノードへの転送を制御する監視手段を含む構成も提案する。
【0016】
同様に、本発明は、それぞれが少なくとも1つのストレージドライブおよび揮発性メモリスペースを有するサービスノードと、上述した型の監視構成とを備える、スーパーコンピュータも提案する。
【0017】
本発明が持つ、その他の特徴や利点は、以下の詳細な説明、および図面を検討することによって明らかとなろう。
【発明を実施するための形態】
【0019】
本発明は、制御方法、および、それに関連する監視構成Dを提供することを主な目的としている。これらは、管理ノードNGを等しく備えたスーパーコンピュータCHPのN
ijサービスノードにおいて、オペレーティングシステムの切換制御を可能にするためのものである。
【0020】
図1には、スーパーコンピュータCHPの非限定的実施例が、概略的に示されている。この実施例では、スーパーコンピュータCHPの5つのサービスノードN
ijが、N個の高可用性(HA)グループG
i(ただし、i=1からN)にグループ化されている。(高可用性)グループG
iの各々は、M(i)個のサービスノードN
ij(ただし、j=1からM(i))を含んでいる。検討されるG
iグループがどれであっても(すなわち、指数iの値がいくつであっても)、たとえばNは等しく10となり、M(i)は等しく500となる。しかし、ノードN
ijの数は、あるグループG
iと、別のグループG
iとでは、異なる可能性がある。また、グループG
iの数Nは、1以上の任意の値をとり得る。同様に、グループG
iのノードN
ijの数M(i)は、3以上の任意の値をとり得る。
【0021】
たとえば、(サービス)ノードN
ij、またはグループG
iは、少なくとも1つの通信ネットワーク(たとえば、インターネット)を介して、相互に、かつ管理ノードNGと、結合され得る。
【0022】
ノードN
ijの各々は可用リソースを持ち、このリソースは高可用性(HA)ソフトウェアの制御のもと、そのグループG
iに属する別のノードNij(j’≠j)と共有されるのが通例である。CHPコンピュータ、または同CHPコンピュータ上で動作中のアプリケーションにとって有用な構成可能サービスに関していえば、これらのリソースは、どのようなタイプのものであってもよい。
【0023】
また、各ノードN
ijは、少なくとも1つのストレージドライブDSおよび揮発性メモリMV(たとえば、ランダムアクセスメモリ(RAM)型のもの)を備えている。加えて、各ノードN
ijは、オペレーティングシステムに適合した、ツリー型ノードソフトウェアイメージに従って動作するようにインスタンス化される。結果、各ノードN
ijは、稼働状態にあるとみなされる。このソフトウェアイメージ(ツリー型ノード)は、インスタンス化された後、オペレーティングシステムを構成するとともに、各ノードN
ijが持つ、揮発性メモリMVに記憶(ロード)されるものであるということに留意されたい。
【0024】
オペレーティングシステムは、アプリケーションソフトウェアとハードウェアの間のインタフェースを確保するためにロードされることを想起されたい。
【0025】
管理ノードNGは、ノードN
ijのリソースを構成することを意図した、構成ツールOCを優先的に備えている。以下の非限定的実施例において、この構成ツールOCは、Kconf(BULL SAS社販売)であるものとする。
【0026】
上述したとおり、本発明は、コンピュータCHPが選択したノードN
ijにおける、オペレーティングシステムの変更を制御するための方法を提案するものである。たとえば、この切換えには、コンピュータCHPのすべてのノードN
ijが関連する可能性もある。第1の変形形態では、少なくとも1つのグループG
iに属する、すべてのノードN
ijが、この切換えに関連し得る。第2の変形形態では、この切換えに関連し得るノードは、少なくとも1つのグループG
iに属する、一部のノードN
ijのみとなる。
【0027】
この方法には、第1(i)、第2(ii)、および第3(iii)のステップが含まれる。本発明によれば、少なくとも第2のステップ(ii)は、監視構成Dに関連したものとなり得る。
【0028】
図1に描かれた非限定的実施例において、監視構成Dは、管理ノードNGの一部、より正確には、後者(OC)の展開モジュールMD(ここではKsis)を形成している。ただし、このことは必須ではない。実際、監視構成Dは、管理ノードNGの外部にありながら、たとえばコンピュータ接続を介して後者(CHP)がアクセス可能な機器であってよい。結果、監視構成Dは、ソフトウェアモジュールの形態(よって、電子回路処理手段(ハードウェア)による実行時に、制御方法の少なくとも一部を実装することが可能な命令セットを含む、コンピュータプログラム製品となし得る)、および、ソフトウェアモジュールまたは電子回路の組合せの形態のいずれかにおいて、実現することが可能となる。
【0029】
本発明による方法の第1のステップ(i)の間、コンピュータCHPの管理者が承認した個人は、選択されたサービスノードN
ijに対し、新規オペレーティングシステムの縮小版VRを定義する。このことは、起動カーネルNAと、同新規オペレーティングシステムに適合し、選択されたこれらのノードN
ijにインストールするためのインスタンス化定義を含む、基準ツリー型ノードソフトウェアイメージIRと、この基準イメージIRを選択された各N
ijノードへと局所的にインストールするためだけの、初期化モジュールMLとをインストールするために行われる。
【0030】
(本発明による)基準イメージIRが、(典型的な)ツリー型ノードソフトウェアイメージに加えて、選択されたN
ijノードにインストールすることが必須のインスタンス化定義を含んでいるという事実によって、前者は後者と差別化されるということに着眼することが重要である。
【0031】
つまり、新規オペレーティングシステムの存在下で選択された新規N
ijノード構成のスナップショットに対し、選択されたN
ijノードを準備すること、特に、同選択されたN
ijノードのストレージドライブDSの選択されたパーティション分割を引き起こすことを意図した、一連のインスタンス化コマンドが追加される。
【0032】
この新規オペレーティングシステムは、たとえば、Linux、または特定バージョンのLinuxとすることができる。
【0033】
起動カーネルNAは、関連づけられたML初期化モジュールをロード(または実行)するプログラムである。
【0034】
新規オペレーティングシステムの縮小版VRは、初期化モジュールMLが関連づけられた基準イメージIRをロードし転送先となる選択されたN
ijノードをインスタンス化するためのコマンドの集合である。この集合は、たとえば、約100のコマンドを含み得る。
【0035】
初期化モジュールMLは、ロードされ、関連づけられた起動カーネルNAによって実行されたときに関連づけられた縮小版VRを用いての転送先となる選択されたN
ijノードに基準イメージIRをインストールするコンピュータプログラムである。
【0036】
たとえば、
図1に描かれた非限定的なものとして、縮小版VR、起動カーネルNA、基準イメージIR、および初期化モジュールMLは、構成ツールOCのメモリスペース内に記憶することが可能であり、最終的に、展開モジュールMD(または制御デバイスD)の部分を形成する。管理ノードNGは、縮小版VR、起動カーネルNA、基準イメージIR、および初期化モジュールMLに関する定義を設計および最適化することを(スーパーコンピュータCHPの管理者が承認した)個人に可能にさせ得るマンマシンインタフェース(MMI)(ここでは図示せず)を含むことに留意されたい。同じく、制御デバイスDはこのマンマシンインタフェースを介してこれらの定義のかかる設計および最適化を管理するように構成され得ることにも留意されたい。
【0037】
本発明による方法の第2のステップ(ii)の間、ステップ(i)で定義した、基準イメージIR、起動カーネルNA、初期化モジュールML、および縮小版VRが、選択された(サービス)ノードN
ijへと転送される。
【0038】
この転送は、少なくとも2つの異なる方法によって実行することが可能である。
【0039】
第1の方法は、ステップ(i)で定義した、選択されたN
ijノードの各々に、基準イメージIR、起動カーネルNA、初期モジュールML、および縮小版VRの集合を転送することを含む。この転送は、管理ノードNGによってトリガされ、制御デバイスDの制御手段MCにより、スーパーコンピュータCHPの管理者の要求で制御される。
【0040】
第2の手段は、選択されたN
ijノードの各々に基準イメージIRのみを転送
することで開始され、次い
で、定義済みかつ転送された基準イメージIRに関連づけられ
た、起動カーネルNA、縮小版VR、および初期化モジュールML
を、管理ノードNGからダウンロードを命令するトリガメッセージを
選択されたNijノードの各々に向けて送信するこ
とを含む。これら2つの転送は、時間的に延期されてよく、管理ノードNGによってトリガされ、制御デバイスDの制御手段MCによりスーパーコンピュータCHPの管理者の要求で制御されるものであってよい。
【0041】
たとえば、トリガメッセージは、同メッセージを受信するN
ijノードにおいて、管理ノードNGを用いたダウンロードを編成するネットワーク型PXE(またはGPXE)起動プログラムを自動的にトリガする。
【0042】
各転送は、たとえば、Ksis展開モジュールにおいて規定された≪ksis copy≫コマンドを介して実行することができる。とはいえ、通信ネットワーク全体を通じて、ほかのLinuxコピー型コマンドが用いられてもよい。
【0043】
基準イメージIRは、選択されたN
ijノードへと転送された後、後者(N
ij)のハードドライブDSに記憶される。さらに、起動カーネルNA、縮小版VR、および初期化モジュールMLが選択されたN
ijノードに転送された後、それらは、後者(N
ij)の揮発性メモリMVに記憶される。
【0044】
本発明による方法のステップ(iii)の間、起動カーネルNAは、選択された各サービスノードN
ijに転送され、後者(N
ij)に転送された初期化モジュールMLを起動して、転送された縮小版VRを利用することにより転送された基準イメージIRを局所的にインストールする。
【0045】
この初期化モジュールMLの局所的利用のトリガはこの初期化モジュールMLが関連づけられた起動カーネルNAと同時に選択されたN
ijノードの揮発性メモリMVに記憶されるとすぐさま自動的に実行されてよい。
【0046】
たとえば、ステップ(iii)において、各初期化モジュールMLは、転送された基準イメージIRおよびその選択されたN
ijノードの揮発性メモリMV内の依然として利用可能なストレージ容量を分析することにより、この揮発性メモリ内で基準イメージIRを記憶するストレージ領域を予約するために開始することができる。次いで、この初期化モジュールMLは、基準イメージIRをこのストレージ領域にロードすることができる。その後、この初期化モジュールMLは、そのN
ijノードをこの基準イメージIRに含まれるインスタンス化定義に従ってインスタンス化するための一連の固有コマンドをトリガすることができる。このようにするために、初期化モジュールMLは、揮発性メモリMVにロードされた状態の縮小版VRに含まれるコマンドを利用する。このことは、特に、ストレージドライブDSのパーティション分割、および後者のフォーマットを引き起こす。
【0047】
インスタンス化動作は、ほとんどが最後に実行されるものであり、それ以前に問題が発生した場合、N
ijノードは、まだアンインストールされていない、旧い基準イメージを用いて動作し続けているために、非稼働とはならない。
【0048】
インスタンス化が正しく実行されている場合、初期化モジュールMLは、そのN
ijノードの再起動をトリガすることにより、新規オペレーティングシステムに適合した、新たにインストールされた基準イメージIRに従って動作する。
【0049】
ステップ(iii)において、再起動をトリガする前に、各初期化モジュールMLが、基準イメージIR(圧縮版となることもある)の全ストレージを、そのN
ijノードのストレージドライブDS上でチェックし、それにより、この新規基準イメージIRのインストールにおいてエラーが発生した場合、その転送を再スタートさせることを強いられないようにする(この場合、縮小版VRの起動カーネルNAおよび関連づけられた初期化モジュールMLの転送を再スタートさせるか、ストレージドライブDSに記憶された旧い基準イメージを再インストールして正しい動作を可能にすれば十分である)ことが好ましい。各初期化モジュールMLは、旧い基準イメージ(圧縮版となることもある)のストレージを、そのN
ijノードのストレージドライブ上でチェックし得ることにも留意されたい。
【0050】
図2には、本発明による制御方法の例を実装するアルゴリズムの一例が概略的に示されている。
【0051】
同アルゴリズムはサブステップ10を含み、このステップにおいて、個人は、選択されたサービスノードN
ijに対し、インストールする新規オペレーティングシステムの縮小版VRと、起動カーネルNAと、この新規オペレーティングシステムに適合し、これらのノードN
ijにインストールするインスタンス化定義を含む、基準イメージIRと、同基準イメージIRを選択された各ノードN
ijへと局所的にインストールするためだけの初期化モジュールMLとを定義する。次いで、この縮小版、起動カーネルNA、基準イメージIR、およびこの初期化モジュールは、たとえば、コンピュータCHPの管理ノードNGに記憶される。
【0052】
ここに、同サブステップ10は、本発明による制御方法のステップ(i)を構成する。
【0053】
同アルゴリズムは継続し、サブステップ20において、(制御デバイスDの制御下にある管理ノードNGは)選択されたN
ijノード内に(1または2フェーズで)サブステップ10で定義された、基準イメージIR、起動カーネルNA、初期化モジュールML、および縮小版VRを転送する。
【0054】
ここに、同サブステップ20は、本発明による制御方法のステップ(ii)を構成する。
【0055】
その後、サブステップ30において、起動カーネルが、選択された各N
ijノードに転送され、縮小版VRを利用することにより転送された基準イメージIRを局所的にインストールするためにノードへと転送された初期化モジュールMLを起動する。
【0056】
最後に、サブステップ40において、各初期化モジュールMLが、そのN
ijサービスノードの再起動をトリガする。
【0057】
ここに、サブステップ30および40は、本発明の制御方法のステップ(iii)を構成する。
【0058】
なお、本発明は、管理者が、転送されたさまざまな基準イメージから、所与の瞬間に実際に設定したいイメージを選択することを可能にするために、いくつかの基準イメージのいくつかのサービスノードへの転送を可能にするものである。また、管理者が転送の実行を決定する瞬間は、ノードを結合する通信ネットワークが所望のセキュリティコンテキストに関してパフォーマンスのピークにある場合となり得る。さらに、転送された基準イメージの1つを設定するということは、コンピュータCHPのタスク実行と同時に有効化され得る。加えて、本発明が提供する自律展開は、管理者が選択した任意の時間に、先行する基準イメージの容易な再インストールを可能にする。
【0059】
本発明は、例示のみを目的にこれまで記述した、制御方法、制御デバイス、およびスーパーコンピュータに、本発明自身を限定するものではない。むしろ、以下の特許請求の範囲が持つ枠組み内で、当業者の予見し得る変形形態の一切を、事実上、その対象とするものである。