(57)【要約】【課題】ノード数が4個以上のクラスタ型計算機システムにおいて、障害発生時に主記憶あるいはキャッシュに蓄えられたデータを失うことなく処理を速やかに継続する。【解決手段】4個以上のノードで構成されたクラスタ型計算機システムであって、すべてのノードを結合する第1の種類のノード間ネットワークと、各ノードを2個ずつ結合する第2の種類のノード間ネットワークを備え、前記第2の種類のノード間ネットワークを、障害発生時に障害が生じたノードで行われていた処理を、該第2の種類のノード間ネットワークで結合されている他方のノードへ引き継ぐための情報通信に専ら用いる。【効果】障害発生時に、処理の引継ぎ先のノードをあらためて検索することなく、高速に処理の引継ぎを行うことができる。また通常動作時に主記憶の書き込みデータを複製しておくことができ、障害発生時に、主記憶上のデータを引き継いできめの細かい処理の引継ぎができる。【選択図】  図１
2004192482.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが演算処理を実行する計算機であるノード4個以上と、前記すべてのノードを結合する第1の種類のノード間ネットワークと、前記ノードを2個ずつ結合する第2の種類のノード間ネットワークからなるクラスタ型計算機システムであって、前記第2の種類のノード間ネットワークを、障害発生時に障害が生じたノードで行われていた処理を、該第2の種類のノード間ネットワークで結合されている他方のノードへ引き継ぐための情報通信に専ら用いることを特徴とするクラスタ型計算機システム。
【請求項２】
前記ノードのそれぞれが、前記各ノード内の演算処理に必要な情報を蓄える主記憶を備え、前記第2の種類のノード間ネットワークによる情報通信として、該第2の種類のノード間ネットワークで結合された2個の前記ノードが前記主記憶の書き込み情報を互いに通信し合うことを特徴とする請求項１に記載のクラスタ型計算機システム。
【請求項３】
前記第2の種類のノード間ネットワークによる情報通信が障害が発生していない時に行われ、障害が発生した時には、障害が発生した前記ノードと該第2のノード間ネットワークで結合された前記ノードが、該第2の種類のノード間ネットワークで何ら情報通信を行うことなく、速やかに該障害が発生した前記ノードで行われていた処理を引き継ぐことを特徴とする請求項1に記載のクラスタ型計算機システム。
【請求項４】
請求項１に記載のクラスタ型計算機システムであって、障害発生時に該障害が発生した前記ノードを正常な新しいノードに交換した後、該第2の種類のノード間ネットワークによって、該第2の種類のノード間ネットワークで結合された他方の前記ノードから演算処理を再開するために必要な情報が送信されることを特徴とするクラスタ型計算機システム。
【請求項５】
請求項２に記載のクラスタ型計算機システムであって、前記主記憶が、該主記憶が備えられた前記ノードで行われている処理のデータを読み書きする第1の記憶手段と、前記第2の種類のノード間ネットワークによって結合されたもう一方の前記ノードで行われている処理による書き込みデータを格納する第2の記憶手段を備えることを特徴とするクラスタ型計算機システム。
【請求項６】
ディスクドライブ１個以上と、前記ディスクドライブから読み出したデータや前記ディスクドライブへ書き込むためのデータを一時的に蓄えておくキャッシュを備えるキャッシュノード2個以上と、前記ディスクドライブと接続され、前記ディスクドライブの制御を行うディスクアダプタノード1個以上と、前記キャッシュノードと前記ディスクアダプタノードのすべてを結合する第1の種類のネットワークと、前記キャッシュノードを2個ずつ結合する第2の種類のネットワークとからなるクラスタ型ストレージシステムであって、前記第2の種類のネットワークを前記キャッシュノード間で書き込みデータを互いにバックアップするために専ら用いることを特徴とするクラスタ型ストレージシステム。
【請求項７】
請求項６に記載されたクラスタ型ストレージシステムであって、さらに前記ディスクアダプタノードを2個以上備え、かつ前記ディスクアダプタノードを2個ずつ結合する第3の種類のネットワークを備え、更に前記おのおののディスクアダプタノードは、前記ディスクドライブを管理及び制御するための情報を記憶するディスク管理情報記憶手段を備え、前記第3の種類のネットワークを、前記ディスクアダプタノード間で互いに前記ディスク管理情報記憶手段によって記憶された前記ディスクを管理及び制御するための前記情報をバックアップすることに専ら用いることを特徴とするクラスタ型ストレージシステム。
【請求項８】
前記第2の種類のネットワークで行われる前記キャッシュノード間での書き込みデータのバックアップが、障害が発生していない時に、前記第2の種類のネットワークで2個ずつ結合された前記キャッシュノードが、互いに前記書き込みデータを他方の前記キャッシュノードに送信し合うことで行われることを特徴とする請求項６に記載のクラスタ型ストレージシステム。
【請求項９】
請求項６に記載のクラスタ型ストレージシステムであって、前記キャッシュノードのいずれかにおいて障害が発生した時に、該障害が発生した前記キャッシュノードを正常な新しいキャッシュノードと交換した後、該第2の種類のネットワークによって、該第2の種類のネットワークで結合された他方の前記キャッシュノードから、バックアップされた前記書き込みデータが送信されることを特徴とするクラスタ型ストレージシステム。
【請求項１０】
前記第3の種類のネットワークで行われる前記ディスクアダプタノード間での前記ディスク管理情報のバックアップが、障害が発生していない時に、前記第3の種類のネットワークで2個ずつ結合された前記ディスクアダプタノードが、互いに該ディスク管理情報を更新した情報を他方の前記ディスクアダプタノードに送信し合うことで行われることを特徴とする請求項７に記載のクラスタ型ストレージシステム。
【請求項１１】
請求項７に記載のクラスタ型ストレージシステムであって、前記ディスクアダプタノードのいずれかにおいて障害が発生した時に、該障害が発生した前記ディスクアダプタノードを正常な新しいディスクアダプタノードと交換した後、該第3の種類のネットワークによって、該第3の種類のネットワークで結合された他方の前記ディスクアダプタノードから、バックアップされた前記ディスク管理情報が送信されることを特徴とするクラスタ型ストレージシステム。
【請求項１２】
請求項８に記載のクラスタ型ストレージシステムであって、前記キャッシュノードに備えられた前記キャッシュが、該キャッシュが備えられた前記キャッシュノードで行われた処理によるデータを読み書きする第1のキャッシュ手段と、前記第2の種類のネットワークで結合されたもう一方の前記キャッシュノードの書き込みデータを格納する第2のキャッシュ手段を備えることを特徴とするクラスタ型ストレージシステム。
【請求項１３】
請求項１０に記載のクラスタ型ストレージシステムであって、前記おのおののディスクアダプタノードにおいて、前記ディスク管理情報記憶手段が、該ディスク管理情報記憶手段が備えられた前記ディスクアダプタノードにより管理及び制御される前記ディスクドライブの前記ディスク管理情報を読み書きする第1の管理情報記憶手段と、前記第３の種類のネットワークで結合されたもう一方の前記ディスクアダプタノードにより管理及び制御される前記ディスクドライブの前記ディスク管理情報を更新した情報を格納する第2の管理情報記憶手段を備えることを特徴とするクラスタ型ストレージシステム。
【請求項１４】
請求項８に記載のクラスタ型ストレージシステムであって、上位装置からの書き込み要求に対し、前記第2の種類のネットワークによる書き込みデータの送信が完了し、該書き込みデータが前記第2の種類のネットワークによって結合された2個の前記キャッシュノードの双方の前記キャッシュに格納されたことが確認された後に前記上位装置に書き込み完了が報告されることを特徴とするクラスタ型ストレージシステム。
【請求項１５】
それぞれが演算処理を実行する複数のノードと、
前記複数のノード間を相互に結合する第１の種類のネットワークと、
前記複数のノードを２個ずつ結合する複数の第２の種類のネットワークを備え、前記複数のノードのうち第１のノードの処理を、前記第２の種類のネットワークで前記第１のノードと結合された第２のノードに、上記第１および第２のノードを結合する上記第２のネットワークを介した通信によって引き継ぐことを特徴とするクラスタ型計算機システム。
【請求項１６】
前記複数のノードは、それぞれがメモリとプロセッサを備えた計算機であることを特徴とする請求項１５記載のクラスタ型計算機システム。
【請求項１７】
一または複数のディスクドライブと、
前記ディスクドライブと接続された複数のディスクアダプタと、
前記複数のディスクアダプタと第１のネットワークを介して接続された複数のキャッシュメモリを備え、
前記複数のディスクアダプタはそれぞれが、該ディスクアダプタに接続された一または複数の上記ディスクドライブの制御を行い、
前記複数のキャッシュメモリは、前記一または複数のディスクドライブから読み出したデータや前記一または複数のディスクドライブへ書き込むデータを一時的に蓄え、
さらに、前記複数のキャッシュメモリは、２つずつそれぞれ第２の種類のネットワークを介して接続されているクラスタ型ストレージシステムであって、
前記複数のキャッシュメモリのうち第１のキャッシュメモリの処理を、該第１のキャッシュメモリと上記第２のネットワークを介して接続された第２のキャッシュメモリへ、上記第１および第２のキャッシュメモリを結合する上記第２のネットワークを介した通信によって引き継ぐことを特徴とする請求項１８記載のクラスタ型ストレージシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クラスタ型計算機システム及びクラスタ型ストレージシステムに関し、特にノード間のフェイルオーバ及びデータのバックアップを行う構成に関する。
【０００２】
【従来の技術】
従来、各ノードをネットワークで結合して構成したクラスタ型情報処理システムでは、
あるノードで障害が発生した時、そのノードの処理を速やかに引き継ぐことは困難であった。この点に関しては、現用系のノードに対して、予備系として動作するノードを設け、現用系の障害発生時に専用のデータ送信手段及びデータ受信手段で現用系の主記憶の情報を予備系に送信する技術が提案されている（例えば、特許文献１参照。）。しかし、このような技術では、予備系専用のノードを現用系とは別に設ける必要があり、さらに予備系での障害発生には対応できない。また、この特許文献１に記載された技術では障害発生時に初めて主記憶のデータを転送するので処理再開までに時間がかかり，更には障害が発生した状態でデータ転送を行うので不安定な場合もあり得る。
また、クラスタ型情報処理システムのそれぞれのノードが主記憶とプロセッサを備える計算機である場合、あるノードで障害が発生した時、他のノードで引き継げる情報に大きな制限があった。この点に関しては、例えば、ノード間で共有されている補助記憶装置に格納されている情報を引き継ぐ技術（例えば、特許文献２参照。）や、ローカルディスクの書き込みを互いに専用線を用いて複写する技術（例えば、特許文献３参照。）が提案されている。しかし、このような技術では主記憶の情報を引き継ぐことはできないので、障害発生時に主記憶の情報に基づき障害が発生した時点のシステムの内部状態を復元して、当該処理を切れ目なく継続させるような，きめ細やかな処理の引継ぎが困難であり、一部のデータが失われたり、一部の処理を再度実行しなければならない可能性がある。
また、クラスタ型構成を取る情報処理システムとしては、他に近年では多数のディスクを制御・管理するストレージシステムがある。ストレージシステムでは、一般の計算機システムの主記憶の代わりに各ノードにおいてディスクに読み書きするデータを一時的に蓄えるキャッシュが備えられている。このキャッシュに書き込まれたデータもあるノードで障害が発生した時には他のノードに引き継ぐ必要があるが、速やかにこの引継ぎを行わせるのは困難であった。この点に関しては、ノード間で書き込みデータを互いに保持する技術が開示されている（例えば、特許文献４参照。）。しかし、この技術ではノード数が3個または4個以上となった場合には、引き継ぐ先のノードが特定されず、速やかに処理を引き継ぐこと
が困難であった。
【特許文献１】
特開２００１−２９０６７０号公報
【特許文献２】
特開平８−２２３９８号公報
【特許文献３】
特開２００１−１０９６４２号公報
【特許文献４】
特開２００１−３１８７６６号公報
【０００３】
【発明が解決しようとする課題】
本発明は、クラスタ型計算機システム及びクラスタ型ストレージシステムにおいてノード数が4個以上の時に障害発生時の処理の引継ぎを速やかに行うことを課題とする。また主記憶あるいはキャッシュに蓄えられた書き込みデータを、ノード数が4個以上の時にも、障害発生時に何ら失うことなく処理を継続することを課題とする。
【０００４】
【課題を解決するための手段】
本発明によるクラスタ型計算機システムでは、上記の課題を解決するために、それぞれが演算処理を実行する計算機であるノード4個以上と、
前記すべてのノードを結合する第1の種類のノード間ネットワークと、
前記ノードを2個ずつ結合する第2の種類のノード間ネットワークを備え、
前記第2の種類のノード間ネットワークを、障害発生時に障害が生じたノードで行われていた処理を、該第2の種類のノード間ネットワークで結合されている他方のノードへ引き継ぐための情報通信に専ら用いることを特徴とする。
【０００５】
また、前記ノードのそれぞれが、各ノード内の演算処理に必要な情報を蓄える主記憶を備え、
前記第2の種類のノード間ネットワークによる情報通信として、該第2の種類のノード間ネットワークで結合された2個のノードが前記主記憶の書き込み情報を互いに通信し合うことを特徴とする。
【０００６】
また本発明によるクラスタ型ストレージシステムでは、
１個以上のディスクドライブと、
前記ディスクドライブから読み出したデータや前記ディスクドライブへ書き込むためのデータを一時的に蓄えておくキャッシュを備えるキャッシュノード2個以上と、
前記ディスクドライブと接続し制御を行うディスクアダプタノード1個以上と、前記キャッシュノードと前記ディスクアダプタノードのすべてを結合す第1の種類のネットワークと、
前記キャッシュノードを2個ずつ結合する第2の種類のネットワークを備え、
前記第2の種類のネットワークが前記キャッシュノード間で書き込みデータを互いにバックアップするために専ら用いることを特徴とする。
また、前記ディスクアダプタノードを2個以上備え、
かつ前記ディスクアダプタノードを2個ずつ結合する第3の種類のネットワークを備え、
更に前記おのおののディスクアダプタノードは、前記ディスクドライブを管理及び制御するための情報を記憶するディスク管理情報記憶手段を備え、
前記第3の種類のネットワークは前記ディスクアダプタノード間で互いに他のディスクアダプタノードのディスク管理情報記憶手段によって記憶された前記ディスクを管理及び制御するための情報をバックアップすることに専ら用いることを特徴とする。
【０００７】
【発明の実施の形態】
本発明の実施の形態を例により説明する。
【０００８】
図１は、本発明によるクラスタ型計算機システムの実施の形態の例である。図1では8個のノード10a〜10hがそれぞれ信号線102a〜102hによってスイッチ回路11に接続されている。通常のクラスタ型計算機システムとしてのデータ通信は、この信号線102a〜102hとスイッチ回路11によって各ノード10a〜10hが信号を伝達し合うことにより、行われる。さらにノード10a〜10hは、2個ずつ信号線101a〜101dによって接続されている。障害発生時に処理を信号線101a〜101dによって接続された一方のノードから他方のノードへ引き継ぐためのデータ通信は、この信号線101a〜101dによって行われる。
【０００９】
図2は、それぞれのノード20a〜20bが、CPU  210a〜210hと主記憶211a〜211hを備えている場合の、本発明によるクラスタ型計算機システムの実施の形態の例である。通常のクラスタ型計算機システムとしてのデータ通信は、信号線202a〜202hとスイッチ回路21によって行われる。また各ノード20a〜20hを2個ずつ接続する信号線201a〜201dは、各ノード内でそれぞれの主記憶211a〜211hに接続されている。各ノード20a〜20hは、通常動作時において、信号線201a〜201dにより主記憶211a〜211hに書き込まれたデータを互いに交換する。これにより障害発生時には、信号線201a〜201dによって接続された一方のノードから他方のノードへ速やかに処理を引き継ぐことが可能である。即ち、処理を引き継いだノードでは、すでにそのノードの主記憶に障害を生じた他方のノードの主記憶のデータを持っているので、障害発生時に改めて処理を引き継ぐためのデータ通信を行うことなく、直ちに障害が発生したノードで行われていた処理を引き継ぐことができる。
【００１０】
図３は、図２の本発明の実施の形態の例において、主記憶211a〜211hの部分を更に詳しく説明した例である。主記憶211a〜211hは、図3のように、メモリ制御回路301と二つのメモリ群302a及び302bから構成される。メモリ制御回路301は、自ノードのCPUと結合され、CPUからの信号によって、第1のメモリ群302aに対しデータの読み書きを行う。また信号線201a〜201dによって、もう一方のノード内のメモリ制御回路301に接続される。信号線201a〜201dによって接続された二つのメモリ制御回路301は、互いに自ノードのCPUより第1のメモリ群302aに対して行われたデータの書き込み操作を複製し、信号線201a〜201dにより交換する。即ち信号線201a〜201dを用いて、自ノードのCPUより書き込まれたデータを複製して送信し合う。信号線201a〜201dより送信された他方のノードのCPUの書き込みデータは、第2のメモリ群302bに書き込む。このように自ノードのCPUが読み書きを行うメモリ群302aと他方のノードのCPUの書き込みデータを書き込むメモリ群302bの二つのメモリ群を備えることにより、通常動作時に自ノードのCPUの主記憶に対する読み書きを妨げることなく、他方のノードの主記憶の書き込みデータを保持することができる。そして他方のノードの障害発生時には、他方のノードで行われていた処理を、自ノードのCPUと第2のメモリ群302bに格納された他方のノードの主記憶の書き込みデータを用いて、速やかに引き継いで開始することが可能である。このとき、引き継いだ他方のノードの処理は、第2のメモリ群302bに対してデータを読み書きすることで行う。これにより、自ノードで元から行われていた処理は第1のメモリ群302aを用いて、他方のノードより引き継いだ処理と互いに干渉することなく、継続することができる。なお、図3に示したメモリ群302aと302bの接続の形態は一例であり，図3に示した以外のメモリ群の構成も考えられる。
【００１１】
図４は、本発明によるクラスタ型ストレージシステムの実施の形態の例である。
図では、ホスト計算機に接続するキャッシュノード40a〜40hがそれぞれキャッシュメモリ411a〜411hを備える。またキャッシュノード40a〜40hは信号線402a〜402hによりスイッチ回路41に接続され、スイッチ回路41は更に信号線403a〜403hによってディスクアダプタノード42a〜42hに接続される。ディスクアダプタノード42a〜42hには、ディスクドライブ群43a〜43dが接続される。
【００１２】
キャッシュメモリ411a〜411hには、それぞれホスト計算機がディスクドライブ群43a〜43ｄから読み出したり、ディスクドライブ群43a〜43dに書き込んだりするためのデータを一時的に蓄える。また各キャッシュノード40a〜40hは2個ずつ信号線401a〜401dによって接続されており、それぞれのキャッシュメモリ411a〜411hは、互いに他方のキャッシュメモリに書き込まれたデータを信号線401a〜401dを通して複製して格納することで相互にバックアップし合う。即ち、信号線401a〜401dで接続された2個のキャッシュノードの一方に障害が発生しても、障害が発生したキャッシュノードにおいてディスクドライブ群43a〜43dに書き込むためにキャッシュメモリに格納されていたデータは、障害発生前に複製されて他方のキャッシュノードのキャッシュメモリにも格納されているので、障害が発生することによって何ら書き込むためのデータを失うことはない。障害が発生したキャッシュノードからディスクドライブ群43a〜43dに書き込む処理については、信号線401a〜401dで接続された他方のキャッシュノードに引き継がれて、複製されてそのキャッシュメモリに格納されているデータを使って継続して行われる。なお、ディスクドライブ群43a〜43dより読み出しただけで、書き換えられていないデータが障害が発生したキャッシュノードのキャッシュメモリに格納されていた場合は、障害発生時に再びディスクドライブ群43a〜43dから読み出せばよいので、複製して信号線401a〜401dで接続されている他方のキャッシュノードのキャッシュメモリに格納しておく必要はない。
【００１３】
ディスクアダプタノード42a〜42hは、それぞれディスク管理記憶412a〜412hを備える。通常動作時において、このディスク管理記憶412a〜412hはディスクドライブ群43a〜43dのうち、当該ディスクアダプタノード42a〜42hが管理及び制御の処理を行うディスクドライブに関するディスク管理情報が記憶される。またディスクアダプタノード42a〜42hは、2個ずつ信号線404a〜404dによって接続されており、それぞれのディスク管理記憶412a〜412hは、互いに他方のディスク管理情報を、信号線404a〜404dを通じて複製して格納することにより、相互にバックアップし合う。即ち、信号線404a〜404dで接続された2個のディスクアダプタノードの一方に障害が発生しても、障害が発生したディスクアダプタノードのディスク管理記憶に格納されていたディスク管理情報は、障害発生前に複製されて他方のディスクアダプタノードのディスク管理記憶にも格納されているので、障害が発生することによって何ら情報が失われることはない。また信号線404a〜404dによって接続された2個のディスクアダプタノードは、ディスクドライブ群43a〜43dのうち、同じディスクドライブ群に接続される構成をとる。これによって、障害が発生したディスクアダプタノードで行われていたディスクドライブの管理及び制御の処理は、信号線404a〜404dで接続された他方のディスクアダプタノードによって速やかに引き継がれ、そのディスク管理記憶に複製されて格納されているディスク管理情報を用いて継続して行われる。もし、障害発生時にこのようなディスク管理情報の複製がなければ、あらためてディスクドライブ群43a〜43dの状態を読み出してディスク管理情報を再構築する必要がある。またなんら情報が失われずディスク管理情報がディスクドライブ群43a〜43dの状態を読み出すだけで完全に再構築できるかどうかは、難しい場合も考えられる。例えば、ディスク管理情報のうち、論理的な管理単位である論理ドライブと物理的なディスクドライブの上のデータ領域の対応の情報は、ディスクドライブ上のデータそのものを読み出しただけではわからないので、再構築することができない。
図5は、図４のキャッシュノード40a〜40dの構成の例である。図のようにキャッシュ制御回路501と二つのメモリ群502a及び502bからなる。二つのメモリ群502aと502bが図4ではキャッシュメモリ411a〜hに該当する。キャッシュ制御回路はスイッチ回路41と信号線402a〜hによって接続され、スイッチ回路41及びその先に接続されたディスクアダプタノード42a〜42hを通じてディスクドライブ群43a〜43dよりデータを受け取り、第1のメモリ群502aに格納する。ホスト計算機からデータの読み出し要求があれば、第1のメモリ群502aに格納したデータを検索し、要求されたデータが既にあれば、当該データをホスト計算機に送り返す。もしなかった場合には、あらためて信号線402a〜402h、スイッチ回路41を通じてディスクアダプタノード42a〜42hに当該データの読み出し要求を送り、データを読み出させる。またホスト計算機よりデータの書き込み要求が来た場合には、書き込みデータを一旦第1のメモリ群502aに書き込む。このとき、更に信号線401a〜401dにより、信号線401a〜401dで接続された他方のキャッシュノード内の第2のメモリ群502bにも書き込みデータを複製して書き込む。この書き込みデータの信号線401a〜401dで接続された他方のキャッシュノードへの複製の書き込みが完了した時点で、ホスト計算機には書き込み完了を報告する。その後、第1のメモリ群502a内に格納されたデータ量が一定量を超えた、またはホスト計算機からの書き込みから適当な時間が経過したなどの契機で、第1のメモリ群502a内の書き込みデータを信号線402a〜402h、スイッチ回路41、ディスクアダプタノード42a〜42hを通じてディスクドライブ群43a〜43dに書き込む。
書き込みデータをディスクドライブ群43a〜43dに書き込む前に、当該キャッシュノードで障害が発生し、第1のメモリ群502のデータが読み出し不能になるなど、ディスクドライブ群43a〜43dへの書き込み処理が当該キャッシュノードからはできなくなった場合には、信号線401a〜401dで接続されていた他方のキャッシュノードにおいて当該書き込み処理を引き継ぐ。即ち、既にホスト計算機からの書き込みの時点において障害を生じたキャッシュノードの第1のメモリ群502aに書き込まれた書き込みデータは、信号線401a〜401dで接続された他方のキャッシュノード内の第2のメモリ群502bに複製されて格納されているので、この第2のメモリ群502bに格納された書き込みデータの複製を用いて、他方のキャッシュノードにおいて書き込み処理を引き継ぐ。他方のキャッシュノードでは、第2のメモリ群502bに格納された書き込みデータを読み出して、信号線402a〜402h、スイッチ回路41、ディスクアダプタノード42a〜42hを通じて、ディスクドライブ群43a〜43dに書き込みを行う。以上のように、一方のキャッシュノードで障害が発生しても、他方のキャッシュノードに複製された書き込みデータを用いて書き込み処理が継続されるので、ホスト計算機からの書き込みデータがキャッシュノードの障害により失われることはない。
図６は、図４のディスクアダプタノード42a〜42hの構成の例である。ディスクドライブ制御回路601と二つのメモリ602a及び602bからなる。二つのメモリ602a及び602bが、図4のディスク管理記憶412a〜412hの一つに該当する。ディスクドライブ制御回路601は、信号線404a〜dで2個ずつ接続されたディスクアダプタノードの他方のディスクアダプタノードのディスクドライブ制御回路と互いに接続される。またこのディスクドライブ制御回路はディスクドライブ群43a〜43dに接続されるが、このうち信号線404a〜404dで接続された2個のディスクドライブ制御回路は、ディスクドライブ群43a〜43dのうち、互いに同じディスクドライブ群に接続される。さらにディスクドライブ制御回路601は、信号線403a〜403hによってスイッチ回路41に接続される。
ディスクドライブ制御回路601は、信号線403a〜403hにより、スイッチ回路41を通じてキャッシュノード40a〜40hよりディスクドライブ群43a〜43dへのデータの読み出し要求及び書き込み要求を受け取る。要求を受け取ると、読み出し要求の場合には読み出しデータをディスクドライブ群43a〜43dより読み出して信号線403a〜403hを通じて返信し、書き込み要求の場合には書き込みデータを信号線403a〜403hを通じて受信してディスクドライブ群43a〜43dに書き込む。このとき、ディスクドライブ群43a〜43dのデータがどのようにキャッシュノードに読み出されたまたは書き込まれたかを管理するための管理情報を作成し、第1のメモリ602aに格納する。また同一の管理情報を複製し、信号線404a〜404dを通じて他方のディスクドライブ制御回路に送出して、他方のディスクドライブ制御回路に接続された第2のメモリ602bに格納する。この複製は、既に以前に格納したディスク管理情報があれば、その以前のディスク管理情報からの更新の差分を作成して送ってもよい。このように差分だけの送出にすれば、信号線404a〜404dを通じて送出する情報量を削減することも可能である。
ディスクアダプタノード42a〜42hにおいて障害が発生した時には、信号線404a〜404dで接続された他方のディスクアダプタノードがディスクドライブ群43a〜43dのうちの障害が発生したディスクアダプタノードで管理していたディスクドライブ群に関する処理を引き継ぐ。即ち、障害が発生したディスクアダプタノードで管理していたディスクドライブ群に関するディスク管理情報は、信号線404a〜404dで接続されていた他方のディスクアダプタノードの第2のメモリ602b内に格納されているので、第2のメモリ内に格納されたこのディスク管理情報を用い、他方のディスクアダプタノード内のディスクドライブ制御回路601によって処理が継続される。このとき、信号線404a〜404dにより互いに接続された2個のディスクアダプタノードは、ディスクドライブ群43a〜43dのうちの同じディスクドライブ群に接続されているので、ディスク管理情報だけを互いに複製して第2のメモリ602bに格納しておくだけで、処理の継続を行うことが可能となっている。
図７は、図１の実施の形態の例において、ノード10a〜hで障害が発生した場合、そのノードの復旧を行う手順を示した例である。図７において、まずステップ701では正常な新しいノードを別に用意して、障害が発生したノードと交換する。次にステップ702において、信号線101a〜dによって、他方のノードからデータを復元する。ステップ703において、新しいノードで処理を再開させる。
図８は、同様に図４の実施の形態の例において、キャッシュノード40a〜hでで障害が発生した場合、そのノードの復旧を行う手順を示した例である。図８において、まずステップ801では正常な新しいキャッシュノードを別に用意して、障害が発生したキャッシュノードと交換する。次にステップ802において、信号線401a〜dによって、他方のキャッシュノードからバックアップされたデータを復元する。ステップ803において、新しいキャッシュノードで処理を再開させる。
図９は、同様に図４の実施の形態の例において、ディスクアダプタノード42a〜hでで障害が発生した場合、そのノードの復旧を行う手順を示した例である。図８において、まずステップ901では正常な新しいディスクアダプタノードを別に用意して、障害が発生したディスクアダプタノードと交換する。次ぎにステップ902において、信号線404a〜dによって、他方のディスクアダプタノードからバックアップされたディスク管理情報を復元する。ステップ803において、新しいディスクアダプタノードで処理を再開させる。
図７から図９に示したような手順を取ることにより、本発明のそれぞれの実施の形態の例において、障害が発生して一旦処理が停止したノードを交換し、処理を再開させることが可能である。
【００１４】
【発明の効果】
本発明によるクラスタ型計算機システムでは、ノード数が4以上あっても2個ずつを接続する、障害時の処理の引継ぎのための専用の通信線(ネットワーク)を、すべてのノードを結合する通常のネットワークとは別に備えることにより、障害発生時に処理の引継ぎ先のノードをあらためて検索したりすることなく、高速に処理の引継ぎを行うことができる。また通常動作時に主記憶の書き込みデータを互いに複製しておくことにより、障害発生時に、発生した障害によってあるノードの主記憶がまったく利用できなくなっても、他方のノードの主記憶内に複製された書き込みデータを利用することにより、一部のデータが失われたりすることなく、障害が発生した時点のシステムの内部状態を復元して、当該処理を切れ目なく継続させるようなきめの細かい処理の引継ぎができる。また通常動作時の主記憶の書き込みの複製は、すべてのノードを接続する通常のネットワークとは別の専用の通信線を用いて行うので、通常動作時において、ノード間の通信処理になんらオーバーヘッドを生じない。
【００１５】
本発明によるクラスタ型ストレージシステムでは、キャッシュノードのノード数が4以上あっても、キャッシュノードを2個ずつ接続するキャッシュメモリへのホスト計算機からの書き込みデータを複製するための専用の通信線(ネットワーク)を、すべてのキャッシュノードを結合する通常のネットワークとは別に備えることにより、キャッシュノードの障害発生時にもホスト計算機からの書き込みデータを失うことはない。また通常動作時に書き込みデータを互いに複製しておくことにより、キャッシュノードの障害発生時には、専用の通信線で接続されていた他方のキャッシュノードにおいて、複製されて格納されていた書き込みデータを用いて、書き込み処理を速やかに引き継ぐことができる。またディスクアダプタノードのノード数が4以上あっても、ディスクアダプタノードを2個ずつ接続するディスク管理情報を互いに複製するための専用の通信線を、すべてのディスクアダプタを結合する通常のネットワークとは別に備えることにより、ディスクアダプタノードの障害発生時にも、ディスクを管理するための情報を何ら失うことはない。また通常動作時に書き込みデータを互いに複製しておくことにより、、ディスクアダプタノードの障害発生時には、専用の通信線で接続されていた他方のディスクアダプタノードにおいて、複製されて格納されているディスク管理情報を用い、ディスクドライブの状態をなんら再構築する処理を行うことなく、速やかに処理を継続することができる。
【図面の簡単な説明】
【図１】本発明によるクラスタ型計算機システムの実施の形態の例である。
【図２】本発明によるクラスタ型計算機システムの実施の形態の、より詳細な例である。
【図３】本発明によるクラスタ型計算機システムの実施の形態の例で用いられるノードの主記憶の構成の例である。
【図４】本発明によるクラスタ型ストレージシステムの実施の形態の例である。
【図５】本発明によるクラスタ型ストレージシステムの実施の形態の例で用いられるキャッシュノードの構成の例である。
【図６】本発明によるクラスタ型ストレージシステムの実施の形態の例で用いられるディスクアダプタノードの構成の例である。
【図７】本発明によるクラスタ型計算機システムの実施の形態の例においてノードの障害を回復する手順の例である。
【図８】本発明によるクラスタ型ストレージシステムの実施の形態の例においてキャッシュノードの障害を回復する手順の例である。
【図９】本発明によるクラスタ型ストレージシステムの実施の形態の例においてディスクアダプタノードの障害を回復する手順の例である。
【符号の説明】
10a〜10h、 20a〜20h.........  ノード
11、21、 41 ................  スイッチ回路
101a〜101d ................  処理継続のための信号線
102a〜102h、202a〜202h ....  通常処理のための信号線
201a〜201d ................  主記憶を複製するための信号線
210a〜210h .................  CPU
211a〜211h .................  主記憶
301 ........................  メモリ制御回路
302a、 302b .................  メモリ群
40a〜40h ...................  キャッシュノード
42a〜42h ...................  ディスクアダプタノード
43a〜43d ...................  ディスクドライブ群
401a〜401d .................  キャッシュメモリを複製するための信号線
402a〜402h、403a〜403h .....  通常処理のための信号線
404a〜404d .................  ディスク管理情報を複製するための信号線
411a〜411d .................  キャッシュメモリ
412a〜412d .................  ディスク管理記憶
501 ........................  キャッシュ制御回路
502a、 502b .................  メモリ群
601 ........................  ディスクドライブ制御回路
601a、 602b .................  メモリ。
【図１】
2004192482.tif 000003
【図２】
2004192482.tif 000004
【図３】
2004192482.tif 000005
【図４】
2004192482.tif 000006
【図５】
2004192482.tif 000007
【図６】
2004192482.tif 000008
【図７】
2004192482.tif 000009
【図８】
2004192482.tif 000010
【図９】
2004192482.tif 000011