JP3736134B2 - Distributed storage method, distributed storage system, and recording medium recording distributed storage program - Google Patents
Distributed storage method, distributed storage system, and recording medium recording distributed storage program Download PDFInfo
- Publication number
- JP3736134B2 JP3736134B2 JP24334298A JP24334298A JP3736134B2 JP 3736134 B2 JP3736134 B2 JP 3736134B2 JP 24334298 A JP24334298 A JP 24334298A JP 24334298 A JP24334298 A JP 24334298A JP 3736134 B2 JP3736134 B2 JP 3736134B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- node
- storage medium
- distributed storage
- host computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体に係り、特に、地震、洪水等の地域災害に対するデータ保護機能を持ち、該データ保護構成をノード毎に選択できる分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
従来の技術における耐地域災害性を持つ分散記憶装置の一例が、例えば特開平5−324579号公報に開示されている。特開平5−324579号公報に開示されている分散記憶装置においては、
(1) データを格納するファイル装置とパリティデータとしての冗長データを格納する冗長データ格納装置を合わせて3個以上持ち、
(2)冗長データ格納装置を1個以上持つ、
ことを特徴としている。
【0003】
このような特徴を持つため、自然災害等で、あるノードにあるファイル装置が破壊されても他のノードにある冗長データ格納装置に格納されている冗長データと、正常動作しているファイル装置に格納されているデータとから、破壊されたファイル装置に格納されているデータを復元できる。
パリティデータとしては、例えばファイル装置が4台ある場合、各ファイル装置のストライプa0、a1、a2、a3からパリティデータp0は以下の式で算出される。
【0004】
p0=a0+a1+a2+a3(mod2)
ここで’+’はmodulo2の加法を表す。
また、従来の技術における耐地域災害性を持つ分散記憶装置の別の一例として、一般的なRAID(Redundant Array of Independent Disks)装置がある。この装置は、ディスク装置を統括する1個のRAIDコントローラとデータまたは冗長データを格納する2個以上のディスク装置を使用し、RAIDコントローラインターフェースとして例えばFibre Channel SCSI等を使用することにより各装置を広域に分散でき、データ保持についての耐災害性を持つことができる。
【0005】
図7 は従来の技術による分散記憶装置の第1の例であり、複数のコンピュータからアクセスするために複数のRAIDを独立に構築した例を示している。同図に示すように、第1の例はノードA10、ノードB20、及びノードC30から構成され、各ノードは通信路5 30及び通信路5 31によりバス型に接続されている。ノードA10において、ホストコンピュータ5 00はホスト接続手段5 01、RAID制御手段502、データ転送手段503を介してバス接続され、記憶媒体504は記憶媒体接続手段505、データ転送手段506を介してバス接続され、記憶媒体507は記憶媒体接続手段508、データ転送手段509を介してバス接続されている。ノードB20及びノードC30における構成もノードA10における構成と同様である。記憶媒体に接続されている記憶媒体接続手段及びデータ転送手段は、1台のコンピュータにより機能が実現されることが多く、ホストコンピュータに接続したホスト接続手段、RAID制御手段、及びデータ転送手段はホストコンピュータ内に機能が設けられる場合や単独のコンピュータにより機能が実現される場合がある。
【0006】
本構成において、例えば、ホストコンピュータ500は記憶媒体524と記憶媒体517をRAID2を構成する分散記憶媒体として使用し、ホストコンピュータ510は記憶媒体504と記憶媒体527をRAID2を構成する分散記憶媒体として使用し、ホストコンピュータ520は記憶媒体507と記憶媒体514をRAID2を構成する分散記憶媒体として使用する。
【0007】
図8は従来の技術による分散記憶装置の第2の例であり、これも複数のコンピュータからアクセスするために複数のRAIDを独立に構築した例である。
同図に示すように、第2の例はノードA10、ノードB20、及びノードC30から構成されている。ノードA10において、ホストコンピュータ5 00はホスト接続手段5 01、RAID制御手段502、データ転送手段503を介して通信路541に接続され、ノードC30においてデータ転送手段526、記憶媒体接続手段525を介して記憶媒体524に接続される。また、ホストコンピュータ5 00はホスト接続手段5 01、RAID制御手段502、データ転送手段503を介して通信路540に接続され、ノードB20においてデータ転送手段519、記憶媒体接続手段518を介して記憶媒体517に接続される。ホストコンピュータ510及びホストコンピュータ520も同様の構成により記憶媒体と接続される。記憶媒体に接続されている記憶媒体接続手段及びデータ転送手段は、1台のコンピュータにより機能が実現されることが多く、ホストコンピュータに接続したホスト接続手段、RAID制御手段、及びデータ転送手段はホストコンピュータ内に機能が設けられる場合や単独のコンピュータにより機能が実現される場合がある。
【0008】
本構成において、例えば、ホストコンピュータ500は記憶媒体524と記憶媒体517をRAID2を構成する分散記憶媒体として使用し、ホストコンピュータ510は記憶媒体504と記憶媒体527をRAID2を構成する分散記憶媒体として使用し、ホストコンピュータ520は記憶媒体507と記憶媒体514をRAID2を構成する分散記憶媒体として使用する。
【0009】
【発明が解決しようとする課題】
しかしながら、特開平5−324579号公報に開示されている装置は、パリティデータを持つ構成を示しており、パリティデータを持たない最も信頼性と可用性の高いRAIDレベル1(ミラーリング) を構成できない欠点を持つ。
また、高速性と信頼性を高めるために、一般に、RAIDレベル0のディスクアレイ装置を複数用意し、それぞれを1つのディスク装置と見立ててそれらをRAIDレベル1の技術で組み合わせる等、RAID技術を組み合わせることが行われているが、特開平5- 324579号公報に開示されている装置は、パリティデータを持つ構成を示しており、高速性の高さで有用なRAIDレベル0(ストライピング)を構成できない欠点を持つ。また、特開平5- 324579号公報に開示されている装置は、パリティデータをmodulo2 の加法を用いた演算により算出しているため、Hamming コードを使用しているRAIDレベル2を構成できない欠点を持つ。
【0010】
また、1次元冗長度を持つRAIDレベル6では2種類の冗長データ生成アルゴリズムが必要となるが、1種類目としてmodulo2 の加法を選ぶとしたら2種類目はmodulo2 の加法以外の例えばReed-Solomon誤り訂正符号化方法を選ぶ必要がある。特開平5−324579号公報に開示されている装置は、modulo2 の加法のみに対応しているため、1次元冗長度を持つRAIDレベル6を構成できない欠点を持つ。
【0011】
また、2次元冗長度を持つRAIDレベル6では1回のデータ書き込みに対して2回の冗長データ生成(例えばmodulo2 の加法)が必要となるが、特開平5- 324579号公報に開示されている装置は、1回の冗長データの生成しか行わないため、2次元冗長度を持つRAIDレベル6を構成できない欠点を持つ。
更に、従来の技術によると、一般的なRAID装置は、RAIDコントローラを1個しか持たないためRAIDコントローラのある地域に自然災害等が起こり、RAIDコントローラが破壊された場合、システム全体が停止するため、地域災害に対する可用性、すなわち装置が破壊されてもデータアクセス可能である性質を持つことができない欠点を持つ。また、一般的なRAID装置は、RAIDコントローラを1個しか持たないため、複数のコンピュータからアクセスできない欠点を持つ。また、一般的なRAID装置は、複数のコンピュータからアクセスするために複数のRAID装置を使用しなければならず、各装置が全く独立して構築されるため、コストが高くなるという欠点を持つ。すなわち、図7及び図8に示したように、ノード毎に異なるファイルシステムを持ち、各ノードのデータを冗長度を持たせながらそれぞれ他のノードに分散蓄積する場合、従来技術ではデータ転送手段と記憶媒体接続手段のコストがノード数の2乗のオーダに比例してかかるため、構築するために多くの投資が必要という問題点がある。
【0012】
本発明は上記の点に鑑みなされたもので、上記に説明した問題点を解決し、RAIDレベル0及びRAIDレベル1〜6を含むデータ保護機能を各ノード毎で選択して構成でき、地域災害に対して可用性を持ち、複数のコンピュータからのアクセスが可能であり、重複した装置を持たず低コストな分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体を提供することを目的とする。
【0013】
【課題を解決するための手段】
請求項1に記載の発明は、互いに離れたノードにある分散記憶媒体に、別のノードにあるホストコンピュータのデータを通信路を介して分散して蓄積する分散記憶方法であって、各ノードにおいて、ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合するデータ分割統合手段により、複数種類のデータ保護構成から1種類のデータ保護構成が指定され、一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送するデータ転送手段は、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断し、該データを該ホストコンピュータあるいは該分散記憶媒体に振り分け、該分散記憶媒体と該データ転送手段とを接続する記憶媒体接続手段は、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出すことを特徴とする分散記憶方法である。
【0014】
請求項2に記載の分散記憶方法は、前記データ分割統合手段が、前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成し、分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成し、該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する。
【0015】
請求項3に記載の発明は、互いに離れたノードにある分散記憶媒体に、別のノードにあるホストコンピュータのデータを通信路を介して分散して蓄積する分散記憶システムであって、各ノードにおいて、ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合し、複数種類のデータ保護構成から1種類のデータ保護構成を指定するデータ分割統合手段と、一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送し、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断し、該データを該ホストコンピュータあるいは該分散記憶媒体に振り分けるデータ転送手段と、該分散記憶媒体と該データ転送手段とを接続し、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す記憶媒体接続手段とを有する分散記憶システムである。
【0016】
請求項4に記載の分散記憶システムは、前記データ分割統合手段が、前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成する手段と、分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成する手段と、該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する手段と、を有する。
【0017】
請求項5に記載の発明は、互いに離れたノードにある分散記憶媒体に、別のノードにあるホストコンピュータのデータを通信路を介して分散して蓄積する分散記憶方法を各ノードのコンピュータに実行させる分散記憶プログラムを記録した記録媒体であって、前記コンピュータを、ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合し、複数種類のデータ保護構成から1種類のデータ保護構成を指定するデータ分割統合手段、一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送し、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断して該データを該ホストコンピュータあるいは該分散記憶媒体に振り分けるデータ転送手段、該分散記憶媒体とデータ転送手段とを接続し、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す記憶媒体接続手段、として機能させるための分散記憶プログラムを記録した記録媒体である。
【0018】
請求項6に記載の分散記憶プログラムを記録した記録媒体は、前記データ分割統合手段が、前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成する手段と、分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成する手段と、該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する手段とを有する。
【0019】
上記のように、本発明によれば、データ分割統合手段がデータ保護構成を指定し、指定したデータ保護構成に適合した冗長データを生成し、指定したデータ保護構成に適合した場所に該冗長データを格納することができるので、各ノード毎にデータ保護構成機能を選択して実現することができる。また、データ保護構成をRAID0〜6のいずれかとすることにより、各ノード毎にRAID0〜6を選択して実現することができる。
【0020】
また、本発明によれば、各ノードにデータ分割統合手段があるので、地域災害によりあるノードが破壊されても別のノードのデータアクセス性が保持されるため、可用性が実現できる。また、データ転送手段は、他ノードから到着したデータが自ノードのファイルシステムのものか他ノードのファイルシステムのものかを判断し振り分ける機能を持つため、従来の技術では自ノードと他ノード分用意しなければならなかったデータ転送手段を共有でき、記憶媒体接続手段は、単一または複数媒体に接続でき、ノード別に単一または複数媒体の記憶領域を分割し、ノード別に分割データの書き込みと読み出しを行う機能を持つため、従来の技術では他ノード数分あった記憶媒体接続手段を共有できる。したがって、従来の技術においては重複して必要であった装置を削減することができ、コストの削減ができる。更に、各ノードは1つのデータ転送手段に接続するので、従来技術におけるチャネル型構成ではホストコンピュータと記憶媒体間毎に少なくとも一本ずつ必要であった通信路が、ノードとノードの間に少なくとも1本あればよい構成とすることができ、更なるコスト削減が可能となる。
【0021】
【発明の実施の形態】
図1は本発明における第1の実施例の構成を示す図である。同図に示すように、第1の実施例はノードA10、ノードB20、及びノードC30から構成され、各ノードは通信路130及び通信路131によりバス型ネットワーク接続されている。ノードA10はホストコンピュータ100、ホスト接続手段101、データ分割統合手段102、データ接続手段103、記憶媒体接続手段104、記憶媒体105、記憶媒体106から構成され、ノードBはホストコンピュータ110、ホスト接続手段111、データ分割統合手段112、データ転送手段113、記憶媒体接続手段114、記憶媒体115、記憶媒体116から構成され、ノードCはホストコンピュータ120、ホスト接続手段121、データ分割統合手段122、データ転送手段123、記憶媒体接続手段124、記憶装置125、記憶装置126から構成される。各手段の機能と、本実施例の動作については後述するとして、次に各手段の実現例について説明する。
【0022】
ホスト接続手段に、例えば、SCSI(Small Computer System Interface )ターゲット機能を持たせ、ホストコンピュータのインターフェースをSCSIイニシエータとして働かせることにより、ホストコンピュータとホスト接続手段との接続を行い、記憶媒体接続手段に、例えば、SCSIイニシエータ機能を持たせ、SCSIターゲット機能を持つ複数の記憶媒体をディジーチェーン方式で記憶媒体接続手段に接続する。また、通信路130、131としては、例えば、Fibre Channel を用いて、長距離大容量通信を行う。
【0023】
ホスト接続手段とデータ分割統合手段とデータ転送手段と記憶媒体接続手段は、例えば、1つのCPU(Central proccessing unit)を持つハードウェアにSCSIイニシエータ機能とSCSIターゲット機能とFibre Channel 接続機能を付加して実現する。また、データ分割統合手段には、例えば、RAID(Redundant Array of Independent Disks)機能を持たせ、記憶媒体には、例えば、ハードディスク装置や光磁気ディスク装置等の記憶装置を使用する。
【0024】
図2は図1の構成のうち、ノードA10のホストコンピュータ100からのデータ書き込みと読み出しに関係する構成要素のみを記述した図である。図1に示す構成では、それぞれのノードにホストコンピュータを持ち、それぞれのホストコンピュータは他のノードとは独立にデータへのアクセスができるが、ここからは説明を簡単にするために、図2を用いる。なお、ノードB20、ノードC30におけるそれぞれのホストコンピュータのデータアクセス動作はノードA10のホストコンピュータ100のデータアクセス動作と同様である。
【0025】
また、図2においては、ホストコンピュータ100から見た仮想記憶装置141、ノードA10のデータ分割統合手段102から見たノードB20の仮想記憶装置142、ノードA10のデータ分割統合手段102から見たノードC30の仮想記憶装置143を記載している。
次に前述した図1における各手段の機能を図2を用いて説明する。なお、以下図2を用いて説明する機能は、図1に示す各手段の機能と同様である。
【0026】
図2中、ホストコンピュータ100においてホスト接続手段101は、仮想記憶装置141の入出力を行うものとみなされるため、ホストコンピュータ100は、データの書き込みと読み出しを行う際には、仮想記憶装置141の論理的なアドレスを指定する。このアドレスは、例えばSCSIのLBA(Logical Block Address )を使用する。ホスト接続手段101はこの論理的なアドレスをホストコンピュータ100から受け、データ分割統合手段102に送る機能を有する。
【0027】
また、ノードA10のデータ分割統合手段102においてはノードB20に仮想記憶装置142が接続され、ノードC30に仮想記憶装置143が接続されているものとみなされるため、ノードA10のデータ分割統合手段102は、各仮想記憶装置142、143へのデータの書き込みと読み出しを行う際には、142と143の論理的なアドレスを指定する。
【0028】
したがって、ノードA10のデータ分割統合手段102は、データアクセスの際に、ノードA10のホストコンピュータ100から見た仮想記憶装置141の論理的なアドレスをホスト接続手段101から受け、そのアドレスをデータ分割統合手段102から見たノードB20とノードC30の仮想記憶装置142、143の論理的なアドレスに変換を行い、変換したアドレスをデータ転送手段に送る機能を有する。また、データ分割統合手段102は、仮想記憶装置141の論理的なアドレスと仮想記憶142、143の論理的なアドレスの対応付けや、冗長データを蓄積しておくアドレスのための表または算出式を、データ分割蓄積情報として保持する機能を有し、更に、データ分割蓄積情報のバックアップ情報を蓄積しておくための仮想記憶装置142、143の論理的なアドレスを保持する機能を有している。
【0029】
データ転送手段103は各ノード宛のパケットのヘッダを作成し、パケットを通信路に送る機能を有する。また、データ転送手段は自ノード宛のパケットを受け取り、アドレスとデータを記憶媒体に送る機能も有する。
ノードB20の記憶媒体接続手段114は、データ転送手段113からノードB20の仮想記憶装置142の論理的なアドレスを受け、そのアドレスを、ノードB20の記憶媒体115、116のIDと論理的なアドレスへの変換を行う機能を有する。ノードC30についてもノードB20と同様に、ノードC30の記憶媒体接続手段124では、ノードC30の仮想記憶装置143の論理的なアドレスからノードC30の記憶媒体125、126へのIDと論理的なアドレスへの変換を行う。記憶媒体115、116、125、126の論理的なIDとアドレスとしては、例えば、SCSIのIDとLBAを使用する。
【0030】
続いて、図2に示す構成を用いて第1の実施例におけるデータ書き込みの動作を、図3に示すフローチャートを用いて説明する。
ステップ1)ノードA10のホストコンピュータ100は、ノードA10のホスト接続手段101へ、仮想記憶装置141の論理的なアドレスとデータを送る。
【0031】
ステップ2)ノードA10のホスト接続手段101は、データ分割統合手段102へ仮想記憶装置141の論理的なアドレスとデータを送る。
ステップ3)ノードAのデータ分割統合手段102は、データ分割蓄積情報に従って、仮想記憶装置141の論理的なアドレスを仮想記憶装置142、143の論理的なアドレスへ変換する。また、冗長データが必要な場合は冗長なデータを生成し、データ分割蓄積情報に従って、仮想記憶装置142、143の論理的なアドレスを付与する。その後、仮想記憶装置のIDと変換後のアドレスと分割データと冗長データをノードA10のデータ転送手段103へ送る。
【0032】
ステップ4)ノードA10のデータ転送手段103は、仮想記憶装置のIDを基に各ノード宛のパケットのヘッダを作成し、アドレスと分割データまたは冗長データをつけたパケットを通信路130、131へ送信する。
ステップ5)ノードB20ではデータ転送手段113で、ノードC30ではデータ転送手段123で、それぞれ自ノード宛のパケットを受け取る。そして、受け取ったアドレスとデータをそれぞれ記憶媒体接続手段114、124に送る。
【0033】
ステップ6)ノードB20の記憶媒体接続手段114は仮想記憶装置142のアドレスを記憶媒体115、116のIDと論理的なアドレスに変換し、ノードC30の記憶媒体接続手段124は仮想記憶装置143のアドレスを記憶媒体125、126のIDと論理的なアドレスに変換し、それぞれのIDとアドレスに従ってデータをそれぞれの記憶媒体に送り、書き込みを行う。
【0034】
次に、データを読み出す場合の動作を、図4に示すフローチャートを用いて説明する。
ステップ11)ノードA10のホストコンピュータ100は、ノードA10のホスト接続手段101へ、読み出したい仮想記憶装置141の論理的なアドレスを送る。
【0035】
ステップ12)ノードA10のホスト接続手段101は、データ分割統合手段102へ、読み出したい仮想記憶装置141の論理的なアドレスを送る。
ステップ13)ノードA10のデータ分割統合手段102は、データ分割蓄積情報に従って、仮想記憶装置141の論理的なアドレスを仮想記憶装置142、143の論理的なアドレスへ変換する。その後、仮想記憶装置のIDと変換後のアドレスをノードAのデータ転送手段103へ送る。
【0036】
ステップ14)ノードA10のデータ転送手段103は、仮想記憶装置のIDを基に各ノード宛のパケットのヘッダを作成し、アドレスをつけたパケットを通信路130、131へ送信する。
ステップ15)ノードB20ではデータ転送手段113で、ノードC30ではデータ転送手段123で、自ノード宛のパケットを受け取る。そして、アドレスをそれぞれ記憶媒体接続手段114、124に送る。
【0037】
ステップ16)ノードB20の記憶媒体接続手段114は仮想記憶装置142のアドレスを記憶媒体115、116のIDと論理的なアドレスに変換し、ノードC30の記憶媒体接続手段124は仮想記憶装置143のアドレスを記憶媒体125、126のIDと論理的なアドレスに変換し、それぞれのIDとアドレスに従ってデータをそれぞれの記憶媒体から読み出す。記憶媒体115、116から読み出したデータと仮想記憶装置142のアドレスをデータ転送手段113へ返し、記憶媒体125、126から読み出したデータと仮想記憶装置143のアドレスをデータ転送手段123へ返す。
【0038】
ステップ17)ノードB20のデータ転送手段113は、仮想記憶装置142のIDとアドレスとデータから、ノードA10宛に返すパケットを生成し、ノードC30のデータ転送手段123は、仮想記憶装置143のIDとアドレスとデータから、ノードA10宛に返すパケットを生成し、それぞれ通信路130、131へ返信する。
【0039】
ステップ18)ノードA10のデータ転送手段103は、ノードB20とノードC30からのパケットを受け取り、IDとアドレスとデータをノードA10のデータ分割統合手段102へ返す。
ステップ19)ノードA10のデータ分割統合手段102は、データ分割蓄積情報を使用して仮想記憶装置142、143のIDとアドレスを仮想記憶装置141のアドレスに変換し、ノードB20、C30から届いた分割データを統合する。統合したデータをノードA10のホスト接続手段101へ返す。
【0040】
ステップ20)ノードA10のホスト接続手段101は受け取ったデータをノードA10のホストコンピュータ100へ返す。
なお、図2では、各ノードに記憶媒体は2つづつ存在する構成となっているが、各ノードの記憶媒体接続手段114、124は各ノードの仮想記憶装置の論理的なアドレスを記憶媒体のIDとアドレスに変換するだけであるので、記憶媒体の数は2つに限られず、必要な容量にあわせて自由に選ぶことができる。前述したように、上記で説明したホストコンピュータからのデータ書き込みと読み出しの動作は、図1におけるノードB20のホストコンピュータ110とノードC30のホストコンピュータ120においても同様である。
【0041】
また、図1に示す構成では、ノード数が3であるが、ノード数が2以上であればノード数が3の場合と同様な動作と効果を得ることができる。
上記で説明したような構成となっているので、ノードごとに異なるファイルシステムを有する分散記憶装置において、各ノードはホスト接続手段とデータ分割統合手段と記憶媒体接続手段とデータ転送手段を1つにでき、また、チャネル型の構成であっても通信路を共有することが可能となる。その効果として、以下に示すようなノード数にほぼ比例したコストで装置を提供することが可能となる。
【0042】
CTotal
= {( CHC+ CDI+ CT + CT + CMC) ×N}+ {CC ×( N-1) }
= NCHC+ NCDI+ NCT + NCT + NCMC+(N-1) CC
= NCHC+ NCDI+ 2 NCT + NCMC+(N-1) CC
ただし、CTotal はトータルコスト、CHCはホスト接続手段のコスト、CDIはデータ分割統合手段のコスト、CT はデータ転送手段のコスト、CMCは記憶媒体接続手段のコスト、CC は通信路のコスト、Nはノード数を表す。
【0043】
比較対象として従来の技術における図7において説明した一般的なRAID装置を使ってバス型ネットワーク接続を使用した同一の機能を実現する構成のコストを以下の式に示す。
ただし、CTotal はトータルコスト、CHCはホスト接続手段のコスト、CDIはデータ分割統合手段のコスト、CT はデータ転送手段のコスト、CMCは記憶媒体接続手段のコスト、CC は通信路のコスト、Nはノード数を表す。
【0044】
後者から前者を引いた差をとって、N(N−1)CT +N(N−2)CMCのコストダウンが図れることがわかる。この結果が示すように、従来の技術にくらべて、コストを低く押さえることができる。
また、データ分割統合手段はRAID0〜6に対応しているため、各ノードはRAID0〜6の機能を実現でき、各ノードにデータ分割統合手段があるので、地域災害によりあるノードが破壊されても別のノードのデータアクセス性は保持され、可用性が実現できる。更に、各ノードにホスト接続手段を持つので、複数コンピュータからのアクセスが可能となる。
【0045】
次に、可用性を示すためにノード障害による復旧の動作について、図2を用いて、図1の構成においてノードA10のホストコンピュータ100が分散記憶媒体に蓄積しているデータに対して障害が起こった場合について説明する。
障害の発生場所としては、ノードB20又はノードC30での発生、及びノードA10での発生の2通りある。まず、ノードB20で発生した場合を説明する。なお、ノードC30で発生しても同様である。
【0046】
データ分割統合手段102がRAIDレベル1を選択している場合、データ分割統合手段102がノードB20にアクセスできなくなったことを検知すると、データ分割統合手段102はノードC30にのみアクセスをする。これにより
ノードB20障害時においてもデータアクセス可能である。ノードB20が復旧した際には、ノードB20が復旧した旨の情報をノードA10が検知し、データ分割蓄積情報に従ってノードC30のデータを基にノードB20のデータを復元し、ノードB20の記憶媒体に格納することでデータ復旧ができる。復旧中は、ホストコンピュータ100からのデータ書き込みによるデータの追加や変更もデータ分割統合手段102にて復元動作に組み入れるため、復帰中もデータのアクセスが可能である。RAIDレベル2〜6についての動作は上記に説明した動作と同様である。
【0047】
次に、ノードA10で障害が発生し、その障害が復旧した後の動作について説明する。
データ分割統合手段102は、分割されたデータの位置情報やRAIDレベル等が書き込まれたデータ分割蓄積情報が消失しているため、ノードB20又はノードC30から記憶媒体の所定の位置にあるバックアップされたデータ分割蓄積情報を取得する。これによりノードA10から各ノードへのアクセスが可能となる。ノードA10の障害では、ホストコンピュータ100に対するデータの消失は無いので、RAIDレベル0〜6を使用した復旧が可能である。
【0048】
図5は本発明の第2の実施例の構成を示す図である。同図に示すように、第2の実施例は、第1の実施例と同様にノードA10、ノードB20、及びノードC30から構成され、各ノード内の構成も接続方法にかかわる部分を除いて第1の実施例と同一である。第2の実施例では、第1の実施例と異なり、各ノードがチャネル型ネットワーク接続により接続されている。すなわち、ノードA10とノードB20は通信路150により接続され、ノードA10とノードC30は通信路151により接続され、ノードB20とノードC30は通信路152により接続されている。
【0049】
図6は図5の構成のうち、ノードA10のホストコンピュータ100からのデータ書き込みと読み出しに関係する構成要素のみを記述した図である。すなわち、図5に示す構成では、それぞれのノードにホストコンピュータを持ち、それぞれのホストコンピュータは他のノードとは独立にデータへのアクセスができるが、図6に示す構成ではホストコンピュータ100からのデータ書き込みと読み出しに関係する構成要素のみ抜き出して記述している。なお、ノードB20、ノードC30におけるそれぞれのホストコンピュータのデータアクセス動作はノードA10のホストコンピュータ100のデータアクセス動作と同様である。
【0050】
また、図6においては、ホストコンピュータ100から見た仮想記憶装置141、ノードA10のデータ分割統合手段102から見たノードB20の仮想記憶装置142、ノードA10のデータ分割統合手段102から見たノードC30の仮想記憶装置143を記載している。
図5に示す各手段の実現例、機能は第1の実施例と同様である。また、図6に示す構成の動作は、図2で説明した第1の実施例における動作と同様である。すなわち、バス型ネットワークあるいはチャネル型ネットワークノードのどちらを接続手段として利用しても、本発明による分散記憶システムは同様の動作を行う。
【0051】
第2の実施例に示す構成においても第1の実施例と同様に、ノードごとに異なるファイルシステムを有する分散記憶装置においては、各ノードはホスト接続手段とデータ分割統合手段と記憶媒体接続手段とデータ転送手段を1つにでき、また、通信路を共有することが可能となる。ここで、第2の実施例のコスト面の効果を示すと、以下のように、通信路以外はノード数にほぼ比例した低いコストで装置を提供することが可能となる。
【0052】
CTotal
= {( CHC+ CDI+ CT + CT + CMC) ×N}+ {CC ×N(N-1) }
= NCHC+ NCDI+ NCT + NCT + NCMC+N( N-1) CC
= NCHC+ NCDI+ 2 NCT + NCMC+N( N-1) CC
ただし、CTotal はトータルコスト、CHCはホスト接続手段のコスト、CDIはデータ分割統合手段のコスト、CT はデータ転送手段のコスト、CMCは記憶媒体接続手段のコスト、CC は通信路のコスト、Nはノード数を表す。
【0053】
比較対象として従来の技術において図8で説明した一般的なRAID装置を使ってチャネル型ネットワーク接続を使用した同一の機能を実現する構成についてのコストを以下の式に示す。
ただし、CTotal はトータルコスト、CHCはホスト接続手段のコスト、CDIはデータ分割統合手段のコスト、CT はデータ転送手段のコスト、CMCは記憶媒体接続手段のコスト、CC は通信路のコスト、Nはノード数を表す。
【0054】
後者から前者を引いた差をとると、N(N−1)CT +N(N−2)CMCのコストダウンが図れることがわかる。この結果が示すように、従来の技術にくらべて、コストが低く押さえられる。通信路については前者は後者に比較して1/2のコストとなる。
また、第1の実施例と同様に、第2の実施例はデータ分割統合手段はRAID0〜6に対応しているため、各ノードはRAID0〜6の機能を実現でき、各ノードにデータ分割統合手段があるので、地域災害によりあるノードが破壊されても別のノードのデータアクセス性は保持され、可用性が実現できる。更に、各ノードにホスト接続手段を持つので、複数コンピュータからのアクセスが可能となる。
【0055】
次に、本発明における分散記憶プログラムを記録した記録媒体の実施例について説明する。図9は、CPU600、メモリ601、外部記憶装置602、ディスプレイ603、キーボード604、通信処理装置605を備えたコンピュータシステムの構成図であり、本発明における分散記憶プログラムを記録した記録媒体は図9に示すメモリ601又は外部記憶装置602のいずれか又は両方に相当する。また、光磁気ディスク、磁気ディスク、磁気テープ等の可搬媒体、又は電子メモリ、ハードディスク等も本発明の記録媒体に相当し、これらの記録媒体に格納された本発明の手段を有する分散記憶プログラムを、図9に示すコンピュータシステムにローディングし、該コンピュータシステムをホストコンピュータ又は記憶媒体のいずれか又は両方に接続させ、他ノードの本発明による方法を使用したシステムと通信路を介して接続することにより、該コンピュータシステムにおいて上記の分散記憶方法の使用が可能となる。
【0056】
なお、本発明は上記の実施例に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【0057】
【発明の効果】
上記のように、本発明によれば、データ分割統合手段がデータ保護構成を指定し、指定したデータ保護構成に適合した冗長データを生成し、指定したデータ保護構成に適合した場所に該冗長データを格納することができるので、各ノード毎にデータ保護構成機能を選択して実現することができる。また、データ保護構成をRAID0〜6のいずれかとすることにより、各ノード毎にRAID0〜6を選択して実現することができる。
【0058】
また、本発明によれば、各ノードにデータ分割統合手段があるので、地域災害によりあるノードが破壊されても別のノードのデータアクセス性が保持されるため、可用性が実現できる。更に、各ノードにおけるデータ転送手段はデータ振り分け機能を持ち、データ転送手段に接続された記憶媒体接続手段はノード毎に割り当てられた記憶媒体又は記憶領域にデータアクセスすることができるため、単一のデータ転送手段及び記憶媒体接続手段により自ノードのホストコンピュータ及び他ノードの複数ホストコンピュータからのアクセスを受ける複数の記憶媒体を自ノードに設けることが可能となり、コスト削減が可能である。また、チャネル型の構成でも通信路を共有させることができ、更なるコスト削減が可能である。
【図面の簡単な説明】
【図1】本発明における第1の実施例の構成を示す図である。
【図2】本発明における第1の実施例の動作説明のための図である。
【図3】本発明における第1の実施例のホストコンピュータの書き込み動作を示すフローチャートである。
【図4】本発明における第1の実施例のホストコンピュータの読み込み動作を示すフローチャートである。
【図5】本発明における第2の実施例の構成を示す図である。
【図6】本発明における第2の実施例の動作をわかりやすく示すための図である。
【図7】従来の技術における分散記憶装置の第1の例である。
【図8】従来の技術における分散記憶装置の第2の例である。
【図9】本発明の記録媒体の実施例におけるコンピュータシステムの構成図である。
【符号の説明】
10 ノードA
20 ノードB
30 ノードC
100、110、120、500、510、520 ホストコンピュータ
101、111、121、501、511、521 ホスト接続手段
102、112、122 データ分割統合手段
502、512、522 RAID制御手段
103、113、123、503、513、523 データ転送手段
506、516、526、509、519、529 データ転送手段
104、114、124、505、515、525 記憶媒体接続手段
508、518、528 記憶媒体接続手段
504、514、524、507、517、527 記憶媒体
130、131、530、531 通信路
540、541、542、543、544 通信路
600 CPU
601 メモリ
602 外部記憶装置
603 ディスプレイ
604 キーボード
605 通信処理装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a distributed storage method, a distributed storage system, and a recording medium on which a distributed storage program is recorded. In particular, the present invention has a data protection function against local disasters such as earthquakes and floods, and the data protection configuration can be selected for each node. The present invention relates to a storage method, a distributed storage system, and a recording medium on which a distributed storage program is recorded.
[0002]
[Prior art]
An example of a distributed storage device having local disaster resistance in the prior art is disclosed in, for example, Japanese Patent Laid-Open No. 5-324579. In the distributed storage device disclosed in JP-A-5-324579,
(1) Have three or more file devices that store data and redundant data storage devices that store redundant data as parity data.
(2) having one or more redundant data storage devices;
It is characterized by that.
[0003]
Because of these characteristics, even if a file device in one node is destroyed due to a natural disaster, etc., the redundant data stored in the redundant data storage device in another node and the file device operating normally The data stored in the destroyed file device can be restored from the stored data.
For example, when there are four file devices, the parity data p0 is calculated from the stripes a0, a1, a2, and a3 of each file device by the following formula.
[0004]
p0 = a0 + a1 + a2 + a3 (mod2)
Here, “+” represents
Another example of a conventional distributed storage device having local disaster tolerance is a general RAID (Redundant Array of Independent Disks) device. This device uses one RAID controller that controls the disk device and two or more disk devices that store data or redundant data, and each device can be configured in a wide area by using, for example, Fiber Channel SCSI as a RAID controller interface. Can be distributed and can have disaster tolerance for data retention.
[0005]
FIG. 7 shows a first example of a conventional distributed storage device, in which a plurality of RAIDs are independently constructed for access from a plurality of computers. As shown in the figure, the first example includes a
[0006]
In this configuration, for example, the
[0007]
FIG. 8 is a second example of a conventional distributed storage device, which is also an example in which a plurality of RAIDs are independently constructed for access from a plurality of computers.
As shown in the figure, the second example includes a node A10, a node B20, and a node C30. In the node A10, the
[0008]
In this configuration, for example, the
[0009]
[Problems to be solved by the invention]
However, the device disclosed in Japanese Patent Laid-Open No. 5-324579 shows a configuration having parity data, and has the disadvantage that RAID level 1 (mirroring) having the highest reliability and availability without parity data cannot be configured. Have.
In order to increase the speed and reliability, generally, a plurality of RAID level 0 disk array devices are prepared, and each is regarded as a single disk device, and these are combined with a RAID level 1 technology. However, the device disclosed in Japanese Patent Application Laid-Open No. 5-324579 shows a configuration having parity data, and it is not possible to configure RAID level 0 (striping) useful at high speed. Has drawbacks. Further, the apparatus disclosed in Japanese Patent Laid-Open No. 5-324579 has a defect that
[0010]
[0011]
Further, in
Furthermore, according to the prior art, a general RAID device has only one RAID controller, so that a natural disaster or the like occurs in an area where the RAID controller is located, and the entire system stops when the RAID controller is destroyed. It has the disadvantage that it cannot have the property that it is accessible to local disasters, that is, the data can be accessed even if the device is destroyed. Further, a general RAID device has only one RAID controller, and therefore has a drawback that it cannot be accessed from a plurality of computers. In addition, a general RAID device has to use a plurality of RAID devices in order to access from a plurality of computers, and each device is constructed completely independently. That is, as shown in FIG. 7 and FIG. 8, when each node has a different file system and the data of each node is distributed and accumulated in each other node with redundancy, the conventional technique uses data transfer means. Since the cost of the storage medium connection means is proportional to the order of the square of the number of nodes, there is a problem that a large amount of investment is required for construction.
[0012]
The present invention has been made in view of the above points, solves the problems described above, and can select and configure a data protection function including RAID level 0 and RAID levels 1 to 6 for each node. An object of the present invention is to provide a low-cost distributed storage method, distributed storage system, and recording medium on which a distributed storage program is recorded, which can be accessed from a plurality of computers without being duplicated. To do.
[0013]
[Means for Solving the Problems]
The invention according to claim 1 is a distributed storage method in which data of a host computer in another node is distributed and accumulated in a distributed storage medium in nodes distant from each other via a communication path. One type of data protection configuration is designated from a plurality of types of data protection configurations by a data division integration unit that divides data when data is written from the host computer to the distributed storage medium and integrates data when data is read. The data transfer means for transferring the data of the host computer and the distributed storage medium to the communication path extending from the one node to the other node is whether the data arriving from the other node is data to the host computer of the one node. Alternatively, it is determined whether the data is for a distributed storage medium installed in the one node, and the data is stored in the host computer. A storage medium connecting unit that distributes data to the distributed storage medium and connects the distributed storage medium and the data transfer unit to the data distributed to the distributed storage medium by a plurality of other nodes that are data transmission sources. In this case, the distributed storage method is characterized in that a plurality of storage media or a plurality of storage areas of a single storage medium are written for each other node and read for each other node.
[0014]
3. The distributed storage method according to
[0015]
According to a third aspect of the present invention, there is provided a distributed storage system in which data of a host computer in another node is distributed and stored in a distributed storage medium in a node distant from each other via a communication path. A data division and integration means for dividing data when writing data from a host computer to a distributed storage medium, integrating data when reading data, and designating one type of data protection configuration from a plurality of types of data protection configurations; and one node Data of the host computer and the distributed storage medium is transferred to a communication path extending from the one node to another node, and the data arriving from the other node is the data to the host computer of the one node or the one of the one node It is determined whether the data is for a distributed storage medium installed in the node, and the data is sent to the host computer or the distributed A data transfer unit that distributes data to a storage medium, and the distributed storage medium and the data transfer unit are connected, and the data distributed to the distributed storage medium is And a storage medium connection means for writing to a plurality of storage areas or a plurality of storage areas of a single storage medium for each node and reading for each other node.
[0016]
The distributed storage system according to
[0017]
According to the fifth aspect of the present invention, a distributed storage method for distributing and storing data of a host computer in another node via a communication path in a distributed storage medium in a remote node is executed in the computer of each node. A recording medium on which a distributed storage program is recorded,The computerA data division and integration means for dividing data when writing data from a host computer to a distributed storage medium, integrating data when reading data, and designating one type of data protection configuration from a plurality of types of data protection configurations; Data of the host computer and the distributed storage medium is transferred to a communication path extending from the one node to another node, and the data arriving from the other node is data to the host computer of the one node or the one node Determining whether the data is to be distributed to the distributed storage medium, and transferring the data to the host computer or the distributed storage medium; connecting the distributed storage medium and the data transfer means to the distributed storage medium; When there are a plurality of other nodes as data transmission sources, a plurality of distributed data are assigned to each other node.憶媒 body or write to multiple storage areas of a single storage medium, the storage medium connection means for reading out each said other node,To function asA recording medium on which a distributed storage program is recorded.
[0018]
7. The recording medium on which the distributed storage program according to
[0019]
As described above, according to the present invention, the data division and integration means designates a data protection configuration, generates redundant data suitable for the designated data protection configuration, and places the redundant data in a location suitable for the designated data protection configuration. Therefore, the data protection configuration function can be selected and realized for each node. Further, by setting the data protection configuration to any one of RAID0 to RAID6, RAID0 to RAID6 can be selected and realized for each node.
[0020]
Further, according to the present invention, since each node has a data division and integration means, even if a node is destroyed due to a regional disaster, the data accessibility of another node is maintained, so that availability can be realized. In addition, since the data transfer means has a function to determine whether the data arriving from other nodes belongs to the file system of the own node or the file system of the other node, the conventional technology prepares for the own node and other nodes. The data transfer means that had to be shared can be shared, the storage medium connection means can be connected to a single or multiple media, the storage area of single or multiple media is divided by node, and the divided data is written and read by node In the conventional technology, the storage medium connecting means that is equivalent to the number of other nodes can be shared. Therefore, it is possible to reduce the number of devices that are redundantly required in the conventional technique, and it is possible to reduce the cost. Further, since each node is connected to one data transfer means, at least one communication path is required between the host computer and the storage medium in the channel type configuration in the prior art. If it is this, it can be set as a structure and the further cost reduction is attained.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a diagram showing the configuration of the first embodiment of the present invention. As shown in the figure, the first embodiment is composed of a
[0022]
For example, the host connection means is provided with a SCSI (Small Computer System Interface) target function, and the host computer interface is operated as a SCSI initiator to connect the host computer and the host connection means. For example, a SCSI initiator function is provided, and a plurality of storage media having a SCSI target function are connected to the storage medium connection means by a daisy chain method. Further, as the
[0023]
The host connection means, data division integration means, data transfer means, and storage medium connection means add, for example, a SCSI initiator function, a SCSI target function, and a Fiber Channel connection function to hardware having one CPU (Central processing unit). Realize. The data division and integration means has, for example, a RAID (Redundant Array of Independent Disks) function, and the storage medium uses a storage device such as a hard disk device or a magneto-optical disk device.
[0024]
FIG. 2 is a diagram describing only the components related to data writing and reading from the
[0025]
In FIG. 2, the virtual storage device 141 viewed from the
Next, the function of each means in FIG. 1 will be described with reference to FIG. In addition, the function demonstrated below using FIG. 2 is the same as the function of each means shown in FIG.
[0026]
In FIG. 2, in the
[0027]
Further, in the data
[0028]
Therefore, the data division and
[0029]
The data transfer means 103 has a function of creating a header of a packet addressed to each node and sending the packet to the communication path. The data transfer means also has a function of receiving a packet addressed to its own node and sending an address and data to a storage medium.
The storage
[0030]
Next, the data write operation in the first embodiment will be described with reference to the flowchart shown in FIG. 3 using the configuration shown in FIG.
Step 1) The
[0031]
Step 2) The
Step 3) The data
[0032]
Step 4) The data transfer means 103 of the node A10 creates a header of the packet addressed to each node based on the virtual storage device ID, and transmits the packet with the address and the divided data or redundant data to the
Step 5) The packet addressed to the own node is received by the data transfer means 113 at the node B20 and the data transfer means 123 at the node C30. Then, the received address and data are sent to the storage
[0033]
Step 6) The storage
[0034]
Next, the operation for reading data will be described with reference to the flowchart shown in FIG.
Step 11) The
[0035]
Step 12) The
Step 13) The data division integration means 102 of the node A10 converts the logical address of the virtual storage device 141 into the logical address of the virtual storage devices 142 and 143 according to the data division accumulation information. Thereafter, the ID of the virtual storage device and the converted address are sent to the data transfer means 103 of the node A.
[0036]
Step 14) The data transfer means 103 of the node A10 creates a header of the packet addressed to each node based on the ID of the virtual storage device, and transmits the addressed packet to the
Step 15) The node B20 receives the packet addressed to the own node by the data transfer means 113 and the node C30 by the data transfer means 123. Then, the address is sent to the storage
[0037]
Step 16) The storage medium connection means 114 of the node B20 converts the address of the virtual storage device 142 into the IDs and logical addresses of the
[0038]
Step 17) The data transfer means 113 of the
[0039]
Step 18) The data transfer means 103 of the node A10 receives the packets from the nodes B20 and C30, and returns the ID, address and data to the data division and integration means 102 of the node A10.
Step 19) The data division integration means 102 of the node A10 converts the ID and address of the virtual storage devices 142 and 143 into the address of the virtual storage device 141 using the data division accumulation information, and the division received from the nodes B20 and C30 Integrate data. The integrated data is returned to the
[0040]
Step 20) The host connection means 101 of the node A10 returns the received data to the
In FIG. 2, there are two storage media in each node. However, the storage medium connection means 114 and 124 in each node uses the logical address of the virtual storage device in each node. Since only the ID and address are converted, the number of storage media is not limited to two and can be freely selected according to the required capacity. As described above, the data write and read operations from the host computer described above are the same in the
[0041]
In the configuration shown in FIG. 1, the number of nodes is three. However, if the number of nodes is two or more, the same operation and effect as in the case where the number of nodes is three can be obtained.
Since the configuration is as described above, in the distributed storage device having a different file system for each node, each node has one host connection means, data division integration means, storage medium connection means, and data transfer means. In addition, it is possible to share a communication path even in a channel type configuration. As an effect, it is possible to provide a device at a cost substantially proportional to the number of nodes as shown below.
[0042]
CTotal
= {(CHC+ CDI+ CT+ CT+ CMC) × N} + {CC× (N-1)}
= NCHC+ NCDI+ NCT+ NCT+ NCMC+ (N-1) CC
= NCHC+ NCDI+ 2 NCT+ NCMC+ (N-1) CC
However, CTotalIs the total cost, CHCIs the cost of the host connection, CDIIs the cost of data division integration means, CTIs the cost of the data transfer means, CMCIs the cost of the storage medium connection means, CCRepresents the cost of the communication path, and N represents the number of nodes.
[0043]
As a comparison object, the cost of a configuration for realizing the same function using a bus type network connection using the general RAID device described in FIG.
However, CTotalIs the total cost, CHCIs the cost of the host connection, CDIIs the cost of data division integration means, CTIs the cost of the data transfer means, CMCIs the cost of the storage medium connection means, CCRepresents the cost of the communication path, and N represents the number of nodes.
[0044]
N (N-1) C is calculated by subtracting the former from the latter.T+ N (N-2) CMCIt can be seen that the cost can be reduced. As this result shows, the cost can be reduced compared to the conventional technique.
Further, since the data division and integration means corresponds to RAID 0 to 6, each node can realize the functions of RAID 0 to 6, and each node has the data division and integration means, so even if a node is destroyed due to a regional disaster The data accessibility of another node is maintained and availability can be realized. Further, since each node has a host connection means, access from a plurality of computers is possible.
[0045]
Next, with regard to the recovery operation due to the node failure in order to show the availability, a failure has occurred in the data stored in the distributed storage medium by the
There are two places where the failure occurs, that is, the occurrence at the node B20 or the node C30 and the occurrence at the node A10. First, a case where it occurs in the node B20 will be described. The same applies to the occurrence at node C30.
[0046]
When the data
Data access is possible even when the
[0047]
Next, an operation after a failure has occurred in the node A10 and the failure has been recovered will be described.
The data division and integration means 102 is backed up from a node B20 or a node C30 at a predetermined position on the storage medium because the data division accumulation information in which the position information of the divided data, the RAID level, etc. are written is lost. Acquire data division accumulation information. As a result, the node A10 can access each node. Since there is no loss of data for the
[0048]
FIG. 5 is a diagram showing the configuration of the second embodiment of the present invention. As shown in the figure, the second embodiment is composed of a node A10, a node B20, and a node C30 as in the first embodiment, and the configuration in each node is the same except for the portion related to the connection method. This is the same as the first embodiment. In the second embodiment, unlike the first embodiment, each node is connected by channel type network connection. That is, the
[0049]
FIG. 6 is a diagram describing only the components related to data writing and reading from the
[0050]
In FIG. 6, the virtual storage device 141 viewed from the
The implementation example and function of each means shown in FIG. 5 are the same as those in the first embodiment. The operation of the configuration shown in FIG. 6 is the same as the operation in the first embodiment described in FIG. That is, the distributed storage system according to the present invention performs the same operation regardless of which of the bus type network or the channel type network node is used as the connection means.
[0051]
Also in the configuration shown in the second embodiment, as in the first embodiment, in a distributed storage device having a different file system for each node, each node has host connection means, data division integration means, storage medium connection means, and so on. One data transfer means can be provided, and a communication path can be shared. Here, when the cost effect of the second embodiment is shown, it is possible to provide a device at a low cost substantially proportional to the number of nodes other than the communication path as follows.
[0052]
CTotal
= {(CHC+ CDI+ CT+ CT+ CMC) × N} + {CC× N (N-1)}
= NCHC+ NCDI+ NCT+ NCT+ NCMC+ N (N-1) CC
= NCHC+ NCDI+ 2 NCT+ NCMC+ N (N-1) CC
However, CTotalIs the total cost, CHCIs the cost of the host connection, CDIIs the cost of data division integration means, CTIs the cost of the data transfer means, CMCIs the cost of the storage medium connection means, CCRepresents the cost of the communication path, and N represents the number of nodes.
[0053]
As a comparison target, the cost of a configuration that realizes the same function using the channel type network connection using the general RAID device described in FIG.
However, CTotalIs the total cost, CHCIs the cost of the host connection, CDIIs the cost of data division integration means, CTIs the cost of the data transfer means, CMCIs the cost of the storage medium connection means, CCRepresents the cost of the communication path, and N represents the number of nodes.
[0054]
Taking the difference of the latter from the former, N (N-1) CT+ N (N-2) CMCIt can be seen that the cost can be reduced. As this result shows, the cost can be kept low compared to the prior art. Regarding the communication path, the former costs half as much as the latter.
Similarly to the first embodiment, in the second embodiment, since the data division and integration means corresponds to RAID 0 to 6, each node can realize the functions of RAID 0 to 6, and the data division and integration to each node. Since there is a means, even if a node is destroyed due to a regional disaster, the data accessibility of another node is maintained and availability can be realized. Further, since each node has a host connection means, access from a plurality of computers is possible.
[0055]
Next, an embodiment of a recording medium on which the distributed storage program according to the present invention is recorded will be described. FIG. 9 is a configuration diagram of a computer system including a
[0056]
The present invention is not limited to the above-described embodiments, and various modifications and applications can be made within the scope of the claims.
[0057]
【The invention's effect】
As described above, according to the present invention, the data division and integration means designates a data protection configuration, generates redundant data suitable for the designated data protection configuration, and places the redundant data in a location suitable for the designated data protection configuration. Therefore, the data protection configuration function can be selected and realized for each node. Further, by setting the data protection configuration to any one of RAID0 to RAID6, RAID0 to RAID6 can be selected and realized for each node.
[0058]
Further, according to the present invention, since each node has a data division and integration means, even if a node is destroyed due to a regional disaster, the data accessibility of another node is maintained, so that availability can be realized. Further, the data transfer means in each node has a data distribution function, and the storage medium connection means connected to the data transfer means can access data to the storage medium or storage area assigned to each node. A plurality of storage media that are accessed from the host computer of the own node and a plurality of host computers of other nodes can be provided in the own node by the data transfer means and the storage medium connection means, and the cost can be reduced. In addition, a channel type configuration can also share a communication path, and further cost reduction is possible.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a first exemplary embodiment of the present invention.
FIG. 2 is a diagram for explaining the operation of the first exemplary embodiment of the present invention.
FIG. 3 is a flowchart showing a write operation of the host computer according to the first embodiment of the present invention.
FIG. 4 is a flowchart showing a read operation of the host computer according to the first embodiment of the present invention.
FIG. 5 is a diagram showing a configuration of a second exemplary embodiment of the present invention.
FIG. 6 is a diagram for clearly showing the operation of the second exemplary embodiment of the present invention.
FIG. 7 is a first example of a distributed storage device in the prior art.
FIG. 8 is a second example of a distributed storage device in the prior art.
FIG. 9 is a configuration diagram of a computer system in an embodiment of a recording medium of the present invention.
[Explanation of symbols]
10 Node A
20 Node B
30 Node C
100, 110, 120, 500, 510, 520 Host computer
101, 111, 121, 501, 511, 521 Host connection means
102, 112, 122 Data division and integration means
502, 512, 522 RAID control means
103, 113, 123, 503, 513, 523 Data transfer means
506, 516, 526, 509, 519, 529 Data transfer means
104, 114, 124, 505, 515, 525 Storage medium connection means
508, 518, 528 Storage medium connection means
504, 514, 524, 507, 517, 527 Storage medium
130, 131, 530, 531 communication path
540, 541, 542, 543, 544 Communication path
600 CPU
601 memory
602 External storage device
603 display
604 keyboard
605 communication processing apparatus
Claims (6)
各ノードにおいて、
ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合するデータ分割統合手段は、複数種類のデータ保護構成から1種類のデータ保護構成を指定し、
一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送するデータ転送手段は、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断し、該データを該ホストコンピュータあるいは該分散記憶媒体に振り分け、
該分散記憶媒体と該データ転送手段とを接続する記憶媒体接続手段は、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す、
ことを特徴とする分散記憶方法。A distributed storage method in which data of a host computer in another node is distributed and accumulated via a communication path in a distributed storage medium in nodes separated from each other,
At each node
A data division and integration means for dividing data when writing data to a distributed storage medium from a host computer and integrating data when reading data designates one type of data protection configuration from a plurality of types of data protection configurations,
The data transfer means for transferring the data of the host computer of the one node and the distributed storage medium to a communication path extending from the one node to the other node, the data arriving from the other node to the host computer of the one node Or the data to the distributed storage medium installed in the one node, and distribute the data to the host computer or the distributed storage medium,
A storage medium connection unit that connects the distributed storage medium and the data transfer unit is configured to transfer the data distributed to the distributed storage medium for each of the other nodes when there are a plurality of other nodes that are data transmission sources. Write to multiple storage areas or multiple storage areas of a single storage medium and read for each other node,
A distributed storage method.
前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成し、
分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成し、
該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する、
ことを特徴とする請求項1記載の分散記憶方法。The data division and integration means includes
When the data is divided, redundant data is generated if necessary by the data protection configuration;
Generating data division accumulation information holding information specifying the storage location of the divided data and the redundant data, and information specifying the data protection configuration;
When the redundant data has been generated, when there is data loss at the time of the data integration, the remaining data and the data lost due to the redundant data are restored by referring to the data division accumulation information.
The distributed storage method according to claim 1.
各ノードにおいて、
ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合し、複数種類のデータ保護構成から1種類のデータ保護構成を指定するデータ分割統合手段と、
一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送し、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断して該データを該ホストコンピュータあるいは該分散記憶媒体に振り分けるデータ転送手段と、
該分散記憶媒体と該データ転送手段とを接続し、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す記憶媒体接続手段と、
を有することを特徴とする分散記憶システム。A distributed storage system in which data of a host computer at another node is distributed and accumulated via a communication path in a distributed storage medium at nodes distant from each other,
At each node
Data division and integration means for dividing data when writing data from a host computer to a distributed storage medium, integrating data when reading data, and designating one type of data protection configuration from a plurality of types of data protection configurations;
The data of the host computer of the one node and the distributed storage medium are transferred to a communication path extending from the one node to the other node, and the data arriving from the other node is data to the host computer of the one node or Data transfer means for determining whether the data is for a distributed storage medium installed in the one node and distributing the data to the host computer or the distributed storage medium;
When the distributed storage medium and the data transfer means are connected, and the data distributed to the distributed storage medium is a plurality of other storage nodes or data for each of the other nodes, Storage medium connection means for writing to a plurality of storage areas of one storage medium and reading for each of the other nodes;
A distributed storage system comprising:
前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成する手段と、
分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成する手段と、
該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する手段と、
を有することを特徴とする請求項3記載の分散記憶システム。The data division and integration means includes
Means for generating redundant data if required by the data protection configuration during the data division;
Means for generating data division accumulation information for holding the divided data and information for specifying the storage location of the redundant data, and information for specifying the data protection configuration;
When the redundant data is generated, when there is data loss at the time of the data integration, means for restoring the remaining data and data lost by the redundant data with reference to the data division storage information,
4. The distributed storage system according to claim 3, further comprising:
ホストコンピュータから分散記憶媒体へのデータ書き込み時にはデータを分割し、データ読み込み時にはデータを統合し、複数種類のデータ保護構成から1種類のデータ保護構成を指定するデータ分割統合手段、
一のノードのホストコンピュータ及び分散記憶媒体のデータを該一のノードから他のノードへ伸びる通信路に転送し、該他のノードから到着したデータが該一のノードのホストコンピュータへのデータかあるいは該一のノードに設置された分散記憶媒体へのデータかを判断して該データを該ホストコンピュータあるいは該分散記憶媒体に振り分けるデータ転送手段、
該分散記憶媒体と該データ転送手段とを接続し、該分散記憶媒体に振り分けられたデータを、データ送出元の該他のノードが複数である場合に該他のノード毎に複数記憶媒体又は単一記憶媒体の複数記憶領域に書き込み、該他のノード毎に読み出す記憶媒体接続手段、
として機能させるための分散記憶プログラムを記録した記録媒体。Recording medium recording a distributed storage program that causes a computer of each node to execute a distributed storage method in which data of a host computer in another node is distributed and stored via a communication path in a distributed storage medium in a remote node And the computer
Data division and integration means for dividing data when writing data from a host computer to a distributed storage medium, integrating data when reading data, and designating one type of data protection configuration from a plurality of types of data protection configurations;
The data of the host computer of the one node and the distributed storage medium are transferred to a communication path extending from the one node to the other node, and the data arriving from the other node is data to the host computer of the one node or Data transfer means for determining whether the data is for a distributed storage medium installed at the one node and distributing the data to the host computer or the distributed storage medium;
When the distributed storage medium and the data transfer means are connected, and the data distributed to the distributed storage medium is a plurality of other storage nodes or data for each of the other nodes, Storage medium connection means for writing to a plurality of storage areas of one storage medium and reading each other node;
A recording medium on which a distributed storage program for functioning as a recording medium is recorded.
前記データ分割時に、前記データ保護構成により必要があれば冗長データを生成する手段と、
分割された該データと該冗長データの記憶場所を指定する情報、及び前記データ保護構成を指定する情報を保持するデータ分割蓄積情報を生成する手段と、
該冗長データが生成されている場合、該データ統合時にデータ欠損があった際には、該データ分割蓄積情報を参照して残りのデータと該冗長データにより欠損したデータを復元する手段と、
を有することを特徴とする請求項5記載の分散記憶プログラムを記録した記録媒体。The data division and integration means includes
Means for generating redundant data if required by the data protection configuration during the data division;
Means for generating data division accumulation information for holding the divided data and information for specifying the storage location of the redundant data, and information for specifying the data protection configuration;
When the redundant data is generated, when there is data loss at the time of the data integration, means for restoring the remaining data and data lost by the redundant data with reference to the data division storage information,
6. A recording medium on which the distributed storage program according to claim 5 is recorded.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24334298A JP3736134B2 (en) | 1998-08-28 | 1998-08-28 | Distributed storage method, distributed storage system, and recording medium recording distributed storage program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24334298A JP3736134B2 (en) | 1998-08-28 | 1998-08-28 | Distributed storage method, distributed storage system, and recording medium recording distributed storage program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000076207A JP2000076207A (en) | 2000-03-14 |
JP3736134B2 true JP3736134B2 (en) | 2006-01-18 |
Family
ID=17102408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24334298A Expired - Fee Related JP3736134B2 (en) | 1998-08-28 | 1998-08-28 | Distributed storage method, distributed storage system, and recording medium recording distributed storage program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3736134B2 (en) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002268952A (en) * | 2001-03-13 | 2002-09-20 | Mitsubishi Heavy Ind Ltd | Distributed storage system of data, program and server |
JP4144549B2 (en) | 2004-03-31 | 2008-09-03 | 日本電気株式会社 | Data storage system and control method of the system |
US7516354B2 (en) * | 2004-08-25 | 2009-04-07 | International Business Machines Corporation | Storing parity information for data recovery |
JP4546387B2 (en) | 2005-11-17 | 2010-09-15 | 富士通株式会社 | Backup system, method and program |
JP4718340B2 (en) | 2006-02-02 | 2011-07-06 | 富士通株式会社 | Storage system, control method and program |
JP4767139B2 (en) * | 2006-09-15 | 2011-09-07 | 富士通株式会社 | Storage management program, storage management device, and storage management method |
JP4985647B2 (en) | 2006-09-29 | 2012-07-25 | 富士通株式会社 | Repair program, repair device, and repair method |
WO2009149388A1 (en) | 2008-06-06 | 2009-12-10 | Pivot3 | Method and system for distributing commands to targets |
US8219750B2 (en) * | 2008-06-30 | 2012-07-10 | Pivot3 | Method and system for execution of applications in conjunction with distributed RAID |
JP5464347B2 (en) * | 2010-02-22 | 2014-04-09 | 日本電気株式会社 | Memory failure processing apparatus, memory failure processing method, and memory failure processing program |
JP2012175535A (en) * | 2011-02-23 | 2012-09-10 | Brother Ind Ltd | Node apparatus, information processing method, and program |
US8527699B2 (en) | 2011-04-25 | 2013-09-03 | Pivot3, Inc. | Method and system for distributed RAID implementation |
CN112667153A (en) * | 2020-12-22 | 2021-04-16 | 军事科学院系统工程研究院网络信息研究所 | Multi-site disaster recovery backup method based on distributed raid slices |
-
1998
- 1998-08-28 JP JP24334298A patent/JP3736134B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000076207A (en) | 2000-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9448886B2 (en) | Flexible data storage system | |
JP5038897B2 (en) | Storage of parity information for data recovery | |
JP3742494B2 (en) | Mass storage device | |
US5805788A (en) | Raid-5 parity generation and data reconstruction | |
JP5124792B2 (en) | File server for RAID (Redundant Array of Independent Disks) system | |
US20030084397A1 (en) | Apparatus and method for a distributed raid | |
US10353787B2 (en) | Data stripping, allocation and reconstruction | |
US20040037120A1 (en) | Storage system using fast storage devices for storing redundant data | |
JPH0642193B2 (en) | Update recording method and apparatus for DASD array | |
WO2002003204A1 (en) | Three interconnected raid disk controller data processing system architecture | |
JP3736134B2 (en) | Distributed storage method, distributed storage system, and recording medium recording distributed storage program | |
WO2005043389A2 (en) | Method and apparatus for enabling high-reliability storage of distributed data on a plurality of independent storage devices | |
JP2011530746A (en) | System and method for transmitting data between different RAID data storage formats for current data and playback data | |
US6301711B1 (en) | System and method for the network support of full motion video using a redundant array of inexpensive disks | |
US20070106925A1 (en) | Method and system using checksums to repair data | |
JPH09269871A (en) | Data re-redundancy making system in disk array device | |
JP2011253400A (en) | Distributed mirrored disk system, computer device, mirroring method and its program | |
US7007193B1 (en) | Method and system for reconstructing data serially arranged on a magnetic tape track | |
JP7137612B2 (en) | DISTRIBUTED STORAGE SYSTEM, DATA RECOVERY METHOD, AND DATA PROCESSING PROGRAM | |
JP3584665B2 (en) | Library storage device using portable media | |
JPH09297663A (en) | Disk array device | |
Wu et al. | Parity-distribution: a shortcut to reliable cluster computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041112 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051017 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091104 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101104 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |