特許第6005668号(P6005668)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特許6005668計算機システム及び論理記憶領域管理方法
<>
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000002
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000003
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000004
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000005
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000006
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000007
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000008
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000009
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000010
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000011
  • 特許6005668-計算機システム及び論理記憶領域管理方法 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6005668
(24)【登録日】2016年9月16日
(45)【発行日】2016年10月12日
(54)【発明の名称】計算機システム及び論理記憶領域管理方法
(51)【国際特許分類】
   G06F 11/20 20060101AFI20160929BHJP
【FI】
   G06F11/20 623
【請求項の数】8
【全頁数】21
(21)【出願番号】特願2013-554106(P2013-554106)
(86)(22)【出願日】2012年1月16日
(86)【国際出願番号】JP2012050674
(87)【国際公開番号】WO2013108351
(87)【国際公開日】20130725
【審査請求日】2014年5月19日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】特許業務法人藤央特許事務所
(72)【発明者】
【氏名】松葉 浩也
(72)【発明者】
【氏名】鵜飼 敏之
【審査官】 三坂 敏夫
(56)【参考文献】
【文献】 特開平09−237226(JP,A)
【文献】 特開平06−187184(JP,A)
【文献】 特表2004−535012(JP,A)
【文献】 特開2009−080569(JP,A)
【文献】 特開2007−200103(JP,A)
【文献】 特開2001−109642(JP,A)
【文献】 特開2008−276281(JP,A)
【文献】 特開2009−265973(JP,A)
【文献】 特開平02−022739(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/20
(57)【特許請求の範囲】
【請求項1】
複数の計算機を備える計算機システムであって、
前記複数の計算機の各々は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される記憶媒体と、ネットワークを介して他の装置と接続するためのネットワークインタフェースとを有し、
前記複数の計算機は、サービスを提供する1台の主系計算機と、前記主系計算機に障害が発生した場合に前記サービスを引き継ぐ1台以上の副系計算機とを含み、
前記主系計算機は、
前記複数の計算機の各々の前記記憶媒体が提供する記憶領域を用いて論理記憶領域を生成し、生成された前記論理記憶領域へのアクセスを管理する第1の冗長化処理部と、
前記論理記憶領域を用いて前記サービスを提供する第1のサービス提供部と、を有し、
前記副系計算機は、
前記主系計算機を監視し、前記主系計算機の障害を検知した場合に、前記サービスを引き継ぐための処理を実行する障害制御部と、
前記複数の計算機の各々の前記記憶媒体が提供する記憶領域を用いて前記論理記憶領域を生成し、生成された前記論理記憶領域へのアクセスを管理する第2の冗長化処理部と、
前記論理記憶領域を用いて前記サービスを提供する第2のサービス提供部と、を有し、
前記第1の冗長化処理部は、
前記サービスの提供開始前に、前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体が提供する記憶領域を用いて第1の論理記憶領域を生成し、
前記第1の論理記憶領域と、当該第1の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体との対応関係を含む第1の冗長化情報を生成し、
前記第1の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体に、前記第1の冗長化情報を書き込み、
前記第1の論理記憶領域を前記第1のサービス提供部に提供して、当該第1のサービス提供部に前記サービスの開始を命令し、
前記第1のサービス提供部から前記第1の論理記憶領域に対する第1の書込要求を受信した場合、前記第1の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体に、前記第1の書込要求に含まれるデータを書き込み、
前記障害制御部は、前記主系計算機の障害を検知した場合に、前記第1の論理記憶領域を構成する前記副系計算機が有する前記記憶媒体に対する前記主系計算機からのアクセスを禁止し、その後、前記第2の冗長化処理部を呼び出し、
前記第2の冗長化処理部によって新たに第2の論理記憶領域が生成された後、当該第2の論理記憶領域を前記第2のサービス提供部に提供して、前記サービスの開始命令を出力することによって当該第2のサービス提供部を起動させ、
前記第2の冗長化処理部は、
前記主系計算機の障害を検知した前記障害制御部から呼び出された場合、前記主系計算機の記憶媒体を除く、前記副系計算機の記憶媒体のみを用いて前記第2の論理記憶領域を生成し、
前記第2の論理記憶領域と、当該第2の論理記憶領域を構成する前記副系計算機の記憶媒体との対応関係を含む第2の冗長化情報を生成し、
前記第2の論理記憶領域を構成する前記副系計算機の記憶媒体に前記第2の冗長化情報を書き込み、
前記第2の論理記憶領域に対する第2の書込要求を受信した場合、前記第2の論理記憶領域を構成する前記副系計算機の記憶媒体に、前記第2の書込要求に含まれるデータを書き込み、
前記第2のサービス提供部は、前記第2の論理記憶領域に格納されたデータを用いて前記サービスを継続することを特徴とする計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
前記第1の冗長化処理部は、前記第1の論理記憶領域に対する読出要求を受信した場合、前記第1の論理記憶領域を構成する前記主系計算機の記憶媒体からデータを読み出し、
前記第2の冗長化処理部は、前記第2の論理記憶領域に対する読出要求を受信した場合、前記第2の論理記憶領域を構成し、かつ、前記第2のサービス提供部が実行される前記副系計算機の記憶媒体からデータを読み出すことを特徴とする計算機システム。
【請求項3】
請求項1に記載の計算機システムであって、
前記主系計算機は、前記主系計算機の障害が回復し、再起動した後に、前記論理記憶領域の構成を回復する回復部を有し、
前記回復部は、
障害が回復した前記主系計算機が再起動した後に、前記第2のサービス提供部を停止させ、
前記第2の論理記憶領域を構成する前記副系計算機の記憶媒体から前記第2の冗長化情報を取得し、
前記第2の論理記憶領域を前記第1のサービス提供部に提供して、当該第1のサービス提供部に前記サービスの開始を命令し、
前記第1の冗長化処理部を呼び出し、
前記第1の冗長化処理部は、
前記回復部から呼び出された場合、前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体が提供する記憶領域を用いて第3の論理記憶領域を生成し、
前記第3の論理記憶領域と、当該第3の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体との対応関係を含む第3の冗長化情報を生成し、
前記第3の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体に、前記第3の冗長化情報を書き込み、
前記回復部は、前記第3の論理記憶領域を構成する前記主系計算機の記憶媒体に、前記第3の論理記憶領域を構成する前記副系計算機の記憶媒体に格納されるデータをコピーすることを特徴とする計算機システム。
【請求項4】
請求項1に記載の計算機システムであって、
前記主系計算機は、前記副系計算機を選択する選択部を有し、
前記選択部は、
前記計算機システムに含まれる前記複数の計算機の中から1台以上の前記副系計算機を選択し、
前記選択された副系計算機との接続を確立することを特徴とする計算機システム。
【請求項5】
複数の計算機を備える計算機システムにおける論理記憶領域管理方法であって、
前記複数の計算機の各々は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される記憶媒体と、ネットワークを介して他の装置と接続するためのネットワークインタフェースとを有し、
前記複数の計算機は、サービスを提供する1台の主系計算機と、前記主系計算機に障害が発生した場合に前記サービスを引き継ぐ1台以上の副系計算機とを含み、
前記方法は、
前記主系計算機が、前記サービスの運用開始前に、前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体が提供する記憶領域を用いて第1の論理記憶領域を生成する第1のステップと、
前記主系計算機が、前記第1の論理記憶領域と、当該第1の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体との対応関係を含む第1の冗長化情報を生成する第2のステップと、
前記主系計算機が、前記第1の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体に、前記第1の冗長化情報を書き込む第3のステップと、
前記主系計算機が、前記第1の論理記憶領域を用いて前記サービスを開始する第4のステップと、
前記主系計算機が、前記第1の論理記憶領域へのアクセス要求を受信した場合に、前記第1の冗長化情報を参照して、前記第1の論理記憶領域にアクセスする第5のステップと、
前記副系計算機が、前記主系計算機の障害を検知した場合に、前記第1の論理記憶領域を構成する前記副系計算機が有する前記記憶媒体に対する前記主系計算機からのアクセスを禁止する第6のステップと、
前記副系計算機が、新たに第2の論理記憶領域を生成する第7のステップと、
前記副系計算機が、前記第2の論理記憶領域へのアクセス要求を受信した場合に、前記第2の論理記憶領域と、当該第2の論理記憶領域を構成する前記副系計算機の記憶媒体との対応関係を含む第2の冗長化情報を参照して、前記第2の論理記憶領域にアクセスする第8のステップと、
前記副系計算機が、前記第2の論理記憶領域に格納されたデータを用いて前記サービスを継続する第9のステップと、を含み、
前記第5のステップは、前記主系計算機が、前記第1の論理記憶領域に対する第1の書込要求を受信した場合、前記第1の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体に、前記第1の書込要求に含まれるデータを書き込むステップを含み、
前記第7のステップは、
前記副系計算機が、前記主系計算機の記憶媒体を除く、前記副系計算機の記憶媒体のみを用いて前記第2の論理記憶領域を生成する第10のステップと、
前記副系計算機が、前記第2の冗長化情報を生成する第11のステップと、
前記副系計算機が、前記第2の論理記憶領域を構成する前記副系計算機の記憶媒体に前記第2の冗長化情報を書き込む第12のステップと、
前記副系計算機が、前記第2の論理記憶領域を用いて前記サービスを開始する第13のステップと、を含み、
前記第8のステップは、前記副系計算機が、前記第2の論理記憶領域に対する第2の書込要求を受信した場合、前記第2の論理記憶領域を構成する前記副系計算機の記憶媒体に、前記第2の書込要求に含まれるデータを書き込むステップを含むことを特徴とする論理記憶領域管理方法。
【請求項6】
請求項5に記載の論理記憶領域管理方法であって、
前記第5のステップは、前記第1の論理記憶領域に対する読出要求を受信した場合、前記第1の論理記憶領域を構成する前記主系計算機の記憶媒体からデータを読み出すステップを含み、
前記第8のステップは、前記副系計算機が、前記第2の論理記憶領域に対する読出要求を受信した場合、前記第2の論理記憶領域を構成し、かつ、前記サービスを提供する前記副系計算機の記憶媒体からデータを読み出すステップを含むことを特徴とする論理記憶領域管理方法。
【請求項7】
請求項5に記載の論理記憶領域管理方法であって、
前記方法は、さらに、
前記主系計算機が、当該主系計算機の障害が回復して再起動した後に、前記副系計算機において実行される前記サービスを停止させるステップと、
前記主系計算機が、前記第2の論理記憶領域を構成する前記副系計算機の記憶媒体から前記第2の冗長化情報を取得するステップと、
前記主系計算機が、前記第2の論理記憶領域を用いて前記サービスを開始するステップと、
前記主系計算機が、前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体が提供する記憶領域を用いて第3の論理記憶領域を生成するステップと、
前記主系計算機が、前記第3の論理記憶領域と、当該第3の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体との対応関係を含む第3の冗長化情報を生成するステップと、
前記主系計算機が、前記第3の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体に、前記第3の冗長化情報を書き込むステップと、
前記主系計算機が、前記第3の論理記憶領域を構成する前記主系計算機の記憶媒体に、前記第3の論理記憶領域を構成する前記副系計算機の記憶媒体に格納されるデータをコピーするステップと、を含むことを特徴とする論理記憶領域管理方法。
【請求項8】
請求項5に記載の論理記憶領域管理方法であって、
前記第1のステップは、
前記主系計算機が、前記計算機システムに含まれる前記複数の計算機の中から1台以上の前記副系計算機を選択するステップと、
前記主系計算機が、前記選択された副系計算機との接続を確立するステップと、を含むことを特徴とする論理記憶領域管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の計算機を用いて構築された分散共有ファイルシステムに関する。特に、耐故障機能を有する共有ストレージを構築可能な計算機システム及び共有ストレージの管理方法に関する。
【背景技術】
【0002】
複数の計算機から構成される計算機システムでは、一台の計算機に故障が発生して場合であってもシステム全体として動作を継続できる耐故障機能が求められる。
【0003】
耐故障機能としては、通常使用する主系計算機と、主系計算機の故障に備えて待機する副系計算機とを準備し、主系計算機に故障が発生した場合に副系計算機が動作を引き継ぐ方式が採られる。この場合、主系計算機と副系計算機とが共有ストレージを有し、主系計算機によって変更されたストレージの内容を副系計算機が引き継ぐことができるように構成される。
【0004】
しかし、前述したような構成では、副系計算機が動作を引き継いだ後に、意図せず主系計算機が共有ストレージへアクセスすることによって、データを破壊する可能性がある。前述したようなデータ破壊の危険性を排除するため、共有ストレージに対するアクセスの排他制御が必要である。
【0005】
例えば、特許文献1には、機能正否監視手段によって機能の停止が検出された場合に、複数のノードが共有ディスクに対して該共有ディスクの占有を指示するコマンドを発行し、占有権を取得したノードのみが共有ディスクの制御を可能にする方式が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−185478号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
一般的に、前述したような共有ストレージは、専用のストレージシステムを用いて構成される。前述したような複数の計算機が共有して使用できる記憶領域を提供する機能(以下、共有機能と記載する)、及び、排他制御の機能は、当該ストレージシステムが備える。そのため、一般的な計算機だけでは共有ストレージを構成できない問題がある。
【0008】
例えば、特許文献1は、計算機とは別に、外部に専用の共有ストレージ装置を用意しているが、計算機が有する記憶装置を用いて共有ストレージを構成するものではない。
【0009】
また、計算機が有する記憶装置を用いて共有ストレージを構成した場合に、1台の計算機に障害が発生した場合に、共有ストレージをどのように制御するかについては記載されていない。
【0010】
例えば、複数の計算機が有する記憶装置を用いて構成された共有ストレージを利用する場合、1台の計算機に障害が発生すると、共有ストレージに障害が発生した状態となる。そのため、主系計算機又は副系計算機は、当該共有ストレージを用いてサービスを継続することできない。特許文献1には、共有ストレージの障害を認識されることなく、サービスを継続する構成については記載されていない。
【0011】
本発明は、上記の問題点に鑑みてなされてものであり、共有機能及び排他制御の機能を備えていない計算機を用いて、安価、かつ、耐故障機能を有する計算機システムを提供することを目的とする。
【課題を解決するための手段】
【0012】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機を備える計算機システムであって、前記複数の計算機の各々は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続される記憶媒体と、ネットワークを介して他の装置と接続するためのネットワークインタフェースとを有し、前記複数の計算機は、サービスを提供する1台の主系計算機と、前記主系計算機に障害が発生した場合に前記サービスを引き継ぐ1台以上の副系計算機とを含み、前記主系計算機は、前記複数の計算機の各々の前記記憶媒体が提供する記憶領域を用いて論理記憶領域を生成し、生成された前記論理記憶領域へのアクセスを管理する第1の冗長化処理部と、前記論理記憶領域を用いて前記サービスを提供する第1のサービス提供部と、を有し、前記副系計算機は、前記主系計算機を監視し、前記主系計算機の障害を検知した場合に、前記サービスを引き継ぐための処理を実行する障害制御部と、前記複数の計算機の各々の前記記憶媒体が提供する記憶領域を用いて前記論理記憶領域を生成し、生成された前記論理記憶領域へのアクセスを管理する第2の冗長化処理部と、前記論理記憶領域を用いて前記サービスを提供する第2のサービス提供部と、を有し、前記第1の冗長化処理部は、前記サービスの提供開始前に、前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体が提供する記憶領域を用いて第1の論理記憶領域を生成し、前記第1の論理記憶領域と、当該第1の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体との対応関係を含む第1の冗長化情報を生成し、前記第1の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体に、前記第1の冗長化情報を書き込み、前記第1の論理記憶領域を前記第1のサービス提供部に提供して、当該第1のサービス提供部に前記サービスの開始を命令し、前記第1のサービス提供部から前記第1の論理記憶領域に対する第1の書込要求を受信した場合、前記第1の論理記憶領域を構成する前記主系計算機の記憶媒体及び前記副系計算機の記憶媒体に、前記第1の書込要求に含まれるデータを書き込み、前記障害制御部は、前記主系計算機の障害を検知した場合に、前記第1の論理記憶領域を構成する前記副系計算機が有する前記記憶媒体に対する前記主系計算機からのアクセスを禁止し、その後、前記第2の冗長化処理部を呼び出し、前記第2の冗長化処理部によって新たに第2の論理記憶領域が生成された後、当該第2の論理記憶領域を前記第2のサービス提供部に提供して、前記サービスの開始命令を出力することによって当該第2のサービス提供部を起動させ、前記第2の冗長化処理部は、前記主系計算機の障害を検知した前記障害制御部から呼び出された場合、前記主系計算機の記憶媒体を除く、前記副系計算機の記憶媒体のみを用いて前記第2の論理記憶領域を生成し、前記第2の論理記憶領域と、当該第2の論理記憶領域を構成する前記副系計算機の記憶媒体との対応関係を含む第2の冗長化情報を生成し、前記第2の論理記憶領域を構成する前記副系計算機の記憶媒体に前記第2の冗長化情報を書き込み、前記第2の論理記憶領域に対する第2の書込要求を受信した場合、前記第2の論理記憶領域を構成する前記副系計算機の記憶媒体に、前記第2の書込要求に含まれるデータを書き込み、前記第2のサービス提供部は、前記第2の論理記憶領域に格納されたデータを用いて前記サービスを継続することを特徴とする。
【発明の効果】
【0013】
本発明の一形態によれば、一般的な計算機を用いて耐故障機能を備えた論理記憶領域(共有ストレージ)を構築することが可能となる。また、主系計算機の障害発生時には、業務処理部は論理記憶領域の障害を意識させることなくサービスを継続できる。
【図面の簡単な説明】
【0014】
図1】本発明の第一の実施形態の計算機システムの構成を示すブロック図である。
図2】本発明の第一の実施形態における構成設定部(主系)が実行する処理を説明したフローチャートである。
図3】本発明の第一の実施形態における副系選択部が実行する処理を説明するフローチャートである。
図4】本発明の第一の実施形態における冗長化処理部(主系)が実行する処理を説明するフローチャートである。
図5】本発明の第一の実施形態における構成設定部(副系)が実行する処理を説明するフローチャートである。
図6】本発明の第一の実施形態における障害制御部が実行する処理を説明するフローチャートである。
図7】本発明の第一の実施形態における構成設定部(副系)が、障害発生時に実行する処理を説明するフローチャートである。
図8】本発明の第一の実施形態における冗長化処理部(副系)が実行する処理を説明するフローチャートである。
図9】本発明の第一の実施形態における構成回復部(主系)が実行する処理を説明するフローチャートである。
図10】本発明の第一の実施形態における構成回復部(副系)が実行する処理を説明するフローチャートである。
図11】本発明の第二の実施形態の計算機システムの構成を示したブロック図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0016】
(第一の実施形態)
【0017】
図1は、本発明の第一の実施形態の計算機システムの構成を示すブロック図である。
【0018】
本実施形態の計算機システムは、計算機101A及び計算機101Bから構成される。計算機101A及び計算機101Bは、ネットワーク180を介して互いに接続される。ネットワーク180は、例えば、LAN(Local Area Network)が考えられる。ただし、本発明は、ネットワーク180の接続形式に限定されない。以下、計算機101A及び計算機101Bを区別しない場合、計算機101と記載する。
【0019】
本実施形態では、計算機101A及び計算機101Bが備える記憶媒体を用いて共有ストレージを構成する。また、計算機101Aは、共有ストレージを用いてサービスを提供する主系計算機として稼動し、計算機101Bは計算機101Aに障害が発生した場合にサービスを継続する副系計算機として稼動するものとする。なお、図1では、計算機101が2台であるが、3台以上あってもよい。
【0020】
まず、計算機101のハードウェア構成について説明する。
【0021】
計算機101Aは、プロセッサ102A、メモリ103A、ストレージインタフェース104A、ディスク装置105A及びネットワークインタフェース106Aを備える。
【0022】
プロセッサ102Aは、メモリ103Aに格納されるプログラムを実行する。プロセッサ102Aがプログラムを実行することによって、計算機101Aの機能を実現できる。以下、プログラムを主語に処理を説明する場合、プロセッサ102Aによってプログラムが実行されていることを示す。
【0023】
メモリ103Aは、プロセッサ102Aが実行するプログラム及び当該プログラムを実行するために必要なデータを格納する。メモリ103Aは、例えば、DRAMのような半導体メモリが考えられ、ディスク装置105Aに比べ高速にアクセスすることができる。メモリ103Aに格納されるプログラム及びデータについては後述する。
【0024】
ストレージインタフェース104Aは、大容量のデータを格納可能なディスク装置105Aに接続するためのインタフェースである。
【0025】
ディスク装置105Aは、所定のサービスに必要な情報(例えば、ファイルデータ)を格納する。ディスク装置105Aは、例えば、HDD(Hard Disk Drive)が考えられる。
【0026】
なお、ディスク装置105以外のSSD(Solid State Drive)等の記憶媒体であってよい。また、ディスク装置105Aは、複数あってもよい。また、ディスク装置105Aは計算機101Aに外付けされた形式でもよい。
【0027】
ネットワークインタフェース106Aは、ネットワーク180を介して他の装置と接続するためのインタフェースである。
【0028】
なお、計算機101Aは、メモリ103A及びディスク装置105A以外に、OS(Operating System)等の情報を格納する記憶装置を備えていてもよい。
【0029】
計算機101Bのハードウェア構成は計算機101Aと同一であるため説明を省略する。
【0030】
次に、計算機101のソフトウェア構成について説明する。
【0031】
計算機101Aのメモリ103Aには、サービス提供部150、冗長化処理部151A、ディスクドライバ部152A、ネットワークディスクドライバ部153A、副系選択部154、構成設定部155A及び構成回復部156Aを実現するプログラムが格納される。
【0032】
サービス提供部150は、共有ストレージを用いて所定のサービスを提供する。サービス提供部150は、サービスの提供時に共有ストレージに対するアクセス要求を出力する。
【0033】
冗長化処理部151Aは、共有ストレージに対するアクセス要求を受信し、当該アクセス要求に対応するアクセス処理を実行する。具体的には、冗長化処理部151Aは、ディスクドライバ部152A及びネットワークディスクドライバ部153Bに対してアクセス要求を出力する。冗長化処理部151Aが実行する処理の詳細は、図4を用いて後述する。冗長化処理部151Aは、例えば、OSが備えるソフトウェアRAID機能によって実現することができる。
【0034】
ディスクドライバ部152Aは、冗長化処理部151Aから出力されたアクセス要求に基づいて、共有ストレージを構成するディスク装置105Aにアクセスする。
【0035】
ネットワークディスクドライバ部153Aは、ネットワーク180を介して、共有ストレージを構成するディスク装置105Bにアクセスする。具体的には、ネットワークディスクドライバ部153Aは、ネットワークディスクドライバ部153Bにアクセス要求を送信する。
【0036】
副系選択部154は、計算機システムに含まれる複数の計算機101から副系計算機となる計算機101を選択する。副系選択部154が実行する処理の詳細は、図3を用いて後述する。
【0037】
構成設定部155Aは、主系計算機として稼動するために必要な情報を設定する。構成設定部155Aが実行する処理の詳細は、図2を用いて後述する。
【0038】
構成回復部156Aは、計算機101Aに障害が発生した場合に、当該障害を回復するための処理を実行する。構成回復部156Aが実行する処理の詳細は、図9を用いて後述する。
【0039】
なお、メモリ103Aに格納されるプログラムは、ディスク装置105A又は外部の装置(図示省略)に格納されていてもよい。この場合、ディスク装置105Aから各プログラムが読み出され、又は、ネットワーク180を介して外部の装置から各プログラムが読み出され、メモリ103Aに格納される。
【0040】
計算機101Bのメモリ103Bには、障害制御部170、代替サービス提供部171、冗長化処理部151B、ディスクドライバ部152B、ネットワークディスクドライバ部153B、構成設定部155B、及び構成回復部156Bを実現するプログラムが格納される。
【0041】
障害制御部170は、主系計算機として稼動する計算機101Aの動作を監視し、計算機101Aの障害を検知した場合に、計算機101Bがサービスを継続するための処理を実行する。障害制御部170が実行する処理の詳細は、図6を用いて後述する。
【0042】
代替サービス提供部171は、障害が発生した計算機101Aの代わりにサービスを提供する。
【0043】
冗長化処理部151Bは、冗長化処理部151Aと同一のものであり、代替サービス提供部171から出力されたアクセス要求を受信し、共有ストレージに対するアクセス処理を実行する。ディスクドライバ部152Bは、ディスクドライバ部152Bと同一のものである。冗長化処理部151Bが実行する処理の詳細は、図8を用いて後述する。
【0044】
ネットワークディスクドライバ部153Bは、ネットワークディスクドライバ部153Aから受信したアクセス要求に基づいて、ディスクドライバ部152Bに対してアクセス要求を出力する。これによって、共有ストレージを構成するディスク装置105Bへのアクセスを実現できる。また、ネットワークディスクドライバ部153Bは、ネットワーク180を介して、共有ストレージを構成するディスク装置105Aにアクセスする。
【0045】
構成設定部155Bは、副系計算機として稼動するために必要な情報を設定する。構成設定部155Bが実行する処理の詳細は、図5及び図7を用いて後述する。
【0046】
構成回復部156Bは、主系計算機の障害が回復した後に、再び副系計算機として稼動するための処理を実行する。構成回復部156Bが実行する処理の詳細は、図10を用いて後述する。
【0047】
なお、メモリ103Bに格納されるプログラムは、ディスク装置105B又は外部の装置(図示省略)に格納されていてもよい。この場合、ディスク装置105Bから各プログラムが読み出され、又は、ネットワーク180を介して外部の装置から各プログラムが読み出され、メモリ103Bに格納される。
【0048】
また、構成設定部155A及び構成設定部155Bは、同一の機能を提供するプログラムであり、主系計算機の設定処理及び副系計算機の設定処理を実行することができる。構成回復部156A及び構成回復部156Bは、同一の機能を提供するプログラムであり、主系計算機の回復処理及び副系計算機の回復処理を実行することができる。
【0049】
以下、ディスクドライバ部152A及びディスクドライバ部152Bを区別しない場合、ディスクドライバ部152と記載し、ネットワークディスクドライバ部153A及びネットワークディスクドライバ部153Bを区別しない場合、ネットワークディスクドライバ部153と記載する。また、構成設定部155A及び構成設定部155Bを区別しない場合、構成設定部155と記載し、構成回復部156A及び構成回復部156Bを区別しない場合、構成回復部156と記載する。
【0050】
以下、各構成の処理について説明する。まず、図2図5を用いて、主系計算機及び副系計算機の設定方法について説明する。
【0051】
図2は、本発明の第一の実施形態における構成設定部155A(主系)が実行する処理を説明したフローチャートである。
【0052】
構成設定部155Aは、計算機システムの管理者からの指示を受信すると処理を開始する(ステップS201)。このとき、当該指示には、計算機システム内の計算機101の総数と構成設定部155Aが実行される計算機101Aの識別番号が含まれる。
【0053】
例えば、図1の例では、計算機101の総数は「2」、計算機101Aの識別番号は「1」、計算機101Bの識別番号が「2」となる。
【0054】
構成設定部155Aは、副系選択部154を呼び出す(ステップS202)。呼び出された副系選択部154が後述する処理(図3参照)を実行することによって、副系計算機となる計算機101を決定することができる。このとき、構成設定部155Aは、副系選択部154から副系計算機となる計算機101の識別情報を取得する。
【0055】
計算機101の識別情報は、計算機システム内において計算機101を一意に識別できる情報であればよく、例えば、計算機101のコンピュータ名、MACアドレス及びIPアドレス等が考えられる。
【0056】
構成設定部155Aは、ネットワークディスクドライバ部153Aに対して副系計算機が備えるネットワークディスクドライバ部153と接続するよう指示する(ステップS203)。図1に示す例では、ネットワークディスクドライバ部153Aは、ネットワークディスクドライバ部153Bと接続するように指示される。これによって、ネットワークディスクドライバ部153Aは、ネットワークディスクドライバ部153Bにアクセス要求を送信することができる。
【0057】
構成設定部155Aは、冗長化処理部151Aに論理デバイス(共有ストレージ)の生成を指示する(ステップS204)。ここで、論理デバイスとは、サービス提供部150が一つのディスク装置として認識可能な論理的なディスク装置である。本発明では、複数の計算機101が有するディスク装置105が有する記憶領域から生成される論理デバイスが、共有ストレージとして用いられる。
【0058】
これによって、ディスク装置105A及びディスク装置105Bが有する記憶領域から論理デバイスが生成される。また、ディスクドライバ部152A及びネットワークディスクドライバ部153Aのそれぞれに同一の書込要求を出力される。そのため、論理デバイスへの書込処理では、ディスク装置105A及びディスク装置105Bのそれぞれにデータが書き込まれる。前述のようにデータが、異なるディスク装置105に格納されるため、主系計算機に障害が発生しても副系計算機のディスク装置105に格納されるデータを用いてサービスを継続することができる。
【0059】
なお、論理デバイス上には、分散共有ファイルシステムを構築することができる。共有ファイルシステム上に配置されたファイルには、すべての計算機101が同じようにアクセスできる。
【0060】
構成設定部155Aは、サービス提供部150に論理デバイスにアクセスするように指示し、処理を終了する(ステップS205、ステップS206)。具体的には、構成設定部155Aは、サービスに用いる記憶領域として論理デバイスの識別情報を通知する。これによってサービス提供部150は、論理デバイスに対してアクセス要求を出力する。
【0061】
図3は、本発明の第一の実施形態における副系選択部154が実行する処理を説明するフローチャートである。
【0062】
副系選択部154は、構成設定部155Aから呼び出されると処理を開始する(ステップS301)。なお、副系選択部154は、呼び出されるときに計算機システムを構成する計算機101の総数と、構成設定部155Aを実行する計算機101の識別番号とを構成設定部155Aから受け取る。
【0063】
副系選択部154は、自身の識別番号が計算機システムを構成する計算機101に割り当てられた識別番号のうち、最大の識別番号であるか否かを判定する(ステップS302)。例えば、副系選択部154は、自身の識別番号が計算機101の総数と同一であるか否かを判定する。自身の識別番号が計算機101の総数と同一である場合には、自身の識別番号が最大の識別番号であると判定される。
【0064】
自身の識別番号が最大であると判定された場合、副系選択部154は、最小の識別番号(例えば、識別番号が「1」)の計算機101を副系計算機に選択し、ステップS305に進む(ステップS303)。
【0065】
自身の識別番号が最大でないと判定された場合、副系選択部154は、自身の識別番号に「1」を加算した識別番号の計算機101を副系計算機に選択し、ステップS305に進む(ステップS304)。
【0066】
副系選択部154は、副系計算機として選択された計算機101の識別情報を取得し、処理を終了する(ステップS305、ステップS306)。
【0067】
例えば、予め、識別番号と識別情報とを対応づけたデータを準備しておき、副系選択部154が、副系計算機の識別番号に基づいて当該データを参照することによって識別情報を取得する方法が考えられる。
【0068】
なお、副系計算機の選択方法は、図3に示すものに限定されず、計算機101のリソース量、使用率等に基づいて選択する方法であってもよい。また、2台以上の副系計算機を選択する場合、副系計算機として選択された計算機101の識別番号を新たな入力として図3に示す処理を繰り返し実行すればよい。
【0069】
図4は、本発明の第一の実施形態における冗長化処理部151A(主系)が実行する処理を説明するフローチャートである。
【0070】
冗長化処理部151Aは、構成設定部155Aから論理デバイスの生成指示を受信すると処理を開始する(ステップS401)。冗長化処理部151Aは、副系計算機の識別情報を取得する(ステップS402)。
【0071】
冗長化処理部151Aは、主系計算機のディスク装置105及び副系計算機のディスク装置105を統合して論理デバイスを生成する(ステップS403)。図1に示す例では、ディスク装置105A及びディスク装置105Bが統合された論理デバイスが生成される。
【0072】
冗長化処理部151Aは、論理デバイスと各ディスク装置105とを対応づけた冗長化情報を生成する(ステップS404)。冗長化情報は、少なくとも、論理デバイスの識別情報及びディスク装置105の識別情報を含む。なお、冗長化情報は、計算機101の識別情報等その他の情報を含んでいてもよい。
【0073】
冗長化処理部151Aは、冗長化情報を各ディスク装置105へ書き込み、処理を終了する(ステップS405、ステップS406)。図1に示す例では、冗長化処理部151Aは、ディスクドライバ部152A及びネットワークディスクドライバ部153Aのそれぞれに冗長化情報の書込要求を出力する。これによって、共有ストレージ、すなわち、論理デバイスを構成するディスク装置105A及びディスク装置105Bに冗長化情報が格納される。
【0074】
図5は、本発明の第一の実施形態における構成設定部155B(副系)が実行する処理を説明するフローチャートである。
【0075】
構成設定部155Bは、計算機システムの管理者からの指示を受信すると処理を開始する(ステップS501)。なお、構成設定部155Bの処理は、構成設定部155Aの処理よりも前に実行される。
【0076】
構成設定部155Bは、ネットワークディスクドライバ部153Bに対して、他の計算機101から自身のディスク装置105へのアクセスを許可するよう設定し、処理を終了する(ステップS502、ステップS503)。図1に示す例では、計算機101Aからディスク装置105Bへのアクセスが許可される。構成設定部155Bが実行する処理によって、計算機101Aがディスク装置105Bにアクセス可能となり、論理デバイスを構成する記憶領域を提供することが可能となる。
【0077】
以上が、共有ストレージの構成時に実行される処理である。図2図5の処理が終了した後、サービス提供部150は、論理デバイスを用いて所定のサービスを提供する。
【0078】
このとき、冗長化処理部151は、サービス提供部150から論理デバイスへの書込要求を受信すると、ディスク装置105Aから冗長化情報を読み出し、当該冗長化情報に基づいて、ディスク装置105A及びディスク装置105Bのそれぞれにデータを書き込む。なお、読み出された冗長化情報は、メモリ103Aに一時的に格納される。これによって、論理デバイスへのアクセス時にディスク装置105へのI/O発生を低減することができる。
【0079】
また、冗長化処理部151は、サービス提供部150から論理デバイスへの読出要求を受信すると、冗長化情報を参照して、ディスク装置105Aからデータを読み出す。
【0080】
次に、図6図8を用いて、主系計算機として稼動する計算機101Aに障害が発生した場合に実行される処理について説明する。
【0081】
図6は、本発明の第一の実施形態における障害制御部170が実行する処理を説明するフローチャートである。
【0082】
障害制御部170は、周期的に、主系計算機を監視しており、主系計算機の障害を検知すると処理を開始する(ステップS601)。図1に示す例では、障害制御部170は、主系計算機として稼動する計算機101Aを監視し、計算機101Aの障害を検知すると処理を開始する。
【0083】
監視方法としては、ネットワーク180を介した通信を監視する方法などが考えられる。ただし、本発明は、主系計算機の障害検出方法に限定されない。
【0084】
なお、副系計算機が複数ある場合には、予め、副系計算機に優先順位を与えておき、優先順位が高い副系計算機が主導的に処理を実行するように構成すればよい。
【0085】
障害制御部170は、ネットワークディスクドライバ部153Bに対して、論理デバイスを構成する他の計算機101からディスク装置105へのアクセスを禁止するように指示する(ステップS602)。副系計算機が2台以上ある場合には、主系計算機だけではなく他の副系計算機からのアクセスも禁止される。図1に示す例では、計算機101Aからディスク装置105Bへのアクセスが禁止される。
【0086】
障害制御部170は、構成設定部155Bを呼び出す(ステップS603)。障害制御部170は、構成設定部155Bからの処理完了の通知を待つ。構成設定部155Bが実行する処理の詳細は、図7を用いて後述する。
【0087】
その後、障害制御部170は、代替サービス提供部171の処理の開始を指示して、処理を終了する(ステップS604、ステップS605)。
【0088】
以上の処理によって、代替サービス提供部171が、サービス提供部150に代わってサービスを継続することができる。
【0089】
ステップS602では、計算機101Aからディスク装置105Bへのアクセスを禁止している。これは、計算機101Aが予期せず再び動作を始めた場合に、代替サービス提供部171及びサービス提供部150からディスク装置105Bへのアクセスが衝突してデータが失われる危険を回避するためである。
【0090】
図7は、本発明の第一の実施形態における構成設定部155B(副系)が、障害発生時に実行する処理を説明するフローチャートである。
【0091】
構成設定部155Bは、障害制御部170から読み出されると処理を開始する(ステップS701)。構成設定部155Bは、ネットワークディスクドライバ部153Bに対して他の副系計算機が備えるネットワークディスクドライバ部153Bと接続するよう指示する(ステップS702)。これによって、ネットワークディスクドライバ部153Bは、他の副系計算機のネットワークディスクドライバ部153にアクセス要求を送信することができる。
【0092】
なお、副系計算機はすでに選択されているため、ステップS202に対応する処理は省略される。また、構成設定部155Bは、冗長化情報を参照することによって他の副系計算機を特定することができる。
【0093】
構成設定部155Bは、冗長化処理部151Bに論理デバイス(共有ストレージ)の生成を指示する(ステップS703)。図1に示す例では、計算機101Bが備えるディスク装置105Bから論理デバイスが生成される。
【0094】
構成設定部155Bは、代替サービス提供部171に新たに生成された論理デバイスにアクセスするように指示して、処理を終了する(ステップS704、ステップS705)。
【0095】
図8は、本発明の第一の実施形態における冗長化処理部151B(副系)が実行する処理を説明するフローチャートである。
【0096】
冗長化処理部151Bは、構成設定部155Bから読み出されると処理を開始する(ステップS801)。冗長化処理部151Bは、副系計算機の識別情報を取得する(ステップS802)。ステップS802の処理は、ステップS402と同一の処理である。
【0097】
冗長化処理部151Bは、副系計算機のディスク装置105を統合して論理デバイスを生成する(ステップS803)。
【0098】
ステップS803の処理はステップS403と異なり、主系計算機のディスク装置105を除いたディスク装置105から論理デバイスが生成される。すなわち、副系計算機のディスク装置105のみから論理デバイスが生成される。
【0099】
図1に示す例では、ディスク装置105Bのみから論理デバイスが生成される。
【0100】
冗長化処理部151Bは、論理デバイスと各ディスク装置105とを対応づけた冗長化情報を生成する(ステップS804)。ステップS804の処理は、ステップS404と同一の処理である。
【0101】
冗長化処理部151Bは、冗長化情報を各ディスク装置105へ書き込み、処理を終了する(ステップS805、ステップS806)。図1に示す例では、冗長化処理部151Bは、ネットワークディスクドライバ部153Bに冗長化情報の書込要求を出力する。これによって、論理デバイスを構成するディスク装置105Bに冗長化情報が格納される。
【0102】
なお、新たに生成された論理デバイスの識別情報は、最初に生成された論理デバイスの識別情報と同一となるように設定する。これによって、障害発生前と同一の動作環境の下サービスを継続することができる。ただし、異なる論理デバイスの識別情報が設定されてもよい。
【0103】
本実施形態では、前述した処理によって耐障害性を高める効果がある。通常、冗長化処理部151Bは、書込要求を受信した場合、ディスク装置105に格納される冗長化情報を読み出して、論理デバイスを構成するディスク装置105を特定する。さらに、冗長化処理部151Bは、特定された全てのディスク装置105に同一のデータを書き込む。
【0104】
しかし、主系計算機として稼働する計算機101に障害が発生すると、論理デバイスを構成する主系計算機のディスク装置105を利用できない状態となる。そのため、冗長化処理部151Bは、論理デバイスにエラーが発生しており、論理デバイスを利用できないと判定する。したがって、冗長化処理部151Bは、論理デバイスを構成する複数のディスク装置105にデータを書き込むことができない。すなわち、データの冗長化が実現できない。
【0105】
そこで、本実施形態では、障害制御部170から呼び出された冗長化処理部151Bが、主系計算機のディスク装置105を除く他のディスク装置105を用いて新たに論理デバイスを構築する。これによって、冗長化処理部151Bは、代替サービス提供部171から書込要求を受信した場合に、複数のディスク装置105にデータを書き込むことができる。
【0106】
また、図1に示すように、論理デバイスを構成するディスク装置105が1台のみであっても、代替サービス提供部171からは論理デバイスに障害が発生しているとは認識されずにサービスを継続することができるという効果がある。
【0107】
図9は、本発明の第一の実施形態における構成回復部156A(主系)が実行する処理を説明するフローチャートである。
【0108】
構成回復部156Aは、障害が回復した計算機101Aが再起動した後、計算機システムの管理者から処理開始の指示を受信すると処理を開始する(ステップS901)。構成回復部156Aは、副系計算機の構成回復部156Bを呼び出す(ステップS902)。これによって、代替サービス提供部171からサービス提供部150へサービスを引き継ぐための処理(図10参照)が実行される。
【0109】
構成回復部156Aは、ネットワークディスクドライバ部153Aに対して副系計算機が備えるネットワークディスクドライバ部153Bと接続するよう指示する(ステップS903)。ステップS903の処理は、ステップS203と同一の処理である。ステップS903の処理によって、計算機101Aは論理デバイスへアクセスが可能となる。
【0110】
構成回復部156Aは、冗長化処理部151Aに対して、副系計算機から冗長化情報の取得を指示する(ステップS904)。当該指示を受信した冗長化処理部151Aは、ネットワークディスクドライバ部153Aに、副系計算機から冗長化情報を取得するためのアクセス要求を出力する。
【0111】
ステップS904では、ステップ803において生成された新たな論理デバイスの冗長化構成が読み出される。これによって、冗長化構成を維持したままサービスを継続することができる。
【0112】
図1に示す例では、論理デバイスを構成するディスク装置105Bが一個であるためデータの二重化はできないが、論理デバイスに障害が発生しているとは認識されることなくサービスを継続することができるという効果がある。
【0113】
構成回復部156Aは、サービス提供部150に論理デバイスにアクセスするように指示し、さらに、サービスの開始を指示する(ステップS905)。ステップS905の処理は、ステップS205と同一の処理である。
【0114】
構成回復部156Aは、冗長化処理部151Aに対してディスク装置105Aを管理下に置くよう指示する、すなわち、論理デバイスの再構成を指示する(ステップS906)。
【0115】
当該指示を受信した冗長化処理部151Aは、図4に示す処理と同様の処理を実行する。具体的には、ステップS403では、冗長化処理部151Aは、主系計算機のディスク装置105及び副系計算機のディスク装置105の全てを用いて論理ディスクを生成する。すなわち、障害が発生する前と同一の構成の論理デバイスが生成される。また、ステップS405では、冗長化処理部151Aは、主系計算機のディスク装置105及び副系計算機のディスク装置105のそれぞれに冗長化情報を書き込む。なお、この時点では、論理デバイスを構成する主系計算機のディスク装置105にはデータが反映されていない。
【0116】
以上の処理によって、障害発生前の論理デバイスの構成を回復することができる。図1に示す例では、ステップS706の処理によって、データの二重書き込みが可能となる。
【0117】
構成回復部156Aは、論理デバイスが生成された後、冗長化処理部151Aに、副系計算機のディスク装置105に格納されるデータを主系計算機のディスク装置105にコピーするように指示し、処理を終了する(ステップS907、ステップS908)。
【0118】
当該指示を受信した冗長化処理部151Aは、ネットワークディスクドライバ部153Aに対してアクセス要求(読出要求)を出力する。これによって、副系計算機のディスク装置105からデータを取得することができる。また、冗長化処理部151Aは、ディスクドライバ部152Aに対して、取得されたデータのアクセス要求(書込要求)を出力する。これによって、主系計算機のディスク装置105にデータが書き込まれる。
【0119】
ステップS907の処理によって、論理デバイスを構成する全てのディスク装置に同一のデータが反映される。すなわち、主系計算機が停止している間に代替サービス提供部171によって論理デバイスに書き込まれたデータが主系計算機のディスク装置105に書き込まれる。
【0120】
図10は、本発明の第一の実施形態における構成回復部156B(副系)が実行する処理を説明するフローチャートである。
【0121】
構成回復部156Bは、構成回復部156Aから呼び出されると処理を開始する(ステップS1001)。構成回復部156Bは、代替サービス提供部171を停止する(ステップS1002)。
【0122】
構成回復部156Bは、ネットワークディスクドライバ部153Bに対して、計算機101Aからディスク装置105Bへのアクセスを許可するよう設定し、処理を終了する(ステップS1003、ステップS1004)。
【0123】
以上の処理によって、他の計算機101からネットワークディスクドライバ部153Bへのアクセスを再開させ、計算機101Aからのアクセスが可能となる。
【0124】
なお、計算機101Bに障害が発生した場合、計算機101Bの再起動後に構成設定部155Bを起動させる。これによって、ネットワークディスクドライバ部153Aからネットワークディスクドライバ部153Bへのアクセスを回復できる。その後、冗長化処理部151Aが、自動的にディスク装置105Aから105Bへデータをコピーする。
【0125】
第一の実施形態では、計算機101Aがサービスを提供する主系計算機、計算機101Bが副系計算機であるものとして説明したが、一例であって、それぞれの計算機101が同一の構成を備えてもよい。これによって、お互いが他方の副系計算機となれるような構成が可能となる。
【0126】
第一の実施形態によれば、複数の計算機のディスク装置を用いて共有ストレージを構成した場合に、いずれかの計算機に障害が発生しても、副系計算機の代替サービス提供部171は、共有ストレージを用いてサービスを継続することができる。すなわち、副系計算機の代替サービス提供部171は、共有ストレージの冗長化構成が維持されているものと認識することができる。
【0127】
これによって、専用のストレージシステムを用いることなく、一般的な計算機を用いて共有ストレージを構築することができ、また、障害への耐性も確保することができる。
【0128】
(第二の実施形態)
【0129】
第二の実施形態について説明する。第二の実施形態では、具体的な装置構成を用いて実際のシステム構築例を説明する。
【0130】
以下、第一の実施形態との差異を中心に説明する。
【0131】
図11は、本発明の第二の実施形態の計算機システムの構成を示したブロック図である。
【0132】
計算機システムの構成は、第一の実施形態と同一であるため説明を省略する。
【0133】
第二の実施形態では、計算機101のハードウェア構成が一部異なる。具体的には、第二の実施形態では、ネットワークインタフェース106A、106Bがイーサネットコントローラ1101A、1101Bとなる(イーサネットは登録商標、以下同じ。)。その他のハードウェア構成は、第一の実施形態と同一であるため説明を省略する。
【0134】
また第二の実施形態では、各計算機101が備えるソフトウェア構成が異なる。具体的には、第二の実施形態では、冗長化処理部151A、151BはOSが備えるソフトウェアRAID機能部1111A、1111Bとなり、ネットワークディスクドライバ部153AはiSCSIイニシエータ1112となり、ネットワークディスクドライバ部153BはiSCSIターゲット1113となる。また、計算機101Bは、ネットワーク180を介した計算機101からのアクセスを制御する構成としてネットワークフィルタ部1114を備える。
【0135】
構成設定部155Aの処理は、以下の点が異なる。ステップS202では、構成設定部155Aは、副系計算機の名称を取得する。また、ステップS203では、構成設定部155Aは、取得された副系計算機の名称をIPv4のアドレス又はIPv6のアドレスに変換し、変換されたアドレスを用いてiSCSIターゲット1113に接続するように指示する。その他の処理は、第一の実施形態と同一である。
【0136】
障害制御部170の処理は、以下の点が異なる。
【0137】
ステップS602では、障害制御部170は、iSCSIターゲット1113を停止させ、又は、ネットワークフィルタ部1114に対してiSCSIターゲット1113に送信されたTCP/IPプロトコルのパケットを破棄するように指示する。その他の処理は、第一の実施形態と同一である。
【0138】
構成回復部156Bの処理は、以下の点が異なる。
【0139】
ステップS803では、構成回復部156Bが、iSCSIターゲット1113を再開させ、又は、ネットワークフィルタ部1114に対してiSCSIターゲット1113に送信されるTCP/IPプロトコルのパケットの破棄を中止するように指示する。その他の処理は、第一の実施形態と同一である。
【0140】
第二の実施形態によれば、ソフトウェアRAID、iSCSIターゲット、iSCSIイニシエータ及びイーサネットを用いて、安価に共有ストレージを構築することができる。
【0141】
なお、本発明は前述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、前述した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【0142】
また、前述の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアを用いて実現してもよい。また、前述の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアを用いて実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、HDD及びSSD等の記録装置、又は、ICカード、SDカード及びDVD等の記録媒体に格納することができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11