JP2003099210A - 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ - Google Patents
仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータInfo
- Publication number
- JP2003099210A JP2003099210A JP2001292426A JP2001292426A JP2003099210A JP 2003099210 A JP2003099210 A JP 2003099210A JP 2001292426 A JP2001292426 A JP 2001292426A JP 2001292426 A JP2001292426 A JP 2001292426A JP 2003099210 A JP2003099210 A JP 2003099210A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- computer
- command
- instruction
- parity
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2025—Failover techniques using centralised failover control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1028—Distributed, i.e. distributed RAID systems with parity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1054—Parity-fast hardware, i.e. dedicated fast hardware for RAID systems with parity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Multi Processors (AREA)
Abstract
タにそれぞれ接続されたディスク装置を利用して仮想的
なRAID装置を実現する。 【解決手段】クラスタシステムにおいて、ディスク装置
4-1〜4-3を仮想RAID装置40の構成要素として扱
うためのグローバル命令からローカル命令への変換を行
うクラスタマネージャ12-1〜12-2と、クラスタRA
ID制御部13-1〜13-3とをコンピュータ1-1〜1-3
に備える。制御部13-i(i=1,2,3)において、
命令変換部132-iはクラスタマネージャにより命令変
換を行わせ、ディスク制御部136-iはディスク装置4
-iに対する読み出し/書き込みを行う。パリティ計算部
134-iはパリティ計算を行い、命令転送部133-iは
命令変換部132-iから受けたローカル命令を対応する
他のコンピュータ、ディスク制御部136-iまたはパリ
ティ計算部134-iに転送する。
Description
タがネットワークで接続されたクラスタシステムに係
り、特に各コンピュータにそれぞれ接続されたディスク
装置を仮想的なRAID装置の構成要素として利用する
ことが可能な仮想的なRAID装置を有するクラスタシ
ステム及び同システム用のコンピュータに関する。
続されたクラスタシステムは、一部のコンピュータに障
害が発生したとき、他のコンピュータで運用を続けるこ
とによって、システム全体の可用性を向上させる機能を
持つシステムとして従来からよく知られている。
ャが動作している。クラスタマネージャは、一部のコン
ピュータに障害が発生したとき、他のコンピュータで運
用を続けられるように、次の2つの機能を持つ。
る複数のコンピュータ間で、状態の一貫性を保証する機
能である。状態の一貫性とは、クラスタシステムの全て
のコンピュータから、クラスタマネージャが保持する状
態の参照及び変更が可能であり、常に最新の状態が参照
できることを意味する。
るコンピュータのいずれかに障害が発生した場合に、そ
れを検出する機能である。クラスタマネージャは、障害
が発生したコンピュータを検出すると、そのコンピュー
タをシステムから切り離す。
システムでは、クラスタマネージャの管理のもとで、一
部のコンピュータに障害が発生したとき、他のコンピュ
ータで運用が続けられるようになっている。しかし、シ
ステムによっては、障害が発生したコンピュータが持っ
ていたデータを参照できなければ、障害が発生した直前
の状態から運用を再開することができない場合がある。
このような場合、従来は、運用が一時中断したり、過去
の状態に戻ったりしてしまう。
でその目的は、クラスタシステムを構成するコンピュー
タに障害が発生したとき、そのコンピュータの持つデー
タが、停止した直前の状態から運用を再開するのに必要
な場合であっても、各コンピュータにそれぞれ接続され
たディスク装置を1つの仮想的なRAID装置の構成要
素として利用することにより運用を続けることができる
ようにすることにある。
置を有するクラスタシステムにおいて、1つのパリティ
計算を行うのに必要なコンピュータ間のデータ転送回数
を少なくして、仮想的なRAID装置に対する書き込み
の速度を向上させることができるようにする。
つのネットワークで相互接続された複数のコンピュータ
と、上記各コンピュータにそれぞれ接続されたディスク
装置とを備えたクラスタシステムにおいて、システム全
体の排他制御と、上記各ディスク装置を仮想的なRAI
D装置の構成要素として扱うのに必要なグローバル命令
から少なくとも1つのローカル命令への変換とを行うク
ラスタマネージャと、上記複数のコンピュータ上で上記
クラスタマネージャからそれぞれ独立に動作する制御機
構であって、自身が動作するコンピュータ上で上記RA
ID装置を対象とする書き込み/読み出しのグローバル
命令が発生した場合に、上記クラスタマネージャと通信
することで当該グローバル命令を上記クラスタマネージ
ャにより少なくとも1つのローカル命令に変換させる命
令変換手段と、与えられたローカル命令に従ってディス
ク装置を対象とする読み出し/書き込みを行うディスク
制御手段と、与えられたローカル命令に従ってパリティ
計算を行うパリティ計算手段と、上記命令変換手段から
ローカル命令を受けて、当該ローカル命令を対応する他
のコンピュータ、自コンピュータの上記ディスク制御手
段または上記パリティ計算手段に転送する命令転送手段
とを含む制御機構とを備えたことを特徴とする。
ては、当該システムを構成する複数のコンピュータそれ
ぞれに接続されたディスク装置を、1つの仮想的なRA
ID装置の構成要素として利用することができる。この
ため、システム内の1台のコンピュータに障害が発生し
ても、その障害が発生したコンピュータに接続されたデ
ィスク装置に書き込まれているデータを、他のコンピュ
ータに接続されたディスク装置のデータからRAID
(Redundant Arrays of Inexpensive Disks)技術によ
り参照(復元)することが可能となり、これにより障害
が発生した直前の状態から他のコンピュータで運用を再
開することが可能となる。
機能、即ちパリティ計算に必要な情報が格納されている
ディスク装置と接続されているコンピュータで当該情報
を用いたパリティ計算の中間結果または最終結果を算出
させるローカル命令であって、当該中間結果を算出させ
る場合には、当該中間結果を、当該中間結果との間でパ
リティ計算の次の中間結果または最終結果を算出するの
に必要な情報が格納されているディスク装置と接続され
ているコンピュータに転送させるローカル命令を生成す
る機能を持たせるとよい。
ラスタシステムにおける書き込み動作において、パリテ
イの計算に必要な情報が1つのコンピュータに集められ
ずに、パリティ計算の中間結果が順次、パリティ計算の
次の中間結果または最終結果の計算に必要な情報を持つ
コンピュータに転送されることになるため、1つのパリ
ティ計算を行うのに必要なコンピュータ間のデータ転送
回数を少なくして、仮想的なRAID装置に対する書き
込みの速度を向上させることが可能となる。
数のコンピュータにそれぞれ設けて当該コンピュータ上
で動作させ、クラスタマネージャ同士で上記ネットワー
クを介して同期を常に取る構成とするならば、システム
内の1台のコンピュータに障害が発生しても、システム
全体が停止するのを防止できる。
数のコンピュータから独立に設けられたクラスタマネー
ジャ用コンピュータに設けて当該クラスタマネージャ用
コンピュータ上で動作させる構成とするならば、上記複
数のコンピュータの負荷を低減することが可能となる。
図面を参照して説明する。
実施形態に係る仮想的なRAID装置を有するクラスタ
システムの構成を示すブロック図である。図1におい
て、複数、例えば3台のコンピュータ1-1,1-2,1-3
は、2つのネットワーク2,3により相互接続されてい
る。ネットワーク2,3は例えばLAN(ローカルエリ
アネットワーク)である。コンピュータ1-1,1-2,1
-3には、それぞれディスク装置4-1,4-2,4-3が接続
されている。ディスク装置4-1〜4-3は、コンピュータ
1-1〜1-3により共有される仮想的なRAID装置(仮
想RAID装置)40を構成する単体ディスク装置とし
て用いられる。つまり、図1のクラスタシステムの特徴
は、システム内の各コンピュータ1-1,1-2,1-3が持
つディスク装置4-1,4-2,4-3を利用して仮想RAI
D装置40を構成している点にある。
RAID装置の第1の特徴は、当該RAID装置を構成
する複数のディスク装置(単体ディスク装置)のデータ
を、当該RAID装置とコントローラ(RAIDコント
ローラ)を介して接続された複数のコンピュータから共
有できる点にある。このコントローラは、RAID装置
を構成する各ディスク装置(単体ディスク装置)を集中
して制御する。また、RAID装置の第2の特徴は、当
該RAID装置を構成する複数のディスク装置のいずれ
か1つに障害が発生しても、RAID技術により残りの
ディスク装置のデータから障害ディスク装置のデータが
復元でき、データの可用性を向上させることができる点
にある。
AID装置を構成する各ディスク装置を集中して制御す
るコントローラが必要となる。しかしクラスタシステム
では、この種のコントローラを持たない。したがって、
従来から知られているRAID装置の構成をそのままク
ラスタシステムに応用して、仮想RAID装置40を実
現することはできない。そこで、本実施形態では、仮想
RAID装置40のコントローラの機能を、他の方法で
実現している。
ーラの機能の実現例を述べる前に、当該コントローラの
機能(つまりRAID技術)について、仮想RAID装
置40のコントローラが存在するものと仮定して、つま
り仮想RAID装置40が通常のRAID装置であるも
のとして説明する。
ぞれタスク11-1〜11-3が動作している。タスクとは
オペレーティングシステム(OS)や、アプリケーショ
ンプログラム等のソフトウェアを指す。
は、データそのものが書き込まれるが(このデータをR
AIDデータと称する)、その他に、パリティという、
RAIDデータから計算して求められる冗長データが、
ディスク装置4-1〜4-3のうち、RAIDデータが書き
込まれるディスク装置とは別のディスク装置に書き込ま
れる。
ディスク装置4-1及び4-2にはRAIDデータd1,d2
を、ディスク装置4-3にはパリティpを保存することに
すると、パリティpは次式 p=d1 XOR d2 に従って求められる。ここで、XORは排他的論理和演
算を表す。
うちのいずれか1つのディスク装置が故障して、その故
障ディスク装置が使用できなくなった場合でも、残りの
ディスク装置のRAIDデータとパリティpとを利用す
ることによって、RAIDデータの読み出し/書き込み
が可能である。
き、RAIDデータd1を読み出す(復元する)には、
残っているディスク装置4-2上のRAIDデータd2及
びディスク装置4-3上のパリティpを用いて、 d1=p XOR d2 とする。また、ディスク装置4-3が故障した場合は、そ
のままディスク装置4-1,4-2から、RAIDデータd
1,d2の読み出しが可能である。
出す書き込み/読み出し命令は、RAID装置40のコ
ントローラで処理される。書き込み命令には、書き込む
べきデータと、書き込む場所の情報、つまりアドレス情
報とが含まれる。読み出し命令には、アドレス情報が含
まれる。
3のいずれか)からの書き込み/読み出し命令で使われ
るアドレス情報(論理的なアドレス情報)と、RAID
データ及びパリティが、どのディスク装置のどこに書か
れているかという位置情報との対応テーブル(以下、位
置情報変換テーブルと称する)を記憶している。また、
コントローラはパリティの計算を行う機能と、ディスク
装置の読み出し/書き込みを行う機能とを持つ。
け取った書き込み/読み出し命令(以下、グローバル命
令と呼ぶ)を、ディスク装置4-j(jは1〜3のいずれ
か)に対する書き込み/読み出し命令及びパリティ計算
命令(以下、ローカル命令と称する)に変換する機能を
持つ。
動作 ・RAIDデータの読み出し、書き込み ・パリティの読み出し、書き込み ・パリティの計算 を指定する複数のローカル命令に変換される。
更新するときの手順を、RAIDデータd1をd1'に更
新する場合を例に説明する。 (a1)古いRAIDデ一夕d1をディスク装置4-1か
ら読み出す。 (a2)古いパリティpをディスク装置4-3から読み出
す。 (a3)パリティを計算する。新しいパリティp'は、 p'=d1' XOR d2=d1' XOR p XOR d1 であるから、d1',p,d1からp'を計算できる。
置4-3に書き込む。
スク装置4-1に書き込む。
は、上記の、古いRAIDデータと古いパリティを使う
方法(第1の方法)の他に、他のRAIDデータを使う
方法(第2の方法)もある。第2の方法の場合、上記の
例ではd2をディスク装置4-2から読み出し、 p'=d1' XOR d2 で計算できる。
置)が5台以上ある場合では、第1の方法の方が、ディ
スク装置から読み出すRAIDデータの数が少なくて済
む。このことについて、ディスク装置(単体ディスク装
置)が6台あり、それぞれにRAIDデータd1,d2,
d3,d4,d5とパリティpが保存されていて、d1をd
1'に変更する場合を例に、説明する。
求めるには、 p'=d1' XOR p XOR d1 のように、1つのRAIDデータd1とパリティpを読
み出すだけでよい。
d5 のように、4つのRAIDデータd2,d3,d4,d5を
読み出す必要がある。
した場合には、コントローラが故障したディスク装置を
検出し、当該故障したディスク装置をシステムから切り
離す。例えば、ディスク装置4-1が故障した場合には、
この状態でRAIDデータd1をd1'に更新するには、
d1を読み出すことも、d1'を書き込むこともできな
い。この場合、d1を使わずにパリティを計算して、つ
まり第2の方法によりパリティを計算して、パリティの
みを更新することになる。
み出す。 (b2)新しいパリティp'を p'=d1' XOR d2 の演算により求める。 (b3)新しいパリティp'をディスク装置4-3に書き
込む。
み出すことができない状態で、新しいパリティを求める
には、上記第2の方法を使う必要がある。
同じRAIDデータに対する複数の書き込み/読み出し
命令が送られた場合のコントローラの動作について説明
する。
問題ない。しかし、書き込み命令と読み出し命令、また
は複数の書き込み命令を同時に行うと、ディスク装置上
のRAIDデータやパリティが破壊される。このような
場合には、コントローラが上記各命令に対する排他制御
を行う。
するディスク装置4-1,4-2,4-3を集中して制御する
コントローラには、次に列挙する6つの機能、即ち (1)位置情報の管理 (2)ディスク装置4-1,4-2,4-3の故障検出と、シ
ステムからの切り離し (3)排他制御 (4)書き込み/読み出し命令の変換(グローバル命令
からローカル命令の変換) (5)ディスク装置4-1,4-2,4-3を対象とする読み
出し/書き込み (6)パリティの計算 を実行する機能が要求される。
(6)を実現するためのコンピュータ1-1〜1-3の構成
について、説明する。まずコンピュータ1-1〜1-3上で
は、上記タスク11-1〜11-3の他に、クラスタマネー
ジャ12-1〜12-3と、クラスタRAID制御部13-1
〜13-3とが動作している。クラスタマネージャ12-1
〜12-3は、それぞれネットワーク3を介して互いに通
信を行う。これによりクラスタマネージャ12-1〜12
-3は、クラスシステム全体では、1つの仮想的なクラス
タマネージャを構成する。
-iとクラスタRAID制御部13-i(i=1,2,3)
とにより、上記コントローラの機能(1)〜(6)を以
下のように実現する。
に必要な位置情報変換テーブルは、変更があったときに
全てのコンピュータ1-1〜1-3から同じ情報が参照でき
なければならない。そこで、この情報をクラスタマネー
ジャ12-iが状態として保持することにより、上記機能
(1)を実現して情報の一貫性を保証する。そのため、
クラスタマネージャ12-iには、位置情報変換テーブル
120-iが保持される。位置情報変換テーブル120-i
のデータ構造例を図2に示す。位置情報変換テーブル1
20-iには、書き込みを指定するグローバル命令のID
(識別)情報毎に、グローバル命令で使われるアドレス
情報と、第1及び第2のRAIDデータ(DATA1,
DATA2)がディスク装置4-1〜4-3(DISK1〜
DISK3)のうちのいずれに書かれているかという位
置情報と、パリティ(PARITY)がディスク装置4
-1〜4-3(DISK1〜DISK3)のうちのいずれに
書かれているかという位置情報とが登録される。クラス
タマネージャ12-1〜12-3は、ネットワーク3を介し
て互いに同期をとって動作することで、位置情報変換テ
ーブル120-1〜120-3の一致化を図る。
存在すると仮定すると、当該コントローラが検出する必
要があるのは、ディスク装置4-1〜4-3の故障のみであ
る。しかし、クラスタシステムの場合、ディスク装置4
-1〜4-3を持つコンピュータ1-1〜1-3が故障し、結果
として当該コンピュータ1-1〜1-3が持つディスク装置
4-1〜4-3、つまり当該コンピュータ1-1〜1-3に接続
されているディスク装置4-1〜4-3の読み出し/書き込
みができなくなる恐れがある。そこで本実施形態におけ
るクラスタマネージャ12-iに、ディスク装置4-iの故
障に加え、コンピュータ1-iの故障をも検出する機能を
持たせることで、上記機能(2)を実現する。
き込みやパリティの計算、つまり上記機能(4)〜
(6)は、上記機能(3)により排他をとって行わない
と、RAIDデータやパリティが破壊されてしまう。そ
こで、これらの処理を全て各コンピュータ1-iのクラス
タマネージャ12-iが行うようにすれば、互いに同期を
とって行うことが可能である。しかし、各コンピュータ
1-iのクラスタマネージャ12-iが互いに同期をとって
動作すると、通常のRAID装置のコントローラが1台
で排他制御を行うのに比べて、動作が遅くなってしま
う。つまり、一般にクラスタシステムは、当該システム
を構成するコンピュータの台数が増加するほど性能が向
上するはずであるのに対し、各コンピュータ1-iのクラ
スタマネージャ12-iが互いに同期をとって動作するた
めに、コンピュータの台数が増加するほどクラスタマネ
ージャ12-iの負担が増えて、コンピュータの台数増加
とシステムの性能向上とが対応しなくなる。
しを始めるときにクラスタマネージャ12-iを使ってロ
ックの取得を行い、書き込み終了時に当該クラスタマネ
ージャ12-iを再度使ってロックを開放する。このよう
にすることによって、ディスク装置4-iの書き込み/読
み出し処理はクラスタマネージャ12-iを利用せずに行
うことができる。これにより、通常のRAID装置のコ
ントローラと同様の排他を行いながら、システム規模に
応じた書き込み性能、即ちスケーラブルな書き込み性能
を発揮することが可能である。本実施形態では、このデ
ィスク装置4-iの書き込み/読み出し処理及びパリティ
計算(つまり上記(5),(6)の機能)とコンピュー
タ間の書き込み/読み出しデータの転送及び書き込み/
読み出し命令の転送とをクラスタRAID制御部13-i
によって実現する。また、タスク11-iからの書き込み
/読み出し命令(グローバル命令)をローカル命令に変
換する機能(上記(4)の機能)については、当該命令
の排他制御のために、クラスタRAID制御部13-iが
クラスタマネージャ12-iを使用することで、つまりク
ラスタRAID制御部13-i及びクラスタマネージャ1
2-iによって実現する。
は、クラスタRAID制御部13-iに送られる。クラス
タRAID制御部13-iは、クラスタマネージャ12-i
を使ってグローバル命令をローカル命令に変換し、排他
のためのロックの取得を行い、ディスク装置4-iに対し
てRAIDデータ及びパリティの書き込み、参照を行う
ように構成されている。クラスタRAID制御部13-i
はまた、他のコンピュータ1-j(j=1,2,3、但し
j≠i)上で動作しているクラスタRAID制御部13
-jとネットワーク2経由で互いに通信を行う。
は、仮想デバイス131-1〜131-3と、命令変換部1
32-1〜132-3と、命令転送部133-1〜133-3
と、パリティ計算部134-1〜134-3と、ディスク制
御部136-1〜136-3とから構成される。パリティ計
算部134-1〜134-3はバッファ135-1〜135-3
を持つ。
ラスタRAID制御部13-i上の仮想デバイス131-i
に送られる。仮想デバイス131-iは、タスク11-iに
対してクラスタRAID制御部13-iが記憶装置である
かのように見せる。仮想デバイス131-iはコンピュー
タ1-iのOS上に存在する一種のデバイスドライバであ
る。
バル命令は命令変換部132-iに送られる。命令変換部
132-iは、クラスタマネージャ12-iと通信して、当
該クラスタマネージャ12-iによりグローバル命令から
ローカル命令(少なくとも1つのローカル命令)への変
換を行わせ、当該ローカル命令を命令転送部133-iに
送ると共に、当該ローカル命令を排他的に実行するため
のロックの取得を行う。
置情報が他のコンピュータ1-jのディスク装置4-jを指
していれば、そのコンピュータ1-jの命令転送部133
-jヘ当該ローカル命令を送る。また命令転送部133-i
は、上記位置情報が自身のコンピュータ1-iを指してい
れば、ローカル命令の内容に応じてパリティ計算部13
4-iまたはディスク制御部136-iに当該ローカル命令
を送る。パリティ計算部134-iは、ディスク制御部1
36-iを通じてディスク装置4-iからRAIDデータま
たはパリティを読み込み、パリティの計算を行う。
ィスク装置4-1に格納されているRAIDデ一夕d1を
d1'に更新する書き込みのグローバル命令を実行する場
合を例に、コンピュータ1-1のクラスタRAID制御部
13-1の動作を中心に、図3の動作説明図を参照して説
明する。
-1は、仮想RAID装置40に対する書き込み/読み出
しが必要となった場合、当該書き込み/読み出しを指定
するグローバル命令をクラスタRAID制御部13-1内
の仮想デバイス131-1に送る。仮想デバイス131-1
は、タスク11-1からのグローバル命令を受け取ると、
当該グローバル命令を命令変換部132-1に送る。
1-1からグローバル命令を受け取ると、当該グローバル
命令をローカル命令に変換するために、当該グローバル
命令をクラスタマネージャ12-1に送る。クラスタマネ
ージャ12-1は、命令変換部132-1から送られたグロ
ーバル命令をローカル命令に変換する際に、当該ローカ
ル命令の指定するディスク装置の領域がロックされてい
るかをチェックし、ロックされているならば、そのロッ
クが開放されるのを待って、当該ローカル命令を命令変
換部132-1に返すと共に、当該ローカル命令に対応し
て排他に必要なロック情報を作成する。このロック情報
はネットワーク3を介して他のコンピュータ1-2,1-3
上のクラスタマネージャ12-2,12-3に送られる。こ
の結果、クラスタマネージャ12-1〜12-3によりシス
テム全体の排他制御が実現され、クラスタRAID制御
部13-1〜13-3はローカル命令を排他的に実行するた
めのロックを取得することができる。
ル命令からローカル命令への変換は、先に述べた通常の
RAID装置におけるコントローラによる変換と同様
に、次のように行われる。まずクラスタマネージャ12
-1は、グローバル命令に含まれるアドレス情報を参照
し、自身が保持している位置情報変換テーブル120-1
を使って、当該アドレス情報に対応する位置情報を取得
する。そしてクラスタマネージャ12-1は、グローバル
命令が読み出し命令であれば、取得した位置情報を含む
ローカル命令を作成する。またクラスタマネージャ12
-1は、グローバル命令が書き込み命令であれば、取得し
たアドレス情報から、対応するRAIDデータ及びパリ
ティの位置情報を決定し、パリティ計算に必要な、旧デ
ータ(古いRAIDデータ)の読み出し、旧パリティ
(古いパリティ)の読み出し、新パリティの計算、新デ
ータの書き込み、及び新パリティの書き込みをそれぞれ
指定するローカル命令の群を作成する。
ラの機能の説明の場合と同様に、ディスク装置4-1に格
納されているRAIDデ一夕d1をd1'に更新する書き
込みのグローバル命令Gであるものとすると、当該グロ
ーバル命令Gはタスク11-1から仮想デバイス131-1
及び命令変換部132-1を介してクラスタマネージャ1
2-1に送られて(ステップS1〜S3)、このクラスタ
マネージャ12-1にて、グローバル命令Gから以下に述
べるローカル命令L1〜L5への変換が行われる。
L1、即ちディスク装置4-1からの古いRAIDデ一夕
d1の読み出しを指定するローカル命令L1が生成され
る。また、上記(a2)のためのローカル命令L2、即
ちRAIDデータd1に対応するディスク装置4-3から
の古いパリティpの読み出しを指定するローカル命令L
2が生成される。また、上記(a3)のためのローカル
命令L3、即ち新しいRAIDデ一夕d1'と(ローカル
命令L2に従ってディスク装置4-3から読み出される)
古いパリティpと(ローカル命令L1に従ってディスク
装置4-1から読み出される)古いRAIDデータd1と
から、p'=d1' XOR p XOR d1の演算により新
しいパリティp'を求めることを指定するローカル命令
L3が生成される。また、上記(a4)のためのローカ
ル命令L4、即ち(ローカル命令L3に従って計算され
た)新しいパリティp'をディスク装置4-3に書き込む
ことを指定するローカル命令L4が生成される。また、
上記(a5)のためのローカル命令L5、即ちディスク
装置4-1への新しいRAIDデータd1'の書き込みを指
定するローカル命令L5が生成される。
るタスク11-1から、クラスタRAID制御部13-1の
仮想デバイス131-1にグローバル命令が送られたこと
を前提としている。もし、コンピュータ1-2,1-3上で
動作するタスク11-2,11-3から、クラスタRAID
制御部13-2,13-3の仮想デバイス131-2,131
-3にグローバル命令が送られた場合には、クラスタRA
ID制御部13-2,13-3の命令変換部132-2,13
2-3からの要求に応じて、コンピュータ1-2,1-3内の
クラスタマネージャ12-2,12-3により上記したクラ
スタマネージャ12-1と同様のグローバル命令からロー
カル命令への変換動作が行われる。
D装置であればコントローラが行うべき変換動作を、ク
ラスタRAID制御部13-1〜13-3の要求によりクラ
スタマネージャ12-1〜12-3で行わせるようにしてい
る。これは、RAID装置40が、コンピュータ1-1〜
1-3に接続されているディスク装置4-1〜4-3から構成
された仮想的なRAID装置であり、通常のRAID装
置のように当該ディスク装置4-1〜4-3を集中して制御
するコントローラを持たないことを考慮したためであ
る。
ャ12-1からローカル命令(ローカル命令群)を受け取
ると、当該ローカル命令(ローカル命令群)を命令転送
部133-1に送る。命令転送部133-1は、受け取った
ローカル命令(ローカル命令群)の位置情報を参照し
て、命令単位に、他のコンピュータ1-2または1-3に対
する命令であるか、或いは命令転送部133-1自身が置
かれているコンピュータ(自コンピュータ)1-1に対す
る命令であるかを判定する。もし、他のコンピュータ1
-2または1-3に対する命令であれば、命令転送部133
-1は、そのコンピュータ1-2または1-3の命令転送部1
33-2または133-3に、対応するローカル命令をネッ
トワーク2経由で転送する。一方、自タスク11-iに対
する命令であれば、命令転送部133-1は、その命令が
パリティ計算命令であるか、ディスク装置4-1に対する
書き込み/読み出し命令であるかを判定する。そして命
令転送部133-1は、パリティ計算命令であれば当該パ
リティ計算命令をパリティ計算部134-1に転送し、デ
ィスク装置4-1に対する書き込み/読み出し命令であれ
ば当該書き込み/読み出し命令をディスク制御部136
-1に転送する。また、命令転送部133-1からローカル
命令が転送されたコンピュータ1-2または1-3内の命令
転送部133-2または133-3においても、命令転送部
133-1と同様の動作が行われる。
例、即ちグローバル命令Gがディスク装置4-1に格納さ
れているRAIDデ一夕d1をd1'に更新する書き込み
命令である例では、クラスタマネージャ12-1にてグロ
ーバル命令Gから変換されたローカル命令L1〜L5が
命令変換部132-1を介して命令転送部133-1に送ら
れ(ステップS4,S5)、次のように処理される。
Dデ一夕d1の読み出しを指定するローカル命令L1と
ディスク装置4-1への新しいRAIDデータd1'の書き
込みを指定するローカル命令L5とが、命令転送部13
3-1からディスク制御部136-1に転送される(S6,
S7)。また、ディスク装置4-3からの古いパリティp
の読み出しを指定するローカル命令L2と新しいパリテ
ィp'をディスク装置4-3に書き込むことを指定するロ
ーカル命令L4とが、命令転送部133-1からコンピュ
ータ1-3内の命令転送部133-3に転送され(ステップ
S8,S9)、更に命令転送部133-3からディスク制
御部136-3に転送される(ステップS10,S1
1)。また、新しいRAIDデ一夕d1'と古いパリティ
pと古いRAIDデータd1とから新しいパリティp'を
求めることを指定するローカル命令L3が命令転送部1
33-1からパリティ計算部134-1に転送される(ステ
ップS12)。
令転送部133-1,133-3からローカル命令を受け取
ると、当該ローカル命令に従ってディスク装置4-1,4
-3に対する読み出し/書き込みを行う。ここでは、ディ
スク制御部136-1により、ローカル命令L1に従って
ディスク装置4-1から古いRAIDデータd1が読み出
され、パリティ計算部134-1に転送される(ステップ
S13,S14)。また、ディスク制御部136-3によ
り、ローカル命令L2に従ってディスク装置4-3から古
いパリティpが読み出され、命令転送部133-3から命
令転送部133-1を介してパリティ計算部134-1に転
送される(ステップS15〜S17)。また、パリティ
計算部134-1には命令転送部133-1から新しいRA
IDデータd1'も転送される(ステップS18)。コン
ピュータ1-1内の命令転送部133-1とコンピュータ1
-3内の命令転送部133-3との間のローカル命令及びデ
ータの転送は、ネットワーク2を介して行われる。
AIDデータd1'、旧パリティp及び旧RAIDデータ
d1は、当該パリティ計算部134-1内のバッファ13
5-1に一時格納される。パリティ計算部134-1は、バ
ッファ135-1に格納された新RAIDデータd1'、旧
パリティp及び旧RAIDデータd1の間でp'=d1'X
OR p XOR d1の演算、つまり排他的論理和(XO
R)演算を行い、前記第1の方法により新パリティp'
を生成する(ステップS19)。
新パリティp'は、命令転送部133-1からコンピュー
タ1-3内の命令転送部133-3を介してディスク制御部
136-3に転送される(ステップS20〜S22)。デ
ィスク制御部136-3はローカル命令L4に従い、ディ
スク装置4-3に格納されている旧パリティpを新パリテ
ィp'に更新する(ステップS23)。また、新RAI
Dデータd1'は、命令転送部133-1からディスク制御
部136-1にも転送される(ステップS18)。ディス
ク制御部136-1はローカル命令L5に従い、ディスク
装置4-1に格納されている旧RAIDデータd1を新R
AIDデータd1'に更新する(ステップS23)。
ュータ1-1〜1-3のいずれか、例えばコンピュータ1-1
に障害が発生した場合の動作について説明する。
ータ1-1内のクラスタマネージャ12-1により検出され
る。この場合、コンピュータ1-1が有するディスク装置
4-1は利用できなくなるが、通常のRAIDシステムで
ディスク装置(単体ディスク装置)が1台故障した場合
と同様に、残りのディスク装置4-2及び4-3のRAID
データ及びパリティを読み出すことによって、つまり前
記第2の方法によって、コンピュータ1-1に格納されて
いるRAIDデータを等価的に読み出す(復元する)こ
とが可能となる。
1-1に障害が発生している状態で、ディスク装置4-1上
のRAIDデータを読み出す必要のあるグローバル命令
が命令変換部132-1から送られた場合、当該ディスク
装置4-1を使用せずに当該ディスク装置4-1のRAID
データを読み出すためのローカル命令を生成する。例え
ば、ディスク装置4-1のRAIDデータd1を読み出す
必要がある場合であれば、クラスタマネージャ12-1
は、当該RAIDデータd1に対応するディスク装置4-
2上のRAIDデータd2を読み出すためのローカル命令
とディスク装置4-3のパリティpを読み出すためのロー
カル命令と、パリティp及びRAIDデータd2を用い
てd1=p XOR d2の演算によりディスク装置4-1上
のRAIDデータd1を復元するためのパリティ計算
(排他的論理和演算)を指定するローカル命令とを生成
する。以降の動作は、先のグローバル命令からローカル
命令L1〜L5が生成された場合とほぼ同様である。以
上は、ディスク装置4-1へのデータ書き込みまたはディ
スク装置4-1上のデータの更新の場合も同様である。
ク11-1から書き込みを指定するグローバル命令が発生
し、当該グローバル命令がコンピュータ1-2に接続され
たディスク装置4-2上のRAIDデータ(旧データ)d
2を新らしいRAIDデータ(新データ)d2'に書き換
えることを指定している場合の手順について、図4
(a)を参照して説明する。
ID制御部13-2)によりディスク装置4-2から旧デー
タd2を読み出す(ステップS31)。次に、コンピュ
ータ1-2(のクラスタRAID制御部13-2)からコン
ピュータ1-1(のクラスタRAID制御部13-1)にネ
ットワーク2を介して旧データd2を転送する(ステッ
プS32)。
ID制御部13-3)によりディスク装置4-3から旧パリ
ティpを読み出す(ステップS33)。次に、コンピュ
ータ1-3(のクラスタRAID制御部13-3)からコン
ピュータ1-1(のクラスタRAID制御部13-1)にネ
ットワーク2を介して旧パリティpを転送する(ステッ
プS34)。
ID制御部13-1)で、旧データd2、旧パリティp及
び新データd2'の間の排他的論理和(XOR)演算を行
い、新パリティp'=d2' XOR p XOR d2を生成
する(ステップS35)。
御部13-1)からコンピュータ1-2(のクラスタRAI
D制御部13-2)にネットワーク2を介して新データd
2'を転送する(ステップS36)。次に、コンピュータ
1-2(のクラスタRAID制御部13-2)によりディス
ク装置4-2上の旧データd2を新データd2'に書き換え
る(ステップS37)。
ID制御部13-1)からコンピュータ1-3(のクラスタ
RAID制御部13-3)にステップS35で生成した新
パリティp'をネットワーク2経由で転送する(ステッ
プS38)。次に、コンピュータ1-3(のクラスタRA
ID制御部13-3)によりディスク装置4-3上の旧パリ
ティpを新パリティp'に書き換える(ステップS3
9)。
ータd2'を、それぞれディスク装置4-2及び4-3に書き
込むことができる。但し、以上の手順(図4(a)参
照)では、ネットワーク2を経由してのコンピュータ間
の転送(RAIDデータの転送とパリティの転送)が4
回発生し、仮想RAID装置40に対する読み出し/書
き込みの性能が低下する。
すことを可能とする本実施形態の変形例について、図4
(b)を参照して説明する。なお、本変形例において
も、図4(a)の例と同様に、コンピュータ1-1上で動
作するタスク11-1から、ディスク装置4-2上のRAI
Dデータ(旧データ)d2を新らしいRAIDデータ
(新データ)d2'に書き換えることを指定するグローバ
ル命令が発生したものとする。
ID制御部13-1)からコンピュータ1-2(のクラスタ
RAID制御部13-2)にネットワーク2を介して新デ
ータd2'を転送する(ステップS41)。
ID制御部13-2)によりディスク装置4-2から旧デー
タd2を読み出す(ステップS42)。次に、コンピュ
ータ1-2(のクラスタRAID制御部13-2)で、コン
ピュータ1-1(のクラスタRAID制御部13-1)から
転送された新データd2'及び自コンピュータ1-2(のク
ラスタRAID制御機構13-2)が読み出した旧データ
d2の間の排他的論理和(XOR)演算を行い、その演
算結果(以下、中間データと称する)ma=d2' XO
R d2を求める(ステップS43)。
ID制御部13-2)によりディスク装置4-2上の旧デー
タd2を新データd2'に書き換える(ステップS4
4)。
ID制御部13-2)からコンピュータ1-3(のクラスタ
RAID制御部13-3)にステップS43で生成した中
間データmaをネットワーク2経由で転送する(ステッ
プS45)。
ID制御部13-3)によりディスク装置4-3から旧パリ
ティpを読み出す(ステップS46)。次に、コンピュ
ータ1-3(のクラスタRAID制御部13-3)で、自コ
ンピュータ1-3(のクラスタRAID制御機構13-3)
が読み出した旧パリティp及びコンピュータ1-2(のク
ラスタRAID制御部13-2)から転送された中間デー
タma(=d2' XOR d2)の間の排他的論理和(X
OR)演算を行い、新パリティp'=p XOR maを
生成する(ステップS47)。
ID制御部13-3)によりディスク装置4-3上の旧パリ
ティpを新パリティp'に書き換える(ステップS4
8)。
計算の途中結果(中間データma)を、次の計算に必要
な(情報が格納されているディスク装置と接続された)
コンピュータ(コンピュータ1-3)に転送することで、
データ転送を4回から2回に減らすことができる。
実施形態に係る仮想的なRAID装置を有するクラスタ
システムの構成を示すブロック図である。なお、図1と
同一部分には同一符号を付してある。
のコンピュータ1-1〜1-3に相当するコンピュータ10
-1〜10-3の他に、図1中のクラスタマネージャ12-1
〜12-3に相当するクラスタマネージャ12が動作する
クラスタマネージャ専用のコンピュータ100を備えて
いる点と、コンピュータ10-1〜10-3上ではクラスタ
マネージャが動作していない点にある。クラスタマネー
ジャ12は、図2に示したデータ構造の位置情報変換テ
ーブル120-iに相当する位置情報変換テーブル120
を有している。
ータ100はネットワーク2,3により相互接続されて
いる。コンピュータ10-1〜10-3のクラスタRAID
制御部13-1〜13-3(内の命令変換部132-1〜13
2-3)は、コンピュータ100のクラスタマネージャ1
2とネットワーク3を介して通信する。
のクラスタシステムでは、仮想RAID装置40を構成
するディスク装置4-1〜4-3と接続されているコンピュ
ータ1-1〜1-3上で、クラスタマネージャ12-1〜12
-3及びクラスタRAID制御部13-1〜13-3が動作す
る。このため、コンピュータ1-1〜1-3の負荷が大きく
なり、処理性能が低下する恐れがある。
構成のクラスタシステムでは、クラスタRAID制御部
13-1〜13-3が動作するコンピュータ10-1〜10-3
とは別に、クラスタマネージャ12が動作するコンピュ
ータ100を設けている。このため、コンピュータ10
-1〜10-3の負荷は、当該コンピュータ10-1〜10-3
上でクラスタマネージャを動作させる場合に比べて減少
する。
成しているコンピュータ1-1〜1-3のうちのいずれか1
台に障害が発生してもシステム全体が停止する恐れはな
いのに対し、図5のシステムでは、クラスタマネージャ
12が動作しているコンピュータ100に障害が発生し
た場合は、それ以降位置情報変換テーブル120が利用
できなくなるため、その時点でシステム全体が使用不能
になる。そこで、コンピュータ100を2重化するなど
して、可用性を上げることで、システム全体の可用性を
上げるとよい。
構成するディスク装置4-1〜4-3の各々に対してRAI
Dデータまたはパリティのいずれかが保存される、例え
ばディスク装置4-1,4-2にはRAIDデータd1,d2
が保存され、ディスク装置4-3にはパリティpが保存さ
れるものとしたが、これに限るものではない。例えば、
ディスク装置4-1〜4-3から構成される仮想RAID装
置40のディスク領域を、複数のストライプに分割して
管理するストライピングという手法を適用し、各ストラ
イプi毎にRAIDデータd1-i,d2-i及びパリティp
-iが、それぞれディスク装置4-1,4-2及び4-3に保存
されるRAIDレベル3と呼ばれる構成に対しても、本
発明は適用可能である。また、RAIDデータd1-i,
d2-i及びパリティp-iが、全てのディスク装置4-1,
4-2及び4-3に分散するように配置されるRAIDレベ
ル5と呼ばれる構成に対しても、本発明は適用可能であ
る。ストライピングにより、1つのRAIDデータを読
み出し/書き込みする際に複数のディスク装置が同時に
動作する割合を増やすことができ、スケーラブルな性能
を出すことができるようになる。本発明では、RAID
5の場合でもストライピングのない図の(1)のような
場合でも、ディスクアクセスのロックをとることにより
スケーラブルな性能を出すことが可能である。
-1〜1-3(またはコンピュータ10-1〜10-3,10
0)が2つのネットワーク2及び3により相互接続さ
れ、クラスタマネージャ12-1〜12-3相互間の通信
(またはクラスタマネージャ12とクラスタRAID制
御部13-1〜13-3との間の通信)にはネットワーク3
が、クラスタRAID制御部13-1〜13-3(内の命令
転送部133-1〜133-3)相互間の通信(命令転送と
データの転送)にはネットワーク2が用いられるものと
したが、これに限るものではない。例えば、上記2種の
通信に1つのネットワークを用いるようにしても構わな
い。この場合、通信速度が低下する恐れがあるものの、
システムの簡略化が図れる。
れるものではなく、実施段階ではその要旨を逸脱しない
範囲で種々に変形することが可能である。更に、上記実
施形態には種々の段階の発明が含まれており、開示され
る複数の構成要件における適宜な組み合わせにより種々
の発明が抽出され得る。例えば、実施形態に示される全
構成要件から幾つかの構成要件が削除されても、発明が
解決しようとする課題の欄で述べた課題の少なくとも1
つが解決でき、発明の効果の欄で述べられている効果の
少なくとも1つが得られる場合には、この構成要件が削
除された構成が発明として抽出され得る。
ラスタシステムを構成する複数のコンピュータそれぞれ
に接続されたディスク装置を、1つの仮想的なRAID
装置の構成要素として利用することができる。このため
本発明によれば、1台のコンピュータに障害が発生して
も、それまでに上記仮想的なRAID装置に書き込まれ
た全てのデータを参照することが可能である。また、1
台のコンピュータに障害が発生した状態であっても、タ
スクがデータを読み出し/書き込みすることが可能であ
る。これによりクラスタシステムにおいて、1台のコン
ピュータに障害が発生し、他のコンピュータで運用を続
けようとするとき、障害が発生したコンピュータの持つ
データが、連用を再開するために必要な場合であって
も、運用を続けることが可能となる。
接続されたディスク装置の読み出し/書き込みの処理及
びパリティ計算処理は、クラスタマネージャを利用せず
に行うことができるため、当該クラスタマネージャで排
他を行いながらシステム規模に応じた読み出し/書き込
み性能を実現することが可能となる。
必要な情報を1つのコンピュータに集めず、パリティ計
算の中間結果を順次、パリティ計算の次の中間結果また
は最終結果の計算に必要な情報を持つコンピュータに転
送することにより、少ないコンピュータ間データ転送回
数で1つのパリティ計算を行うことができ、仮想的なR
AID装置に対する書き込みの速度を向上させることが
可能となる。
D装置を有するクラスタシステムの構成を示すブロック
図。
る位置情報変換テーブル120-iのデータ構造例を示す
図。
4-1に格納されているRAIDデ一夕d1をd1'に更新
する書き込みのグローバル命令を実行する場合を例に説
明するための図。
接続されたディスク装置4-2上のRAIDデータd2を
d2'に書き換えるグローバル命令がコンピュータ1-1上
で発生した場合に適用可能な2種の手順を対比して説明
するための図。
D装置を有するクラスタシステムの構成を示すブロック
図。
ータ) 120,120-1〜120-3,120-i…位置情報変換
テーブル 132-1〜132-3…命令変換部 133-1〜133-3…命令転送部 134-1〜134-3…パリティ計算部 136-1〜136-3…ディスク制御部
Claims (7)
- 【請求項1】 少なくとも1つのネットワークで相互接
続された複数のコンピュータと、前記各コンピュータに
それぞれ接続されたディスク装置とを備えたクラスタシ
ステムにおいて、 前記システム全体の排他制御と、前記各コンピュータに
それぞれ接続されたディスク装置を仮想的なRAID装
置の構成要素として扱うために、グローバル命令から少
なくとも1つのローカル命令への変換とを行うクラスタ
マネージャと、 前記複数のコンピュータ上で前記クラスタマネージャか
らそれぞれ独立に動作する制御機構であって、自身が動
作する前記コンピュータ上で前記RAID装置を対象と
する書き込み/読み出しのグローバル命令が発生した場
合に、前記クラスタマネージャと通信することで当該グ
ローバル命令を前記クラスタマネージャにより少なくと
も1つのローカル命令に変換させる命令変換手段と、与
えられたローカル命令に従って前記ディスク装置を対象
とする読み出し/書き込みを行うディスク制御手段と、
与えられたローカル命令に従ってパリティ計算を行うパ
リティ計算手段と、前記命令変換手段から前記ローカル
命令を受けて、当該ローカル命令を対応する他の前記コ
ンピュータ、前記ディスク制御手段または前記パリティ
計算手段に転送する命令転送手段とを含む制御機構とを
具備することを特徴とする仮想的なRAID装置を有す
るクラスタシステム。 - 【請求項2】 前記クラスタマネージャは、パリティ計
算に必要な情報が格納されている前記ディスク装置と接
続されている前記コンピュータで当該情報を用いたパリ
ティ計算の中間結果または最終結果を算出させるローカ
ル命令であって、当該中間結果を算出させる場合には、
当該中間結果を、当該中間結果との間でパリティ計算の
次の中間結果または最終結果を算出するのに必要な情報
が格納されている前記ディスク装置と接続されている前
記コンピュータに転送させるローカル命令を生成するこ
とを特徴とする請求項1記載の仮想的なRAID装置を
有するクラスタシステム。 - 【請求項3】 前記クラスタマネージャは、前記複数の
コンピュータにそれぞれ設けられており、前記ネットワ
ークを介して他の前記コンピュータ上の前記クラスタマ
ネージャと同期をとって動作することを特徴とする請求
項1記載の仮想的なRAID装置を有するクラスタシス
テム。 - 【請求項4】 前記クラスタマネージャは、前記複数の
コンピュータから独立に設けられたクラスタマネージャ
用コンピュータ上で動作し、 前記複数のコンピュータ上で動作する前記制御機構は、
前記ネットワークを介して前記クラスタマネージャ用コ
ンピュータ上の前記クラスタマネージャと通信すること
を特徴とする請求項1記載の仮想的なRAID装置を有
するクラスタシステム。 - 【請求項5】 少なくとも1つのネットワークで相互接
続された複数のコンピュータから構成されるクラスタシ
ステムにディスク装置と接続して用いられるクラスタシ
ステム用のコンピュータにおいて、 前記クラスタシステム全体の排他制御と、前記クラスタ
システムを構成する前記各コンピュータにそれぞれ接続
されたディスク装置を仮想的なRAID装置の構成要素
として扱うために、グローバル命令から少なくとも1つ
のローカル命令への変換とを行うクラスタマネージャ
と、 自身が動作する前記コンピュータ上で前記RAID装置
を対象とする書き込み/読み出しのグローバル命令が発
生した場合に、前記クラスタマネージャと通信すること
で当該グローバル命令を前記クラスタマネージャにより
少なくとも1つのローカル命令に変換させる命令変換手
段と、 与えられたローカル命令に従って前記ディスク装置を対
象とする読み出し/書き込みを行うディスク制御手段
と、 与えられたローカル命令に従ってパリティ計算を行うパ
リティ計算手段と、 前記命令変換手段から前記ローカル命令を受けて、当該
ローカル命令を対応する他の前記コンピュータ、前記デ
ィスク制御手段または前記パリティ計算手段に転送する
命令転送手段とを具備することを特徴とするクラスタシ
ステム用のコンピュータ - 【請求項6】 少なくとも1つのネットワークで相互接
続された、複数のクラスタシステム用のコンピュータと
クラスタマネージャ用のコンピュータとから構成される
クラスタシステムにおける、 前記クラスタシステム全体の排他制御と、前記複数のク
ラスタシステム用のコンピュータにそれぞれ接続された
ディスク装置を仮想的なRAID装置の構成要素として
扱うために、グローバル命令から少なくとも1つのロー
カル命令への変換とを行うクラスタマネージャが動作す
るクラスタシステムに用いられるクラスタシステム用の
コンピュータであって、 自身が動作する前記クラスタシステム用のコンピュータ
上で前記RAID装置を対象とする書き込み/読み出し
のグローバル命令が発生した場合に、前記クラスタマネ
ージャと通信することで当該グローバル命令を前記クラ
スタマネージャにより少なくとも1つのローカル命令に
変換させる命令変換手段と、 与えられたローカル命令に従って前記ディスク装置を対
象とする読み出し/書き込みを行うディスク制御手段
と、 与えられたローカル命令に従ってパリティ計算を行うパ
リティ計算手段と、 前記命令変換手段から前記ローカル命令を受けて、当該
ローカル命令を対応する他の前記クラスタシステム用の
コンピュータ、前記ディスク制御手段または前記パリテ
ィ計算手段に転送する命令転送手段とを具備することを
特徴とするクラスタシステム用のコンピュータ。 - 【請求項7】 少なくとも1つのネットワークで相互接
続された複数のコンピュータと、前記各コンピュータに
それぞれ接続されて仮想的なRAID装置を構成するデ
ィスク装置とを備えた、仮想的なRAID装置を有する
クラスタシステムにおけるパリティ計算方法であって、 前記複数のコンピュータの1つから、パリティ計算に必
要な情報を、当該情報を用いたパリティ計算の中間結果
または最終結果を生成するのに必要な別の情報が格納さ
れている前記ディスク装置と接続されている前記コンピ
ュータに転送するステップと、 前記複数のコンピュータの1つが別の前記コンピュータ
から情報を受け取った場合に、当該情報に対応するパリ
ティ計算の中間結果または最終結果を生成するのに必要
な別の情報を自コンピュータに接続されている前記ディ
スク装置から読み出して、当該両情報からパリティ計算
の中間結果または最終結果を生成するステップと、 前記パリティ計算の中間結果または最終結果を生成した
前記コンピュータが、前記中間結果を生成した場合に
は、当該中間結果を、当該中間結果との間でパリティ計
算の次の中間結果または最終結果を算出するのに必要な
情報が格納されている前記ディスク装置と接続されてい
る前記コンピュータに転送し、前記最終結果を生成した
場合には、前記最終結果を自コンピュータに接続されて
いる前記ディスク装置に格納するステップとを具備し、
パリティ計算の中間結果を順次、パリティ計算の次の中
間結果または最終結果の計算に必要な情報が格納されて
いるディスク装置と接続されているコンピュータに転送
することを特徴とする仮想的なRAID装置を有するク
ラスタシステムにおけるパリティ計算方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001292426A JP4054182B2 (ja) | 2001-09-25 | 2001-09-25 | 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ |
US10/230,339 US6807642B2 (en) | 2001-09-25 | 2002-08-29 | Cluster system having virtual raid, computer for the cluster system, and parity calculation method in the cluster system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001292426A JP4054182B2 (ja) | 2001-09-25 | 2001-09-25 | 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003099210A true JP2003099210A (ja) | 2003-04-04 |
JP4054182B2 JP4054182B2 (ja) | 2008-02-27 |
Family
ID=19114388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001292426A Expired - Fee Related JP4054182B2 (ja) | 2001-09-25 | 2001-09-25 | 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ |
Country Status (2)
Country | Link |
---|---|
US (1) | US6807642B2 (ja) |
JP (1) | JP4054182B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006106900A (ja) * | 2004-09-30 | 2006-04-20 | Nippon Digital Kenkyusho:Kk | ネットワークraidシステム、その電源管理装置、およびコンピュータが実行するためのプログラム |
JP2006106898A (ja) * | 2004-09-30 | 2006-04-20 | Nippon Digital Kenkyusho:Kk | ネットワークraidシステム、そのコンピュータ、およびコンピュータが実行するためのプログラム |
JP2007011500A (ja) * | 2005-06-28 | 2007-01-18 | Mitsubishi Electric Corp | ホームゲートウェイ |
JP2008539505A (ja) * | 2005-04-29 | 2008-11-13 | ネットワーク アプライアンス, インコーポレイテッド | データコンテナの中身をクラスタの複数のボリュームにわたってストライピングするためのストレージシステム・アーキテクチャ |
JP2010514066A (ja) * | 2006-12-19 | 2010-04-30 | インテル・コーポレーション | パターンマッチングによる高性能raid6システムアーキテクチャ |
JP2012033169A (ja) * | 2010-07-29 | 2012-02-16 | Ntt Docomo Inc | バックアップシステムにおける符号化を使用して、ライブチェックポインティング、同期、及び/又は復旧をサポートするための方法及び装置 |
JP2012175535A (ja) * | 2011-02-23 | 2012-09-10 | Brother Ind Ltd | ノード装置、情報処理方法及びプログラム |
KR20150036018A (ko) * | 2012-06-07 | 2015-04-07 | 바이올린 메모리 인코포레이티드 | 메모리 시스템 관리 |
JP2015207289A (ja) * | 2014-04-21 | 2015-11-19 | 三星電子株式会社Samsung Electronics Co.,Ltd. | ストレージシステム及びストレージコントローラの動作方法 |
JP2016051209A (ja) * | 2014-08-28 | 2016-04-11 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6928515B2 (en) * | 2002-11-09 | 2005-08-09 | International Business Machines Corporation | Integrated sector format-error correction code system and method for efficient writing in a disk array system |
US6891690B2 (en) * | 2002-11-20 | 2005-05-10 | International Business Machines Corporation | On-drive integrated sector format raid error correction code system and method |
US7330858B1 (en) | 2003-06-30 | 2008-02-12 | Symantec Operating Corporation | Coordinated distributed logging in a multi-host environment |
US7328226B1 (en) | 2003-06-30 | 2008-02-05 | Symantec Operating Corporation | Coordinated distributed log-based snapshots in a multi-host environment |
US7096316B1 (en) | 2003-06-30 | 2006-08-22 | Veritas Operating Corporation | Multi-host environment with coordinated distributed logging for writes to a raid storage volume |
JP4144549B2 (ja) * | 2004-03-31 | 2008-09-03 | 日本電気株式会社 | データ保存システムおよび該システムの制御方法 |
US7516354B2 (en) * | 2004-08-25 | 2009-04-07 | International Business Machines Corporation | Storing parity information for data recovery |
US7441146B2 (en) * | 2005-06-10 | 2008-10-21 | Intel Corporation | RAID write completion apparatus, systems, and methods |
US7562188B2 (en) * | 2005-06-17 | 2009-07-14 | Intel Corporation | RAID power safe apparatus, systems, and methods |
US7653829B2 (en) * | 2005-12-08 | 2010-01-26 | Electronics And Telecommunications Research Institute | Method of data placement and control in block-divided distributed parity disk array |
US7827439B2 (en) * | 2007-09-28 | 2010-11-02 | Symantec Corporation | System and method of redundantly storing and retrieving data with cooperating storage devices |
FR2940570B1 (fr) * | 2008-12-23 | 2011-03-18 | Seanodes | Systeme de stockage comprenant plusieurs noeuds en reseau avec gestion de la parite |
US9430367B1 (en) * | 2011-04-18 | 2016-08-30 | American Megatrends, Inc. | Systems and methods for active raid |
US9684591B2 (en) * | 2012-04-27 | 2017-06-20 | Hitachi, Ltd. | Storage system and storage apparatus |
USRE48835E1 (en) | 2014-04-30 | 2021-11-30 | Rubrik, Inc. | Network addressable storage controller with storage drive profile comparison |
US9081828B1 (en) | 2014-04-30 | 2015-07-14 | Igneous Systems, Inc. | Network addressable storage controller with storage drive profile comparison |
US9116833B1 (en) * | 2014-12-18 | 2015-08-25 | Igneous Systems, Inc. | Efficiency for erasure encoding |
US9361046B1 (en) | 2015-05-11 | 2016-06-07 | Igneous Systems, Inc. | Wireless data storage chassis |
US10884861B2 (en) | 2018-11-29 | 2021-01-05 | International Business Machines Corporation | Write-balanced parity assignment within a cluster |
US20220137835A1 (en) * | 2020-10-30 | 2022-05-05 | Kioxia Corporation | Systems and methods for parity-based failure protection for storage devices |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5579474A (en) * | 1992-12-28 | 1996-11-26 | Hitachi, Ltd. | Disk array system and its control method |
US5862312A (en) | 1995-10-24 | 1999-01-19 | Seachange Technology, Inc. | Loosely coupled mass storage computer cluster |
US6601138B2 (en) * | 1998-06-05 | 2003-07-29 | International Business Machines Corporation | Apparatus system and method for N-way RAID controller having improved performance and fault tolerance |
US6542961B1 (en) * | 1998-12-22 | 2003-04-01 | Hitachi, Ltd. | Disk storage system including a switch |
US6950901B2 (en) * | 2001-01-05 | 2005-09-27 | International Business Machines Corporation | Method and apparatus for supporting parity protection in a RAID clustered environment |
-
2001
- 2001-09-25 JP JP2001292426A patent/JP4054182B2/ja not_active Expired - Fee Related
-
2002
- 2002-08-29 US US10/230,339 patent/US6807642B2/en not_active Expired - Lifetime
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4575739B2 (ja) * | 2004-09-30 | 2010-11-04 | 株式会社日本デジタル研究所 | ネットワークraidシステム |
JP2006106898A (ja) * | 2004-09-30 | 2006-04-20 | Nippon Digital Kenkyusho:Kk | ネットワークraidシステム、そのコンピュータ、およびコンピュータが実行するためのプログラム |
JP4666990B2 (ja) * | 2004-09-30 | 2011-04-06 | 株式会社日本デジタル研究所 | ネットワークraidシステム |
JP2006106900A (ja) * | 2004-09-30 | 2006-04-20 | Nippon Digital Kenkyusho:Kk | ネットワークraidシステム、その電源管理装置、およびコンピュータが実行するためのプログラム |
JP2008539505A (ja) * | 2005-04-29 | 2008-11-13 | ネットワーク アプライアンス, インコーポレイテッド | データコンテナの中身をクラスタの複数のボリュームにわたってストライピングするためのストレージシステム・アーキテクチャ |
JP4787315B2 (ja) * | 2005-04-29 | 2011-10-05 | ネットアップ,インコーポレイテッド | データコンテナの中身をクラスタの複数のボリュームにわたってストライピングするためのストレージシステム・アーキテクチャ |
JP2007011500A (ja) * | 2005-06-28 | 2007-01-18 | Mitsubishi Electric Corp | ホームゲートウェイ |
JP2010514066A (ja) * | 2006-12-19 | 2010-04-30 | インテル・コーポレーション | パターンマッチングによる高性能raid6システムアーキテクチャ |
JP2012033169A (ja) * | 2010-07-29 | 2012-02-16 | Ntt Docomo Inc | バックアップシステムにおける符号化を使用して、ライブチェックポインティング、同期、及び/又は復旧をサポートするための方法及び装置 |
JP2012175535A (ja) * | 2011-02-23 | 2012-09-10 | Brother Ind Ltd | ノード装置、情報処理方法及びプログラム |
KR20150036018A (ko) * | 2012-06-07 | 2015-04-07 | 바이올린 메모리 인코포레이티드 | 메모리 시스템 관리 |
KR102133316B1 (ko) * | 2012-06-07 | 2020-07-21 | 바이올린 메모리 인코포레이티드 | 메모리 시스템 관리 |
JP2015207289A (ja) * | 2014-04-21 | 2015-11-19 | 三星電子株式会社Samsung Electronics Co.,Ltd. | ストレージシステム及びストレージコントローラの動作方法 |
JP2016051209A (ja) * | 2014-08-28 | 2016-04-11 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20030061441A1 (en) | 2003-03-27 |
JP4054182B2 (ja) | 2008-02-27 |
US6807642B2 (en) | 2004-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003099210A (ja) | 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ | |
US7613806B2 (en) | System and method for managing replication sets of data distributed over one or more computer systems | |
US5682396A (en) | Control unit in storage subsystem with improvement of redundant data updating | |
EP0902923B1 (en) | Method for independent and simultaneous access to a common data set | |
KR100711396B1 (ko) | 서버의 이중화 방법 및 이중화 서버시스템 | |
US6640278B1 (en) | Method for configuration and management of storage resources in a storage network | |
US6571354B1 (en) | Method and apparatus for storage unit replacement according to array priority | |
US8281069B2 (en) | Distributed data storage system using local copy operations for RAID-1 volumes | |
US6601138B2 (en) | Apparatus system and method for N-way RAID controller having improved performance and fault tolerance | |
US7404037B1 (en) | System and method for performing virtual device I/O operations | |
US6968425B2 (en) | Computer systems, disk systems, and method for controlling disk cache | |
US7127557B2 (en) | RAID apparatus and logical device expansion method thereof | |
US6795904B1 (en) | System and method for improving performance of a data backup operation | |
US7783844B2 (en) | Shared/exclusive control scheme among sites including storage device system shared by plural high-rank apparatuses, and computer system equipped with the same control scheme | |
US7120826B2 (en) | Partial mirroring during expansion thereby eliminating the need to track the progress of stripes updated during expansion | |
US6247103B1 (en) | Host storage management control of outboard data movement using push-pull operations | |
US7734878B1 (en) | System and method for performing virtual device I/O operations | |
US7930477B2 (en) | Achieving data consistency with point-in-time copy operations in a parallel I/O environment | |
IE20000203A1 (en) | Storage domain management system | |
EP1237087A2 (en) | Memory device system and method for copying data in memory device system | |
GB2289355A (en) | Data access apparatus and distributed data base system | |
JP2002023963A (ja) | 記憶装置への好ましいパスを選択するための方法、システム、および媒体 | |
JP2000207136A (ja) | 複数ドライブ故障トレラントraidアルゴリズム | |
JP2834399B2 (ja) | 二重化ディスク装置 | |
US6715048B1 (en) | System and method for efficiently performing a restore operation in a data storage environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070410 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070611 |
|
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: 20071204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071207 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111214 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121214 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131214 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |