次に、本発明について図面を参照して詳細に説明する。なお、本明細書では、以下の表記方法を用いる。「i」、「j」、「k」、および、「d」は、「0」を含む自然数を示す。「m」、「n」は、「0」を含まない自然数を示す。
『クラスタ(#i)2i』と表記した場合は、クラスタ(#0)20〜クラスタ(#m)2mのいずれかであることを示す。『ノード(#j)2ij』と表記した場合は、ノード(#0)2i0〜ノード(#n)2inのいずれかであることを示す。『クラスタSVP(#i)3i』と表記した場合は、クラスタSVP(#0)30〜クラスタSVP(#m)3mのいずれかであることを示す。『LAN(#i)4i』と表記した場合は、LAN(#0)40〜LAN(#m)4mのいずれかであることを示す。『RTR(#0k)10k』、または、『RTR(#1k)11k』と表記した場合は、それぞれ、RTR(#00)100〜RTR(#1F)10Fのいずれか、または、RTR(#10)110〜RTR(#1F)11Fのいずれかであることを示す。『RTR(#dk)1dk』と表記した場合は、RTR(#00)100〜RTR(#0F)10F、または、RTR(#10)110〜RTR(#1F)11Fのいずれかであることを示す。『RCU(#k)6ijk』と表記した場合は、RCU(#0)6000〜RCU(#F)61FFのいずれかであることを示す。『CPU(#k)4ijk』と表記した場合は、CPU(#0)4000〜CPU(#F)41FFのいずれかであることを示す。
IXS(Internode Crossbar Switch:ノード間クロスバスイッチ)は、ノード間接続装置の一種である。
なお、以下の実施例で記載する各手段は、ハードウェアで実現されても良いし、ハードウェアと協同するソフトウェアで実現されても良い。あるいは、以下の実施例で記載する各手段は、ハードウェアと、ハードウェアと協同するソフトウェアの混在により実現されても良い。
図1を参照すると、本発明の第1の実施例は、ログ送出装置2aと、ログ送出装置2bと、ログ登録装置7aと、ネットワーク6aとで構成されている。ログ送出装置2aは、ログ送信手段2a1と、ログ送信失敗検出手段2a2と、代行送信要求手段2a3とを有している。ログ送出装置2bは、ログ送信手段2b1と、ログ送信失敗検出手段2b2と、代行送信要求手段2b3とを有している。ログ登録装置7aは、ログ受信手段7a1を有している。
以下の説明では、ログ送出装置2aにおいて、図示しない手段によって生成されたログを、便宜的にログ2a4と呼ぶ。また、以下の説明では、ログ送出装置2bにおいて、図示しない手段によって生成されたログを、便宜的にログ2b4と呼ぶ。
ログ送信手段2a1、および、ログ送信手段2b1は、それぞれ、ログ2a4、ログ2b4を、ネットワーク6aを介して、ログ受信手段7a1に送信する。ログ送信失敗検出手段2a2、および、ログ送信失敗検出手段2b2は、それぞれ、ログ送信手段2a1によるログ2a4、ログ送信手段2b1によるログ2b4の送信が失敗した場合に、この失敗を検出する。そして、ログ送信失敗検出手段2a2、および、ログ送信失敗検出手段2b2は、この失敗を検出した場合は、それぞれ、代行送信要求手段2a3、代行送信要求手段2b3にログ送信失敗を通知する。代行送信要求手段2a3、および、代行送信要求手段2b3は、このログ送信失敗の通知を受けると、それぞれ、ログ送信手段2b1にログ2a4の、ログ送信手段2a1にログ2b4の送信を代行することを要求する。
ログ受信手段7a1は、ネットワーク6aを介して、ログ送信手段2a1、あるいは、ログ送信手段2b1からログ2a4、あるいはログ2b4を受信する。そして、ログ2a4、あるいは、ログ2b4は図示しない手段により、ログ登録装置7a内に登録される。
図2は、本発明の第1の実施例の動作を示すシーケンス図である。ここでは、具体的な状況として、たとえば、ログ送出装置2aにおいて、図示しない手段によりログ2a4が生成されたものとする。なお、ログ送出装置2bにおいて、ログ2b4が生成された場合の動作も、以下の説明から容易に類推可能である。また、図2では、ネットワーク6aは省略している。
ログ送信手段2a1は、図示しない手段によって生成されたログ2a4を、ネットワーク6aを介してログ受信手段7a1に向けて送信する(S100)。
正常な場合は、ログ受信手段7a1は、ネットワーク6aを介してログ2a4を受信する(S101)。そして、図示しない手段により、ログ2a4はログ登録装置7a内に登録され、動作は終了する。
なんらかの異常が発生して、ログ2a4の送信が失敗した場合は、ログ送信失敗検出手段2a2は、ログ送信失敗を検出する。そして、ログ送信失敗検出手段2a2は、この失敗を代行送信要求手段2a3に通知する(S102)。
代行送信要求手段2a3は、ログ送信手段2b1にログ2a4の送信を代行することを要求する(S103)。
ログ送信手段2b1は、ログ2a4を、ネットワーク6aを介してログ受信手段7a1に向けて送信する(S104)。
ログ受信手段7a1は、ネットワーク6aを介してログ2a4を受信する(S105)。そして、図示しない手段により、ログ2a4はログ登録装置7a内に登録され、動作は終了する。
本発明の第1の実施例によれば、あるログ送出装置からのログの送信が失敗した場合でも、ログ消失を防止することが可能となる。その理由は、他のログ送出装置に代行送信を要求し、他のログ送出装置がログの送信を代行することができるようにしたためである。
次に本発明の第2の実施例について図面を参照して詳細に説明する。
図3を参照すると、本発明の第2の実施例は、IXS10と、複数のクラスタ(#i)2iと、統合SVP70と、データ転送パス50と、LAN60とで構成されている。
各クラスタ(#i)2iは、複数のノード(#j)2ijと、クラスタSVP(#i)3iと、LAN(#i)4iとを有する。
各クラスタ(#i)2i内の各ノード(#j)2ijと、IXS10とは、データ転送パス50により接続される。各クラスタ(#i)2i内の各ノード(#j)2ijは、データ転送パス50と、IXS10とを介して、互いに通信を行う。この通信をノード間通信と呼び、以後、「ノード間通信」と表記した場合は、特に断りがない限り、ここで説明したノード間通信を示す。
各クラスタ(#i)2i内の各ノード(#j)2ijと、各クラスタSVP(#i)3iとは、LAN(#i)4iを介して接続される。クラスタSVP(#i)3iは、ノード(#j)2ij単位の運用、保守などを管理・制御するための処理を行う。
各クラスタSVP(#i)3iと、統合SVP70とは、LAN60を介して接続される。統合SVP70は、各クラスタSVP(#i)3iを一元的に管理・制御する。たとえば、保守員は、統合SVP70を操作して、システム内のログを含めた全ての事象を確認することができる。
ノード(#j)2ijは、「ログ送出装置」に対応する。統合SVP70は、「ログ登録装置」に対応する。クラスタSVP(#i)3iと、LAN(#i)4iと、LAN60は、「ネットワーク」に対応する。IXS10と、データ転送パス50は、「代行送信を要求する手段」の一部でもある。
図4に第2の実施例の各構成品であるIXS10、ノード(#j)2ij、クラスタSVP(#i)3i、統合SVP70の機能ブロック図を示す。図4ではノード(#j)2ij、クラスタSVP(#i)3iは代表して1台のみを記載している。すなわち、ノード(#j)2ij、クラスタSVP(#i)3iは実際には図3のように複数台存在している。図4のノード(#j)2ijに記載した各手段は、図3の全てのノード(#j)2ijが備えている。図4のクラスタSVP(#i)3iに記載した各手段は、図3の全てのクラスタSVP(#i)3iが備えている。
ノード(#j)2ijは、障害監視手段2001と、ログ送信手段2002と、ログ送信失敗検出手段2003と、ログ転送実施判断手段2004と、ログ転送パス設定/解放手段2005と、ログ転送手段2006と、転送ログ受信手段2007と、転送ログ送信結果通知手段2008と、転送ログ送信結果確認手段2009とを備えている。
障害監視手段2001は、自ノード(#j)2ijを監視し、障害の発生を検出し、ログを生成する。以下の説明では、この障害監視手段2001によって生成されたログを、便宜的にログ2c4と呼ぶ。
ログ送信手段2002は、自ノード(#j)2ijの障害監視手段2001が生成したログ2c4、又は他ノード(#j)2ijから転送されてきたログ2c4を、自クラスタ(#i)2iのクラスタSVP(#i)3iに送信する。
ログ送信失敗検出手段2003は、LAN(#i)4i、クラスタSVP(#i)3i、LAN60を介した、統合SVP70へのログ2c4の送信の失敗を検出する。そして、ログ送信失敗検出手段2003は、ログ2c4の送信の失敗を検出した場合は、図5に示す送信結果900をログ転送実施判断手段2004、および、ログ転送パス設定/解放手段2005に渡す。
ログ転送実施判断手段2004は、ログ2c4の重要度や優先度などを考慮してIXS10を介したログ転送を行うか否かを判断する。ログ転送実施判断手段2004は、例えば、図11に示すログ転送SG910に基づいて、各ログ2c4の重要度に応じて転送を実施するか否かを判断する。図11に示すログ転送SG910は、障害識別番号912と重要度913を関連付けたログ−重要度テーブル911と、重要度915とログ転送設定916を関連付けた重要度−ログ転送設定テーブル914を有している。ログ転送実施判断手段2004は、ログ−重要度テーブル911と、重要度−ログ転送設定テーブル914とを参照することで、ログ2c4を転送するか否かを判断する。そして、ログ転送実施判断手段2004は、ログ2c4を転送すると判断した場合は、ログ転送パス設定/解放手段2005に、後述する「ログ転送パス」の設定を要求する。なお、図11のログ転送SG910のテーブル例は一例であり、実施の形態は図11で示されたテーブルの構造や内容に限定されるものではない。
ログ転送パス設定/解放手段2005は、ログ転送先のクラスタ(#i)2i及びノード(#j)2ijを決定する。そして、ログ転送パス設定/解放手段2005は、ログ転送パスとして、IXS10を経由してログ2c4を転送するノード間通信のパスを設定する。このログ転送パスの設定はIXS10が備えているログ転送パス確保手段1001が、データ転送パス50をルーティングするルート手段1002を制御することにより実現される。そして、ログ転送パス設定/解放手段2005は、例えば、転送元のクラスタ(#0)20のノード(#0)200から、転送先のクラスタ(#1)21のノード(#0)210の間にログ転送パスを設定・確保する。以後、「ログ転送パス」と表記した場合は、特に断りがない限り、ここで説明したログ転送パスを示す。
また、ログ転送パス設定/解放手段2005は、転送ログ送信結果確認手段2009から図5に示す送信結果900を通知されると、IXS10に設定したログ転送パスを解放する。また、ログ転送パス設定/解放手段2005は、転送ログ送信結果確認手段2009から、送信が失敗した旨の送信結果900を受けると、別のログ転送パスを設定する。
なお、ログ転送パス設定/解放手段2005による転送先のクラスタ(#i)2iのノード(#j)2ijの決定は特定のアルゴリズムに依存する必要はない。転送先のクラスタ(#i)2iのノード(#j)2ijの決定は、障害のあったクラスタ(#i)2i以外の最若番クラスタ(#i)2iの最若番ノード(#j)2ijとする方法を用いても良い。また、転送先のクラスタ(#i)2iのノード(#j)2ijの決定は、IXS10から情報を取得して一番使用率の低いクラスタ(#i)2iのノード(#j)2ijとする方法を用いても良い。
また、ログ転送パス設定/解放手段2005は、転送ログ送信結果確認手段2009から通知される図5に示す送信結果900を参照して、転送先のクラスタ(#i)2iのノード(#j)2ijを決定するアルゴリズムを用いても良い。例えば、送信結果900の結果901が『1』で『失敗』を示しており、失敗コード902が『CSVPABNT』で『クラスタSVP(#i)3iから、異常終了報告があった。』ことを示しているとする。この場合は、同一クラスタ(#i)2i内のノード(#j)2ijは、同一クラスタSVP(#i)3iを使用しているため転送先として選択しない。そして、転送先は、他のクラスタ(#i)2iのノード(#j)2ijを選択する。また、例えば、送信結果900の結果901が『1』で『失敗』を示しており、失敗コード902が『LANiINV』で『ノード(#j)2ijから、LAN(#i)4iアクセス失敗報告があった。』ことを示しているとする。この場合は、ノード(#j)2ijのLAN接続回路が故障している可能性があるため、転送先として、同一クラスタ(#i)2i内の、他ノード(#j)2ijを選択する。なお、図5の送信結果900は一例であり、実施の形態は図5で示された形式や内容に限定されるものではない。
ログ転送手段2006は、ログ2c4にログ送信結果900の失敗コード902を付加して、新たなログ2c4とする。そして、ログ転送手段2006は、IXS10に設定されたログ転送パスを使用して、他ノード(#j)2ijにノード間通信を行い、ログ2c4を転送する。そして、ログ転送手段2006は、転送が成功したか否かを転送ログ送信結果確認手段2009に報告する。転送ログ受信手段2007は、ログ転送手段2006により転送されてきた他ノード(#j)2ijのログ2c4を受信する。転送ログ送信結果通知手段2008は、他ノード(#j)2ijのログ2c4の送信結果900を、他ノード(#j)2ijの転送ログ送信結果確認手段2009へ通知する。転送ログ送信結果確認手段2009は、ログ転送手段2006の報告、および、転送ログ送信結果通知手段2008の通知に基づいて、送信結果900を、ログ転送パス設定/解放手段2005に通知する。
IXS10は、ログ転送パス確保手段1001を備えている。ログ転送パス確保手段1001は、ノード(#j)2ijのログ転送パス設定/解放手段2005と連携して、ログ転送パスを設定し、確保する。
なお、クロスバスイッチであるIXS10のルーティング動作は、当業者にとって周知の技術であり、具体的な説明は省略する。本件に関する公知文献としては、特開2000−244573号公報、特開平09−006737号公報、特開平08−088872号公報当を参照することができる。
クラスタSVP(#i)3iは、ログ登録要求手段3001を備えている。ログ登録要求手段3001は、ノード(#j)2ijから送信されてきたログ2c4を受け取り、統合SVP70にこのログ2c4の登録を要求する。
統合SVP70はログ2c4を蓄積するデータベースであるログデータ蓄積部7002を備えている。ログ登録手段7001は、ログ登録要求手段3001から、ログ登録要求を受けると、対象のログ2c4をログデータ蓄積部7002に登録する。
図6〜図9は、本発明の第2の実施例の動作を示すシーケンス図である。図10は、本発明の第2の実施例のログ転送処理を示す概念図である。ここでは、具体的な状況として、クラスタSVP(#0)30と、ノード(#0)210の故障時にクラスタ(#0)20のノード(#0)200で、図11のログ転送SG910に示す『障害B』が発生したと想定する。そして、この『障害B』に起因して生成されたログ2c4を統合SVP70に登録する動作を、例として説明する。
図6〜図9の「丸で囲んだ1」〜「丸で囲んだ10」と、図10の「丸で囲んだ1」〜「丸で囲んだ10」は対応している。「丸で囲んだ1」、「丸で囲んだ2」は、最初(正常時)のログ登録ルートを示している。クラスタSVP(#0)30が故障していなければ、この「丸で囲んだ1」、「丸で囲んだ2」のルートでログ2c4が登録される。「丸で囲んだ3」、「丸で囲んだ4」、「丸で囲んだ5」、「丸で囲んだ6」は二番目のログ登録ルートを示している。クラスタSVP(#0)30が故障しており、ノード(#0)210が故障していなければ、この「丸で囲んだ3」、「丸で囲んだ4」、「丸で囲んだ5」、「丸で囲んだ6」のルートでログ2c4が登録される。「丸で囲んだ7」、「丸で囲んだ8」、「丸で囲んだ9」、「丸で囲んだ10」は、三番目のログ登録ルートを示している。クラスタSVP(#0)30が故障しており、かつ、ノード(#0)210が故障していれば、この「丸で囲んだ7」、「丸で囲んだ8」、「丸で囲んだ9」、「丸で囲んだ10」のルートでログ2c4が登録される。
クラスタ(#0)20のノード(#0)200で装置障害が発生すると、ノード(#0)200の障害監視手段2001が、この装置障害を検出する。そして、ノード(#0)200の障害監視手段2001は、ログ2c4を生成する(S110)。
次にノード(#0)200のログ送信手段2002は、クラスタSVP(#0)30にログ2c4を送信する(S111)。
クラスタSVP(#0)30が正常に動作している場合は、クラスタSVP(#0)30のログ登録要求手段3001は、LAN(#0)40からログ2c4を受信する。そして、クラスタSVP(#0)30のログ登録要求手段3001は、LAN60を介して、統合SVP70へログ2c4を送信する(S112)。統合SVP70のログ登録手段7001は、ログ2c4を受信し、これをログデータ蓄積部7002に登録する(S113)。
クラスタSVP(#0)30が故障している場合は、クラスタSVP(#0)30のログ登録要求手段3001がログ2c4を受信できない、あるいは、ログ2c4を送信できない。これをノード(#0)200のログ送信失敗検出手段2003がログ送信失敗として検出する。そして、ノード(#0)200のログ送信失敗検出手段2003は、結果901が『1』、失敗コード902が『CSVPABNT』の送信結果900を通知する。(S114)。
ログ送信失敗が通知されると、ノード(#0)200のログ転送実施判断手段2004は、図11に示すログ転送SG910を参照して、送信失敗のログ2c4についてログ転送を行うか否かを判断する。そして、ノード(#0)200のログ転送実施判断手段2004は、ログ2c4を転送すると判断した場合は、ノード(#0)200のログ転送パス設定/解放手段2005にログ転送パスの設定を要求する(S115)。ここでは、『障害B』が発生したと想定しているため、ログ2c4を転送すると判断することになる。
ノード(#0)200のログ転送パス設定/解放手段2005は、転送先のクラスタ(#i)2iのノード(#j)2ijを決定する。ここでは、送信結果900の失敗コード902が『CSVPABNT』であると通知されているそこで、ログ転送パス設定/解放手段2005は、他クラスタ(#i)2iのノード(#j)2ijである、クラスタ(#1)21のノード(#0)210を選択したものとする。そして、ログ転送パス設定/解放手段2005は、IXS10と連携して、ログ転送パスを設定する(S116、S117)。
ノード(#0)200のログ転送手段2006は、ログ送信失敗検出手段2003から通知されたログ送信結果900の失敗コード902を、ログ2c4に付加して、新たなログ2c4とする。そして、ログ転送手段2006は、ログ2c4をデータ転送パス50に送出する(S118)。IXS10のルート手段1002は、ノード(#0)200に接続したデータ転送パス50から送られてきたログ2c4を受け取る。そして、IXS10のルート手段1002は、ノード(#0)210に接続したデータ転送パス50にログ2c4を送出する(S119)。
ノード(#0)210の転送ログ受信手段2007は、データ転送パス50から、ログ2c4を受け取る(S120)。そして、ノード(#0)210のログ送信手段2002は、クラスタSVP(#0)30にログ2c4を送信する(S121)。
ノード(#0)210、LAN(#1)41クラスタSVP(#1)31、LAN
60、統合SVP70が正常な場合は、ログ2c4はクラスタSVP(#1)31を経由し(S122)、統合SVP70に登録される(S123)。
ノード(#0)210のLAN(#1)41のインタフェース回路が故障している場合は、ノード(#0)210はLAN(#1)41をアクセスできない。これをノード(#0)210のログ送信失敗検出手段2003がログ送信失敗として検出する。そして、ログ送信失敗検出手段2003が、結果901が『1』、失敗コード902が『LANiINV』の送信結果900を、転送ログ送信結果通知手段2008に通知する(S124)。
ノード(#0)210の転送ログ送信結果通知手段2008は、送信結果900を、ノード(#0)200の転送ログ送信結果確認手段2009に通知する(S125)。
ノード(#0)200の転送ログ送信結果確認手段2009は、送信結果900を受信し、ノード(#0)200のログ転送パス設定/解放手段2005に通知する(S126)。
ノード(#0)200のログ転送パス設定/解放手段2005は、ノード(#0)200の転送ログ送信結果確認手段2009から、送信結果900を通知されると、転送先のクラスタ(#i)2iのノード(#j)2ijを決定する。ここでは、送信結果900の失敗コード902が『LANiINV』であると通知されているそこで、ログ転送パス設定/解放手段2005は、同一クラスタ(#i)2iのノード(#j)2ijである、クラスタ(#1)21のノード(#n)21nを選択したものとする。そして、ログ転送パス設定/解放手段2005は、IXS10と連携して、すでに設定されていたログ転送パスを解放し、再度、新たにログ転送パスを設定する(S127、S128)。
ノード(#0)200のログ転送手段2006は、転送ログ送信結果確認手段2009から通知されたログ送信結果900の失敗コード902を、ログ2c4に付加して、新たなログ2c4とする。そして、ログ転送手段2006は、ログ2c4をデータ転送パス50に送出する(S129)。IXS10のルート手段1002は、ノード(#0)200に接続したデータ転送パス50から送られてきたログ2c4を受け取る。そして、IXS10のルート手段1002は、ノード(#0)210に接続したデータ転送パス50にログ2c4を送出する(S130)。
ノード(#0)210の転送ログ受信手段2007は、データ転送パス50から、ログ2c4を受け取る(S131)。そして、ノード(#0)210のログ送信手段2002は、クラスタSVP(#1)31にログ2c4を送信する(S132)。
そして、ログ2c4は、クラスタSVP(#1)31を経由し(S133)、統合SVP70に登録される(S134)。そして、ノード(#0)210のログ送信失敗検出手段2003は、ログの転送が成功したことを検出し(S135)、結果901が『0』の送信結果900を、送出する(S135)。送信結果900は、ノード(#0)210の転送ログ送信結果通知手段2008を経由し(S136)、ノード(#0)200の転送ログ送信結果確認手段2009に通知される(S137)。
ログ転送パス設定/解放手段2005と、ログ転送パス確保手段1001 とは連携して、 ログ転送パスを解放する(S138、S139)。
本発明の第2の実施例によれば、ノード(#j)2ijから統合SVP70へのログの送信が、クラスタSVP(#i)3i、LAN(#i)4i、あるいは、LAN60の障害により失敗した場合でも、ログ消失を防止することが可能となる。その理由は、クラスタSVP(#i)3iの故障時にクラスタ(#i)2iのノード(#j)2ijで発生した装置障害のログ2c4を、IXS10を介して他クラスタ(#i)2iのノード(#j)2ijへ転送し、統合SVP70にログ2c4を登録することができるようにしたためである。
さらに、本発明の第二の実施例に拠れば、ノード(#j)2ijから統合SVP70へのログの送信が、ノード(#j)2ijのLAN(#i)4iへのインタフェース回路の障害により失敗した場合は、同一クラスタ(#i)2i内の他ノード(#j)2ijへログ2c4を転送することが可能となる。その理由は、送信結果900に基づいて、ログ転送パスを設定できるようにしたためである。
次に本発明の第3の実施例について図面を参照して詳細に説明する。なお、第3の実施例の説明においては、第2の実施例と同一であり、すでに説明済みの部分は、冗長となるため、説明の流れが不明確にならない範囲で省略する。
図12を参照すると、本発明の第3の実施例は、クラスタ(#0)20と、クラスタ(#1)21と、IXS10と、統合SVP70とから構成されるマルチクラスタコンピュータシステムである。
各クラスタは16台のノード(#j)2ijと、各ノード(#j)2ijを管理・制御するクラスタSVP(#i)3iとで構成されている。すなわち、クラスタ(#0)20はノード(#0)200〜ノード(#F)20FとクラスタSVP(#0)30から構成されている。各ノード(#j)2ijとクラスタSVP(#0)30はLAN(#0)40により接続されている。また、クラスタ(#1)21はノード(#0)210〜ノード(#F)21FとクラスタSVP(#1)31から構成されている。各ノード(#j)2ijとクラスタSVP(#1)31はLAN(#1)41により接続されている。クラスタSVP(#0)30及びクラスタSVP(#1)31は共にLAN60によって、それぞれを一元的に管理・制御する統合SVP70に接続されている。
各ノード(#j)2ijは、OS(Operating System)、ユーザジョブ、あるいは、アプリケーションを実行する演算装置であるCPU(Central Processing Unit)と、IXS10との接続ポートを有するRCU(Remote access Control Unit)と、システム内の各装置の初期化や故障発生時の障害処理などの制御を行うDGP(診断プロセッサ:Diagnostic Processer)とから構成されている。CPU(#k)4ijkは、各ノード(#j)2ijに16台ずつ(CPU(#0)4ij0〜CPU(#F)4ijF)存在する。RCU(#k)6ijkは、各ノード(#j)2ijに16台ずつ(RCU(#0)6ij0〜RCU(#F)6ijF)存在する。ここで、iはクラスタ番号(0、1)、jはノード番号(0〜F)である。
DGP(#j)5ijは各ノード(#j)2ijに1台ずつ存在し、内部バス6ijによりCPU(#k)4ijk及びRCU(#k)6ijkと接続され、各装置の初期化や診断を行うことができる。また、各DGP(#j)5ijはクラスタ(#i)2i毎にクラスタSVP(#0)30、クラスタSVP(#1)31にLAN(#0)40、LAN(#1)41で接続され、互いに通信が可能である。統合SVP70からの各ノード(#j)2ijの制御は、クラスタSVP(#0)30、クラスタSVP(#1)31を介して各クラスタ(#i)2i内の各ノード(#j)2ijのDGP(#j)5ijと通信することで可能となっている。
IXS10は、ルーター(以降、RTRと記載する)と呼ばれる複数の通信ポートを持つ装置で構成されている。図12のIXS10は16台のRTR(#0k)10k(RTR(#00)100〜RTR(#0F)10F)から構成されている。RTR(#0k)10kの各ポートは、各ノード(#j)2ij内のRTR番号「k」と同一の番号を持つRCU(#k)6ijkと接続されている。各ノード(#j)2ijは、RCU(#k)6ijkを介してRCU番号と同一の番号を持ったRTR(#0k)10kに接続され、ノード間通信を行う。
図13に第3の実施例の各構成品であるIXS10、ノード(#j)2ij、クラスタSVP(#i)3i、統合SVP70の機能ブロック図を示す。図13ではノード(#j)2ij内のCPU(#k)4ijk、ノード(#j)2ij内のRCU(#k)6ijk、IXS10内のRTR(#0k)10k、クラスタSVP(#i)3iは代表して1台のみを記載している。すなわち、ノード(#j)2ij内のCPU(#k)4ijk、ノード(#j)2ij内のRCU(#k)6ijk、IXS10内のRTR(#0k)10k、クラスタSVP(#i)3iは実際には図12のように複数台存在している。図13のノード(#j)2ijに記載した各手段は、図12の全てのノード(#j)2ijが備えている。図13のクラスタSVP(#i)3iに記載した各手段は、図12の全てのクラスタSVP(#i)3iが備えている。
DGP(#j)5ijは、障害監視手段2001と、ログ送信手段2002と、ログ送信失敗検出手段2003と、SG確認手段5004と、ログ転送パス決定手段5005と、ログ転送手段2006と、転送ログ受信手段2007と、転送ログ送信結果通知手段2008と、転送ログ送信結果確認手段2009と、RTR状態制御手段5010と、ログ転送SG記憶部5011とを備えている。ここで、障害監視手段2001と、ログ送信手段2002と、ログ送信失敗検出手段2003と、ログ転送手段2006と、転送ログ受信手段2007と、転送ログ送信結果通知手段2008と、転送ログ送信結果確認手段2009とは、本発明の第2の実施例で説明したものと同じである。
SG確認手段5004とログ転送SG記憶部5011は、図4のログ転送実施判断手段2004に対応するものである。ログ転送SG記憶部5011は、図11のログ転送SG910を格納している。
ログ転送パス決定手段5005とRTR状態制御手段5010は、図4のログ転送パス設定/解放手段2005に対応するものである。ログ転送パス決定手段5005は、転送に使用する転送元のノード(#j)2ijのRCU(#k)6ijk、転送先のクラスタ(#i)2i、ノード(#j)2ijを決定し、ログ転送パスを決定する。また、RTR状態制御手段5010は、DGP(#j)5ijからRCU(#k)6ijkを経由してIXS10内のRTR(#0k)10kの状態を制御する。RTR状態制御手段5010は、IXS10を用いたログ転送パスを確保することの悪影響でOS、ユーザジョブ、あるいは、アプリケーションの運用を妨げることがないように、RTR(#0k)10kの状態を制御する。なお、RTR(#0k)10kの状態については後述する。
RCU(#k)6ijkはRTR状態受信手段6001、ポート制御手段6002、入出力ポート6003を備えている。入出力ポート6003はRCU(#k)6ijkと同一番号「k」のCPU(#k)4ijk、同一ノード(#j)2ij内のDGP(#j)5ij及びIXS10内のRTR(#0k)10kと接続されている。CPU(#k)4ijk及びDGP(#j)5ijは入出力ポート6003を通じて、IXS10のRTR(#0k)10kを介して、他ノード(#j)2ijのCPU(#k)4ijk又はDGP(#j)5ijと相互に通信を行う。RTR状態受信手段6001はRCU(#k)6ijkの入出力ポート6003に接続されたRTR(#0k)10kの状態を受信する。RCU(#k)6ijkは取得したRTR(#0k)10kの状態に応じて入出力ポート6003をポート制御手段6002により図14のように制御する(詳細は後述)。
IXS10を構成する各RTR(#0k)10kは状態制御手段1101、状態通知手段1102を備えている。本実施例ではRTR(#0k)10kの状態には、CPU(#k)4ijkから使用可能なReadyの状態と、CPU(#k)4ijkから使用不可であるBusyの状態がある。以後の説明において、「Ready[状態]、および、「Busy[状態]」は、特に断らない限り、ここで説明した「Ready[状態]、および、「Busy[状態]」の意味で用いる。状態制御手段1101は、この状態の管理・制御をする。
図13のRTR(#0k)10kの状態制御手段1101、状態通知手段1102、RCU(#k)6ijkのRTR状態受信手段6001、ポート制御手段6002、入出力ポート6003は図4のログ転送パス確保手段1001に対応するものである。
図14にRTR(#0k)10k状態とCPU(#k)4ijk−RTR(#0k)10k間、DGP(#j)5ij−RTR(#0k)10k間のデータ通信の関係を示す。Readyの状態は、RTR(#0k)10kが接続されている各ノード(#j)2ijのCPU(#k)4ijkからのデータ入出力が可能な状態である。CPU(#k)4ijkは、RTR(#0k)10kがReady状態の場合にOS、ユーザジョブ、あるいは、アプリケーションによるノード(#j)2ij間通信を実行することができる。Ready状態でのRTR(#0k)10kは、CPU(#k)4ijkに使用されるため、DGP(#j)5ijは使用できない。すなわち、DGP(#j)5ijは、Ready状態でのRTR(#0k)10kを、IXS10を介した他ノード(#j)2ijのDGP(#j)5ijとの通信に使用できない。また、RTR(#0k)10kが、Busyの状態はReadyの状態とは逆に、CPU(#k)4ijkからのデータ入出力が不可能な状態である。Busy状態でのRTR(#0k)10kは、CPU(#k)4ijkから使用されない。従って、DGP(#j)5ijは、Busy状態でのRTR(#0k)10kを、他ノード(#j)2ijのDGP(#j)5ijとIXS10を介した通信に使用できる。状態通知手段1102は定期的、および、状態の変化があった際に、RTR(#0k)10kの状態を接続されているノード(#j)2ijのRCU(#k)6ijkに通知する。RTR状態受信手段6001は、状態通知手段1102からRTR(#0k)10k通知を受ける。そして、ポート制御手段6002は、RTR(#0k)10k状態に合わせて入出力ポート6003を制御する。こうして、DGP(#j)5ij、CPU(#k)4ijkからのRTR(#0k)10kへのアクセス可否が、図14に示すように制御される。
本実施例ではログ転送を行う際にRTR(#0k)10kの状態をReadyからBusy状態に一時的に設定し、ログ転送完了後にReady状態に復元させることで、CPU(#k)4ijkで実行中のOS、ユーザジョブ、あるいは、アプリケーションがアボートしないようにしている。それは、Busy状態に設定することで、ログ転送中のCPU(#k)4ijkによるノード間通信は不可になるが、その際、OS、ユーザジョブ、あるいは、アプリケーションからはIXS10がBusy状態に認識されるため、リトライや待ち合わせが行われ、ログ転送が完了しReady状態に復元後にアクセスが成功するためである。
ここで、ログ転送はOS、ユーザジョブ、あるいは、アプリケーションがログ転送中のリトライアウトなどにより、アボートが発生しない、十分短い時間で完了することを保障するものとする。または、CPU(#k)4ijkによるOS、ユーザジョブ、あるいは、アプリケーションのノード間通信は、ログ転送に要する十分な時間をリトライや待ち合わせるものとする。
図15〜図16は、本発明の第3の実施例の動作を示すフローチャート図である。図21は、本発明の第3の実施例のログ転送処理を示す概念図である。
ここでは、具体的な状況として、クラスタSVP(#0)30の故障時にクラスタ(#0)20のノード(#0)200において、装置障害が発生したとする。そして、クラスタ(#0)20のノード(#0)200のDGP(#0)500から、ノード(#0)200のRCU(#0)6000、IXS10のRTR(#00)100、クラスタ(#1)21のノード(#0)210のRCU(#0)6100、クラスタ(#1)21のノード(#0)210のDGP(#0)510、クラスタSVP(#1)31を経由して、ログ2c4を統合SVP70に登録する動作を例として説明する。
最初の状態は、IXS10を構成しているRTR(#00)100〜RTR(#0F)10Fの状態は、Ready状態であるとする。すなわち、各ノード(#j)2ijのCPU(#k)4ijkは、IXS10を介したノード間通信を使用するOS、ユーザジョブ、あるいは、アプリケーションを実行中であるとする。
この状態から、クラスタ(#0)20のノード(#0)200で装置障害が発生すると(S210)、クラスタ(#0)200のノード(#0)200のDGP(#0)500の障害監視手段2001が、この装置障害を検出する(S211)。そして、クラスタ(#0)200のノード(#0)200のDGP(#0)500の障害監視手段2001が、ログ2c4を生成する。
ログ送信手段2002は、クラスタSVP(#0)30にログ2c4を送信する(S212)。
クラスタSVP(#0)30が正常である場合は、図21の「丸で囲んだ1」、「丸で囲んだ2」のパスでクラスタSVP(#0)30を経由して統合SVP70にログ2c4が登録される。ここでは、クラスタSVP(#0)30が故障していると想定しており、DGP(#0)500からクラスタSVP(#0)30へのログ送信は失敗する。
クラスタ(#0)200のノード(#0)200のDGP(#0)500のログ送信失敗検出手段2003は、ログ送信の失敗を検出する(S213)。
ログ送信失敗を検出したDGP(#0)500は自身が持つログ転送SG910をSG確認手段5004により参照し、発生したログ2c4のIXS10を介したログ転送を行うか否かを判断する(S214)。
ここで障害が重要ではなく、ログ転送を行う必要がないと判断した場合(S214でNoのケース)は、処理は終了する。
障害が重要であり、ログ転送を行うと判断した場合(S214でYesのケース)は、ログ転送パス決定手段5005が、ログ転送を行う経路を決定する(S215)。
以上の動作は、第2の実施例とほぼ同様の動作である。
ここで、ログ転送パス決定手段5005は、図21の概念図に示すように、以下のパスを決定する。まず、クラスタ(#0)20のノード(#0)200のDGP(#0)500からクラスタ(#0)20のノード(#0)200のRCU(#0)6000へのパスが、図21の「丸で囲んだ3」である。次に、クラスタ(#0)20のノード(#0)200のRCU(#0)6000から、IXS10のRTR(#00)100へのパスが、図21の「丸で囲んだ4」である。次に、IXS10のRTR(#00)100から、クラスタ(#1)21ノード(#0)210のRCU(#0)6100へのパスが、図21の「丸で囲んだ5」である。そして、クラスタ(#1)21ノード(#0)210のRCU(#0)6100から、クラスタ(#1)21のノード(#0)210のDGP(#0)510へのパスが、図21の「丸で囲んだ6」である。
クラスタ(#0)200のノード(#0)200のDGP(#0)500のRTR状態制御手段5010は、RTR(#00)100に対して、状態をReady→Busyに変更するように要求する(S216)。
IXS10のRTR(#00)100の状態制御手段1101は、RTR状態制御手段5010からの状態変更の要求を受けると(S220)、RTR(#00)100の状態をReady→Busyに変更する(S221)。そして、RTR(#00)100の状態通知手段1102は、接続されている全クラスタ(#i)2iの全ノード(#j)2ijのRCU(#0)6ij0にRTR(#00)100の状態がReady→Busyに変更したことを通知する(S222)。
接続されている全クラスタ(#i)2iの全ノード(#j)2ijのRCU(#0)6ij0のRTR状態受信手段6001は、RTR(#00)100からの状態通知を受信する(S230)。
RTR状態受信手段6001は、状態変更があったことを検出した場合(S231でYesのケース)、ポート制御手段6002が入出力ポート6003の設定を制御する(S232)。状態変更がない場合(S231でNoのケース)は、処理を終了する。
ここではReady→Busyへの変化なので、ポート制御手段6002は、入出力ポート6003の設定を、CPU(#k)4ijk−RTR(#0k)10k間のデータ転送は不可、DGP(#j)5ij−RTR(#0k)10k間のデータ転送は可能に制御する(S232)。これにより、クラスタ(#0)20ノード(#0)200のDGP(#0)500は、クラスタ(#0)20ノード(#0)200のRCU(#0)6000、IXS10のRTR(#00)100、クラスタ(#1)21ノード(#0)210のRCU(#0)6100を経由して、クラスタ(#1)21ノード(#0)210のDGP(#0)510との通信が可能となる。
次にクラスタ(#0)20のノード(#0)200のDGP(#0)500はログ転送手段2006により、クラスタ(#1)21ノード(#0)210のDGP(#0)510へログ2c4の転送を実施する(S217)。
クラスタ(#1)21のノード(#0)210のDGP(#0)510の転送ログ受信手段2007は転送されてきたログ2c4を受信する(S240)。
その後、クラスタ(#1)21のノード(#0)210のDGP(#0)510のRTR状態制御手段5010は、RTR(#00)100に対して、状態をBusy→Readyに復元するように要求する(S241)。
IXS10のRTR(#00)100の状態変更の動作は、S220、S221、S222である。また、RTR(#00)100の状態変更通知に伴う接続されている全クラスタ(#i)2iの全ノード(#j)2ijのRCU(#0)6ij0の入出力ポート6003の状態変更の動作は、S230、S231、S232である。従って、詳細な説明は省略するが、RTR(#00)100の状態はBusy→Readyに復元される。そして、RCU(#0)6ij0の入出力ポート6003の状態は、CPU(#k)4ijk−RTR(#0k)10k間のデータ転送は可能、DGP(#j)5ij−RTR(#0k)10k間のデータ転送は不可に変更される。
クラスタ(#1)21のノード(#0)210のDGP(#0)510のログ送信手段2002は、クラスタSVP(#1)31にログ2c4を送信する(S242)。
クラスタSVP(#1)31のログ登録要求手段3001は、ログ2c4を受信する(S250)。そして、ログ登録要求手段3001は、統合SVP70にログ2c4を送信する(S251)。
統合SVP70のログ登録手段7001は、クラスタSVP(#1)31からログ2c4を受信する(S260)。そして、ログ登録手段7001は、ログデータ蓄積部7002にログ2c4を登録する(S261)。
以上により、クラスタSVP(#0)30の故障時にクラスタ(#0)20のノード(#0)200で発生した装置障害のログ2c4は、IXS10を介して他クラスタ(#i)2iのノード(#j)2ij)クラスタ(#1)21のノード(#0)210転送される。そしてそこから、ログ2c4は、クラスタSVP(#1)31へ転送され、最終的に、統合SVP70にログ登録される。
本発明の第3の実施例によれば、第1の実施例、第2の実施例で得られる効果を、OSやユーザのJOBの運用を妨げることなく、得ることが可能になる。
その理由はIXSを介したノード間通信による、ログ転送パスをOSの運用を妨げないように設定することを可能にしたためである。
次に本発明の第4の実施例について図面を参照して詳細に説明する。なお、第4の実施例の説明においては、第3の実施例と同一であり、すでに説明済みの部分は、冗長となるため、説明の流れが不明確にならない範囲で省略する。
図22は本発明の第4の実施例のシステム構成図である。図22に示すように、本発明の第4の実施例のシステム構成は、図12に示す第3の実施例のシステム構成と比較して、IXS10内にRTR(#1k)11kが追加となっている。なお、図23のRTR(#0k)10kは、図13のRTR(#0k)10kと同一のものであり、説明の便宜上サフィックスの「0」をつけたものである。そして、第4の実施例のシステム構成は、各ノード(#j)2ijのRCU(#k)6ijk1台に対して、RTR(#0k)10kと、RTR(#1k)11kとの2台が接続されている点が異なっている。
図23は本発明の第4の実施例の機能ブロック図である。図23に示すように、本発明の第4の実施例のRCU(#k)6ijkは、本発明の第3の実施例のRCU(#k)6ijkに比して、入出力ポート(#2)6004が追加となっている。なお、図23の入出力ポート(#1)6003は、図13の入出力ポート6003と同一のものであり、説明の便宜上サフィックスの「1」をつけたものである。そして、入出力ポート(#1)6003、および、入出力ポート(#2)6004は、それぞれRTR(#0k)10k、および、RTR(#1k)11kに接続される。
第3の実施例ではRTR(#0k)10kの状態は、ReadyとBusyであったが、第4の実施例のRTRの状態はActiveとStandbyの状態をとる。Active状態の時にRTRはCPU(#k)4ijk−RTR(#dk)1dk間のデータ転送を行う状態であり、Standby状態は待機状態で、CPU(#k)4ijk−RTR(#dk)1dk間のデータ転送を行わない状態である。以後の説明において、「Active[状態]、および、「Standbay[状態]」は、特に断らない限り、ここで説明した「Active[状態]、および、「Standbay[状態]」の意味で用いる。
RCU(#k)6ijkの状態は、2Port Activeと、1Port Activeの二つの状態がある。2Port Activeは、入出力ポート(#1)6003、および、入出力ポート(#2)6004に接続されたRTR(#dk)1dkが共にActive状態であることを示す。また、1Port Activeは、入出力ポート(#1)6003、および、入出力ポート(#2)6004に接続されたRTR(#dk)1dkの一方がActive状態、もう一方がStandby状態であることを示す。
図24にRCU(#k)6ijkの状態(接続RTR(#dk)1dkの状態)と、CPU(#k)4ijk−RTR(#dk)1dk間のデータ転送、及び、DGP(#j)5ij−RTR(#dk)1dk間のデータ転送の関係を示す。図24のCPU(#k)4ijk−RTR(#dk)1dk間のデータ転送の項に示すとおり、CPU(#k)4ijk単位あたりのノード間通信性能は、1Port Active )Active/Standbyの場合に対して、2Port Active)Active/Activeの場合は2倍である。そして、CPU(#k)4ijk単位あたりのノード間通信性能は、ユーザの要求する性能に応じて、1Port Activeか2Port Activeかを選択可能である。DGP(#j)5ij−RTR(#dk)1dk間のデータ転送は2Port Activeの場合は不可であるが、1Port Activeの場合はStandby状態のRTR(#dk)1dkを介することでDGP(#j)5ij−RTR(#dk)1dk間でデータ転送を行うことができる。
本実施例では、IXS10を介したログ転送を1Port ActiveのDGP(#j)5ij−RTR(#dk)1dk間でデータ転送を使用して行う。そして、本実施例では、2Port Activeで運用している場合にはログ転送前に2Port Activeから1Port Activeに一時的に縮退(本明細書では、機能、性能などが、縮減、あるいは、減退することを意味する。)する。そして、本実施例では、ログ転送が完了した際に2Port Activeに復元する方式を用いる。本実施例では、RCU(#k)6ijkの片方の入出力PortからStandby状態のRTR(#dk)1dkを介してDGP(#j)5ij間でログ転送を行う。このため、CPU(#k)4ijkで使用中のもう片方の入出力ポート(#1)6003、あるいは、入出力ポート(#2)6004に擾乱を与えることはない。2Port Activeから1Port Activeに縮退する場合も、OS、ユーザジョブ、あるいは、アプリケーションが認識している緒元(RCU数)には変化がない。従って、OS、ユーザジョブ、あるいは、アプリケーションがアボートすることがない。このことから、本方式によりOS、ユーザジョブ、あるいは、アプリケーション運用に影響を与えずにログ転送を行うことができる。
図25〜図28は、本発明の第4の実施例の動作を示すフローチャート図である。図29は、本発明の第4の実施例のログ転送処理を示す概念図である。
ここでは、具体的な状況として、クラスタSVP(#0)30の故障時に、クラスタ(#0)20のノード(#0)200において、装置障害が発生したとする。そして、クラスタ(#0)20のノード(#0)200のDGP(#0)500から、ノード(#0)200のRCU(#0)6000、IXS10のRTR(#10)110、クラスタ(#1)21のノード(#0)210のRCU(#0)6100、クラスタ(#1)21のノード(#0)210のDGP(#0)510、クラスタSVP(#1)31を経由して、ログ2c4を統合SVP70に登録する動作を例として説明する。
最初の状態は、全ノード(#j)2ijの全RCU(#k)6ijkが2Port Activeの状態で運用されているものとする。
図25において、クラスタ(#0)20のノード(#0)200での装置障害の発生(S310)から、ログ転送パスを決定(S315)までの処理は、第3の実施例の図15の場合と同一であるため、説明を省略する。
ただし、ここでは、ログ転送パス決定手段5005は、図29の概念図に示すように、以下のパスを決定したものとする。まず、クラスタ(#0)20のノード(#0)200のDGP(#0)500からクラスタ(#0)20のノード(#0)200のRCU(#0)6000へのパスが、図29の「丸で囲んだ3」である。次に、クラスタ(#0)20のノード(#0)200のRCU(#0)6000から、IXS10のRTR(#10)110へのパスが、図29の「丸で囲んだ4」である。次に、IXS10のRTR(#10)110から、クラスタ(#1)21のノード(#0)210のRCU(#0)6100へのパスが、図29の「丸で囲んだ5」である。そして、クラスタ(#1)21ノード(#0)210のRCU(#0)6100から、クラスタ(#1)21のノード(#0)210のDGP(#0)510へのパスが、図29の「丸で囲んだ6」である。
次にクラスタ(#0)20のノード(#0)200のDGP(#0)500はRCU(#0)6000の状態が2Port Activeか否かを確認する(S316)。1Port Activeの場合(S316でNoのケース)は、DGP(#0)500はStandbyのRTR(#dk)1dkのパスを使用してクラスタ(#1)21ノード(#0)210のDGP(#0)510へログ転送を実施する(S318)。
クラスタ(#0)20のノード(#0)200のDGP(#0)500はRCU(#0)6000の状態が、2Port Activeで運用されている場合(S316でYesのケース)を以下に説明する。クラスタ(#0)20のノード(#0)200のDGP(#0)500の状態制御手段1101は、RTR(#10)110に対して、Active→Standbyに状態を変更するように要求する(S317)。
IXS10のRTR(#10)110の状態制御手段1101は、状態制御手段1101から状態変更要求を受けると(S320、ActiveからStandbyに状態を変更する(S321)。RTR(#10)110の状態通知手段1102は、状態変更後、接続されている全RCU(#0)6ij0に変更された状態を通知する(S322)。
接続されている全クラスタ(#i)2iの全ノード(#j)2ijの全RCU(#0)6ij0のRTR状態受信手段6001は、RTR(#00)100からの状態通知を受信する(S330)。
RTR状態受信手段6001は、状態変更があったことを検出した場合(S331でYesのケース)、ポート制御手段6002が入出力ポート(#1)6003、入出力ポート(#2)6004を、検出した状態変更に対応して設定する(S332)。状態変更がないことを検出した場合(S331でNoのケース)は、処理を終了する。
ここではRTR(#10)110のActive→Standbyへの変化なので、ポート制御手段6002は、入出力ポート(#2)6004の設定を、CPU(#k)4ijk−RTR(#1k)11k間のデータ転送は不可、DGP(#j)5ij−RTR(#1k)11k間のデータ転送は可能に制御する(S332)。
こうして、RTR(#10)110に接続する全ノード(#j)2ijのRCU(#0)6ij0が、1Port Activeに縮退する。そして、RTR(#10)110のActiveからStandbyへの状態変更が、完了する。そして、クラスタ(#0)20のノード(#0)200のDGP(#0)500は、クラスタ(#0)20のノード(#0)200のRCU(#0)6000、IXS10のRTR(#10)110、クラスタ(#1)21のノード(#0)210のRCU(#0)6100を経由して、クラスタ(#1)21ノード(#0)210のDGP(#0)510と通信が可能となる。
次にクラスタ(#0)20のノード(#0)200のDGP(#0)500はログ転送手段2006により、クラスタ(#1)21ノード(#0)210のDGP(#0)510へログ2c4の転送を実施する(S318)。
クラスタ(#1)21のノード(#0)210のDGP(#0)510の転送ログ受信手段2007は、転送されてきたログ2c4を受信する(S340)。
次に、クラスタ(#1)21のノード(#0)210のDGP(#0)510のRTR状態制御手段5010は、S316より以前の運用が2Port Activeで行われていたか否かを確認する(S341)。この運用が2Port Activeで行われていた(S341でYesのケース)場合は、RTR状態制御手段5010は、RTR(#10)110に対して、状態をStandby→Activeに復元するように要求する(S342)。
これにより、Active→Standbyに状態を変更する場合と同じ手順で、一時的に1Port Activeに縮退していたRTR(#10)110に接続する全ノード(#j)2ijのRCU(#0)6ij0の状態が、2Port Activeに復元する。そして、RTR(#10)110のStandbyからActiveへの状態変更が、完了する。この運用が2Port Activeで行われていなかった(S341でNoのケース)場合は、ここではなにもしない。
クラスタ(#1)21のノード(#0)210のDGP(#0)510のログ送信手段2002は、クラスタSVP(#1)31にログ2c4を送信する(S343)。
以後の処理は、実施例3の場合と同様である。
なお、運用が1Port Activeで行われている場合は、ログ転送の前後で2Port Activeから1Port Activeへの縮退と、1Port Activeから2Port Activeへの復元処理を行わない。
本発明の第4の実施例によれば、第3の実施例よりさらに、OSやユーザのJOBの運用への影響を低減することが可能になる。
その理由は、RTRと、入出力ポートを二重化し、IXSを介したノード間通信による、ログ転送パスをOSの運用を妨げないように設定することを可能にしたためである。
以上の実施例は、互いに組み合わせても良い。例えば、実施例2で説明したログ転送手段2006、転送ログ送信結果通知手段2008、転送ログ送信結果確認手段2009により実現される機能を、実施例3、実施例4に適用しても良い。