JP2004102815A - 論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラ - Google Patents
論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラ Download PDFInfo
- Publication number
- JP2004102815A JP2004102815A JP2002265678A JP2002265678A JP2004102815A JP 2004102815 A JP2004102815 A JP 2004102815A JP 2002265678 A JP2002265678 A JP 2002265678A JP 2002265678 A JP2002265678 A JP 2002265678A JP 2004102815 A JP2004102815 A JP 2004102815A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- logical
- physical
- data
- disks
- 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.)
- Pending
Links
Images
Abstract
【解決手段】第1の論理ディスク(旧論理ディスク)のデータを第2の論理ディスク(新論理ディスク)に復元するために、当該第1及び第2の論理ディスクを構成する複数の第1及び第2の物理ディスクの間で、それぞれ対応する第1及び第2の物理ディスクごとに、第1の物理ディスクからデータをリードして当該データを第2の物理ディスクの対応する領域へライトするディスクコピー処理を並列に実行する(S1)。この各第1の物理ディスクから第2の物理ディスクへのディスクコピー処理がすべて終了したことをもって、第1の論理ディスクから第2の論理ディスクへのデータコピーが完了し、第1の論理ディスクのデータが第2の論理ディスクに復元されたと判定する(S2)。
【選択図】 図2
Description
【発明の属する技術分野】
本発明は、複数の物理ディスクにより構成される冗長性を有する論理ディスクを管理・制御するディスクコントローラに係り、特に第1の論理ディスクのデータを第2の論理ディスクに復元するために、ディスクコントローラにより当該第1の論理ディスクのデータを第2の論理ディスクにコピーする論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラに関する。
【0002】
【従来の技術】
従来から、複数のディスク(物理ディスク)を束ねて、仮想的に1つの冗長性を持ったディスク(冗長化論理ディスク)を構成することにより、信頼性の向上、高速性を実現したRAID(Redundant Array of Inexpensive DisksまたはRedundant Array of Independent Disks)技術が提案、実用化されている。
【0003】
このRAID技術により実現される論理ディスクは、コントローラ(RAIDコントローラ)を介して接続されるホスト(ホストコンピュータ)から利用されるのが一般的である。RAIDコントローラは、論理ディスクを含むRAID装置に実装して用いられるタイプと、カード上に実装された状態で、ホストのカードスロットに装着して使用されるタイプとに大別される。
【0004】
さて、ホストからのアクセス要求に従うRAIDコントローラの制御のもとで、複数のディスクから構成された冗長化論理ディスクが運用に供されているものとする。この運用状態にある論理ディスクの高速化あるいは大容量化を図るために、当該論理ディスクを構成している物理ディスクを、すべて高速あるいは大容量の物理ディスクに置き換えたい場合がある。
【0005】
このような場合、論理ディスクを構成している物理ディスクを新たな物理ディスクに1台ずつ置き換えるのが一般的である。この置き換えは、ホストが稼動している状態、つまりホスト上でOS(オペレーティングシステム)が動作している状態で行われる。そして、物理ディスクを1台置き換える都度、他の物理ディスクのデータを用いて、RAID特有の処理により、置き換え前の元の物理ディスク(旧物理ディスク)のデータを復元し、その復元されたデータを新たな物理ディスクに書き込む。この方法は、物理ディスクをすべて交換して新たな論理ディスクにデータを復元し終えるまでに多大な時間を要するという問題がある。
【0006】
また、運用状態にある論理ディスクを構成する物理ディスクの1つに障害が発生した場合、障害ディスクを新たな物理ディスクに置き換えて、新たに論理ディスクを構築するのが一般的である。ここでは、障害が発生していない残りの物理ディスクのデータを用いて、障害ディスクのデータを復元し、新たな物理ディスクに書き込むことで、新論理ディスクが構築される。このように、物理ディスクが1台だけ障害となった場合には、回復処理を容易に行うことができる。
【0007】
論理ディスクを構成する物理ディスクに対し、その物理ディスクが寿命を迎えた、あるいは、物理ディスクの品質が悪い等の理由で、同時に複数の物理ディスクを交換したい場合がある。この場合、物理ディスクを1台ずつ交換したのでは、物理ディスクをすべて交換して新たな論理ディスクにデータを復元し終えるまでに多大な時間を要する。
【0008】
そこで、従来は、論理ディスクを構成する物理ディスクをすべて新たな物理ディスクに交換する場合には、次の手順、即ち
(1)論理ディスク(旧論理ディスク)上のデータを大容量の記憶媒体、例えば磁気テープにバックアップする
(2)旧論理ディスクを構成している物理ディスクをすべて交換して、新たに論理ディスク(新論理ディスク)を構築する
(3)磁気テープから新論理ディスクにバックアップデータを復元する
という手順を適用するのが一般的である。
【0009】
しかし、この方法は、旧論理ディスクから新論理ディスクに直接データを復元するものではないため、磁気テープへのバックアップを開始してから新論理ディスクで運用を再開するまでに要する時間を大幅に短縮するものではなかった。
【0010】
【発明が解決しようとする課題】
そこで、磁気テープ利用によるバックアップを避けて、旧論理ディスクのデータを新論理ディスクに復元するために、次の方法が考えられる。
まず、旧論理ディスクを構成する、交換対象となる物理ディスクがRAIDコントローラ(またはRAID装置)に接続されている状態で、当該RAIDコントローラ(またはRAID装置)に新しい物理ディスクも接続して、新論理ディスクを構築する。
【0011】
そして、ホストからRAIDコントローラに対し、リード要求とライト要求とを繰り返し発行する。RAIDコントローラは、ホストからのリード要求に応じて旧論理ディスクの対応するストライプからデータを読み出すリード処理を実行し、そのデータリードで読み出されたデータをホストからのライト要求に応じて新論理ディスクの対応するストライプに書き込むライト処理を実行する。
【0012】
これにより、磁気テープ利用によるバックアップを行うことなく、旧論理ディスクのデータを新論理ディスクに直接復元できる。
【0013】
しかし、新論理ディスクにデータを書き込むライト処理では、RAID固有の処理である冗長データの計算が発生する。また、上記ライト処理では、ストライプ上の、新論理ディスクを構成する複数の物理ディスクの領域(相対位置が同一の領域)に並行してデータが書き込まれ、全物理ディスクへの書き込みが完了しなければ、次の処理に移行できない。つまり、ライト処理では、物理ディスク間の同期待ちが必要となる。この冗長データの計算と物理ディスク間の同期待ちのために、旧論理ディスクのデータを新論理ディスクに復元するのに時間を要しており、一層の時間短縮が要求されている。
【0014】
本発明は上記事情を考慮してなされたものでその目的は、第1の論理ディスク(旧論理ディスク)のデータを第2の論理ディスク(新論理ディスク)に高速に復元できる、論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラを提供することにある。
【0015】
【課題を解決するための手段】
本発明の1つの観点によれば、複数の第1の物理ディスクにより構成される冗長性を有する第1の論理ディスクのデータを、当該第1の論理ディスクを構成する上記複数の第1の物理ディスクとそれぞれ対応付けられる同数の第2の物理ディスクから構成される第2の論理ディスクに復元するために、ディスクコントローラにより上記第1の論理ディスクのデータを上記第2の論理ディスクにコピーする論理ディスク間データコピー方法が提供される。この方法は、上記第1及び第2の論理ディスク中の対応する上記第1及び第2の物理ディスクごとに、それぞれ上記第1の物理ディスクからデータをリードして当該データを上記第2の物理ディスクの対応する領域へライトするディスクコピー処理を並列に実行するステップと、上記各第1の物理ディスクから上記第2の物理ディスクへのディスクコピー処理がすべて終了したことをもって、上記第1の論理ディスクから上記第2の論理ディスクへのデータコピーが完了し、上記第1の論理ディスクのデータが上記第2の論理ディスクに復元されたと判定するステップとから構成される。
【0016】
このように上記の構成においては、第1の論理ディスクのデータを第2の論理ディスクに復元するために、第1及び第2の論理ディスク中の対応する上記第1及び第2の物理ディスクごとに、それぞれ上記第1の物理ディスクからデータをリードして当該データを上記第2の物理ディスクの対応する領域へライトするディスクコピー処理を並列に実行している。これにより、第1の論理ディスクからデータをリードして、そのリードデータを第2の論理ディスクにライトする方法とは異なって、第1及び第2の論理ディスク中の対応する物理ディスク間の単純なコピー処理(ディスクコピー処理)でのデータ復元となるため、冗長データ計算、更にはデータをライトする際のディスク間の同期待ちが必要なくなり、第1の論理ディスクのデータを第2の論理ディスクに高速に復元することができる。
【0017】
ここで、上記の構成に、以下のステップ、即ち、第1の論理ディスクから第2の論理ディスクへのデータコピーの期間に、第1の論理ディスク中の第1の物理ディスクからのデータリードで正しいデータが得られなかった場合、当該第1の論理ディスクの冗長性を利用して正しいデータを復元するステップと、この復元されたデータを、上記データリードの対象となった第1の物理ディスクの領域に対応する、上記第2の物理ディスクの領域にコピーするステップとを追加するとよい。
【0018】
このように、物理ディスク間のデータコピーを行っている際に、コピー元の物理ディスクにデータの破損や、リードエラーが発生した結果、コピーすべきデータが得られない場合に、コピー元の第1の論理ディスクの冗長性を利用して、即ち第1の論理ディスクの冗長データ、あるいは当該第1の論理ディスクを構成する他の物理ディスクのデータをもとに、コピーすべきデータを生成し、コピー先の物理ディスクへデータをライトすることで、第1の論理ディスクのデータを第2の論理ディスクに高速に復元するために、論理ディスクの冗長制御を行わずに、データコピーだけを実施しているにも拘わらず、データ欠損を回避することができる。
【0019】
また、上記の構成に、以下のステップ、即ち、上記第1の論理ディスクから上記第2の論理ディスクへのデータコピーの期間に、ホストから上記ディスクコントローラに与えられたライト要求に応じて上記第1の論理ディスクへのデータライトを実行する場合、当該第1の論理ディスク中の実際にデータがライトされる上記第1の物理ディスクの領域に対応する上記第2の物理ディスクの領域にも同一のデータをライトするステップを追加するとよい。
【0020】
このようにすると、コピー元の論理ディスクに対し、ホストから要求されたライトを実行しながら、論理ディスク間のデータコピーをオンラインで行うことができる。
【0021】
また、上記の構成に、以下のステップ、即ち、ディスクコントローラに対して、当該ディスクコントローラにより管理されている論理ディスクの1つがデータコピー元となる上記第1の論理ディスクとして指定された場合、論理ディスク構成情報により示される、当該第1の論理ディスクを構成する第1の物理ディスクごとに、当該第1の物理ディスクに対応付けるべき物理ディスクを、上記ディスクコントローラに接続された未使用の物理ディスクの中から上記第2の物理ディスクとして選択するステップと、この選択された第2の物理ディスクから構成される論理ディスクをデータコピー先となる上記第2の論理ディスクとして、当該第2の論理ディスクの少なくとも構成及び当該第2の論理ディスクを構成する上記第2の物理ディスクの状態を上記論理ディスク構成情報に追加登録するステップとを追加し、上記ディスクコピー処理を実行するステップでは、上記指定された第1の論理ディスクから、上記選択された第2の物理ディスクにより構成される上記第2の論理ディスクへのデータコピーを実行するとよい。
【0022】
このようにすると、コピー先となる第2の論理ディスクの構築作業の自動化が図れるため、コピー先論理ディスクを構築する際の人為的ミスを回避できる。
【0023】
また、上記の構成に、以下のステップ、即ち、上記ディスクコピー処理の実行に際し、上記ディスクコントローラにより管理されている論理ディスクごとに、少なくとも当該論理ディスクの構成及び当該論理ディスクを構成する物理ディスクの状態を示す、メモリに保持されている論理ディスク構成情報を参照するステップと、この論理ディスク構成情報の参照結果により、上記第1の論理ディスクを構成する上記第1の物理ディスクの中に故障状態にある物理ディスクが存在するかを判定するステップとを追加し、上記ディスクコピー処理を実行するステップでは、上記判定ステップでの判定結果をもとに、故障状態にある物理ディスクを除いて、上記第1及び第2の論理ディスク中の対応する第1及び第2の物理ディスクごとに、それぞれ第1の物理ディスクから第2の物理ディスクへのディスクコピー処理を並列に実行するとよい。
【0024】
このようにすると、コピー元の論理ディスク中に故障状態にある物理ディスクが存在しても、つまりコピー元の論理ディスクが縮退状態となっていても、コピー先の論理ディスクに同じ状態のコピーを作成できる。
【0025】
なお、以上の論理ディスク間データコピー方法に係る本発明は、ディスクコントローラ(コンピュータ)に当該方法に相当する手順を実行させるためのプログラムに係る発明としても成立する。また、上記論理ディスク間データコピー方法に係る本発明は、当該方法を適用し、冗長性を有する論理ディスクを管理・制御するコントローラ(ディスクコントローラ)に係る発明としても成立する。
【0026】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るディスクコントローラを備えたコンピュータシステムの構成を示すブロック図である。
【0027】
図1において、RAID装置(ディスクアレイ装置)11は、当該RAID装置11を利用するホスト(ホストコンピュータ)12と、ホストインタフェースバス13を介して接続されている。RAID装置11は、RAIDコントローラ(ディスクコントローラ)14と、論理ディスク15Sとから構成される。RAIDコントローラ14は、論理ディスク15Sの状態、更に具体的に述べるならば当該論理ディスク15Sを構成する物理ディスクの状態を管理する。RAIDコントローラ14はまた、ホスト12からのリードまたはライト要求を受けて、論理ディスク15Sに対するアクセスを制御する。このアクセス制御では、RAIDコントローラ14は、ホスト12からの要求に応じて、論理ディスク15S内のアクセス先となる物理ディスクを決定する。そしてRAIDコントローラ14は、決定した物理ディスクに対してリードまたはライト要求を発行し、その要求に対する応答をホスト12に返す。
【0028】
論理ディスク15Sは複数、例えば3台の物理ディスク151a(Sa),151b(Sb),151c(Sc)から構成され、信頼性、耐障害性を向上させるために、冗長データを保持する。このため、論理ディスク15Sは冗長化論理ディスクと呼ばれる。冗長性のレベル(RAIDレベル)としては、RAID0,1,3,5などが知られている。物理ディスク151a〜151cは、ディスクインタフェースバス16を介してRAIDコントローラ14と接続されている。ディスクインタフェースバス16は、例えばSCSI(Small Computer System Interface)バスである。なお、ディスクインタフェースバス16には、SCSIバス以外に、例えばファイバチャネルを用いることも可能である。
【0029】
本実施形態では、論理ディスク15Sを構成する物理ディスク151a,151b,151cをすべて新たな物理ディスクに交換する必要がある場合、その新たな物理ディスクをディスクインタフェースバス16に接続する。つまり、新たな物理ディスクをディスクインタフェースバス16を介してRAIDコントローラ14に接続する。図1の例では、論理ディスク15Sが3台の物理ディスク151a,151b,151cから構成されていることから、当該物理ディスク151a,151b,151cを交換するには、新たに3台の物理ディスクが必要となる。図1には、物理ディスク151a,151b,151cと交換するために、新たに3台の物理ディスク152a(Da),152b(Db),152c(Dc)がディスクインタフェースバス16に接続されている状態が示されている。本実施形態では、この物理ディスク152a,152b,152cにより新たな論理ディスク15Dを構築した場合、論理ディスク15Sから論理ディスク15Dへ、それぞれ対応する物理ディスクごとにデータをコピーするようにしている。そこで、論理ディスク15Sをコピー元論理ディスク15Sとも呼び、論理ディスク15Dをコピー先論理ディスク15Dとも呼ぶ。
【0030】
RAIDコントローラ14は、CPU141と、制御プログラムが格納されているROM142とから構成される。CPU141は、ROM142に格納されている制御プログラムを実行することで、RAIDコントローラ14が有する管理・制御機能、特にコピー元論理ディスク15Sからコピー先論理ディスク15Dへの対応する物理ディスクごとのデータコピーを制御する機能を実現する。
【0031】
次に、図1の構成のRAID装置11においてRAIDコントローラ14の制御により実行される、コピー元論理ディスク15Sからコピー先論理ディスク15Dへのデータコピーについて、図2のフローチャートを参照して説明する。
【0032】
今、コピー元となる論理ディスク15Sを構成する物理ディスク151a(Sa),151b(Sb),151c(Sc)をすべて交換するために、新たな物理ディスク152a(Da),152b(Db),152c(Dc)をRAID装置11に装着して、当該RAID装置11内のディスクインタフェースバス16に接続することにより、コピー先となる論理ディスク15Dを構築したものとする。ここで、ディスク152a(Da)はディスク151a(Sa)に、ディスク152b(Db)はディスク151b(Sb)に、ディスク152c(Dc)はディスク151c(Sc)に、それぞれ対応する。コピー先論理ディスク15Dを構成する物理ディスクDa,Db,Dcの容量は、対応する論理ディスク15Sを構成する物理ディスクSa,Sb,Scの容量と同等か、それ以上必要である。
【0033】
コピー先論理ディスク15Dの構成情報(RAID構成情報)は、ホスト12の入力部を用いて保守員が入力操作をすることにより、例えば当該ホスト12上で動作する保守用のOSにより当該ホスト12内に設定されると共に、当該ホスト12からRAID装置11のRAIDコントローラ14に通知される。この状態で、保守員がホスト12を操作してデータコピーを指示すると、ホスト12からRAIDコントローラ14にデータコピー要求が発行される。なお、RAID装置11に入力部を設けるならば、上記構成情報の設定及びデータコピーの起動を、ホスト12から独立にRAID装置11側で行うことも可能である。
【0034】
RAIDコントローラ14は、ホスト12からのデータコピー要求に応じて、コピー元論理ディスク15S及びコピー先論理ディスク15D中の対応する物理ディスクごとに、ディスクコピー処理を並列に実行する(ステップS1)。ここでは、それぞれ、物理ディスク151a(Sa)から物理ディスク152a(Da)、物理ディスク151b(Sb)から物理ディスク152b(Db)、そして物理ディスク151c(Sc)から物理ディスク152c(Dc)へのディスクコピー処理を実行する。このDa→Sa,Db→Sb,Dc→Scへのディスクコピー処理では、各ディスクの性能、回転待ちのタイミング、容量などにより、進捗状況が異なる。そのため、RAIDコントローラ14は、対応する物理ディスクごとのディスクコピー処理がすべて終了した時点で、コピー元論理ディスク15Sからコピー先論理ディスク15Dへのデータコピーが完了したものと判定する(ステップS2)。このデータコピーが完了した時点で、コピー元論理ディスク15Sのデータがコピー先論理ディスク15Dに復元されたことになる。
【0035】
このように本実施形態においては、コピー元論理ディスク15Sのデータをコピー先論理ディスク15Dに復元する処理を、コピー元論理ディスク15Sからコピー先論理ディスク15Dに対して、対応する物理ディスクごとのディスクコピー処理により直接データをコピーすることで実現している。もし、ディスク間の直接のコピー処理ではなく、コピー元論理ディスク15Sからデータをリードして、そのデータをコピー先論理ディスク15Dにライトする動作を繰り返すことで、コピー元論理ディスク15Sのデータをコピー先論理ディスク15Dに復元するならば、次のような問題が生じる。
【0036】
例えば、RAID1(ミラーリング)では、ライトすべきデータを2つの物理ディスクにライトする必要がある。ここでは、2つのディスクへの同一データのライトが終了するまで、ライト処理全体を完了させることができず、次の処理に進めない。そのため、2つのディスクのうちの遅い方の処理時間に影響を受けてしまい、先にライトを完了した一方のディスクを効率よく使うことができないことになる。また、RAID5では、ライトすべきデータに対し、冗長データとしてのパリティ(パリティデータ)を計算し、データとパリティの両方をディスクにライトしなければならない。
【0037】
これに対し、本実施形態では、データを単純にディスクからディスク(Da→Sa,Db→Sb,Dc→Sc)へコピーするだけであり、上述のコピー元論理ディスク15Sからデータをリードして、そのデータをコピー先論理ディスク15Dにライトする方法に比較して、高速で且つ効率良くデータのコピーを行うことができる。
【0038】
さて、コピー元論理ディスク15Sを構成する物理ディスクからのデータのリード時に、当該物理ディスクの部分的な障害のために正しいデータがリードできない場合がある。もし、論理ディスクが冗長性のあるRAID構成(つまり冗長化論理ディスク)であると、冗長データによりデータを復元することができる。そこで本実施形態ではディスクコピー処理で、データがリードできない場合には、コピー元論理ディスク15S上の冗長データよりデータを復元し、コピー先論理ディスク15Dの対応する物理ディスクにデータをライトすることで、データコピーを行う。
【0039】
以下、ディスクコピー処理の詳細な手順について、コピー元論理ディスク15S中の物理ディスクSi(i=1〜3)からコピー先論理ディスク15D中の物理ディスクDiへのディスクコピー処理を例に、図3のフローチャートを参照して説明する。
【0040】
まずRAIDコントローラ14は、物理ディスクSi,Di内の相対アドレスを示すオフセットを0に初期設定する(ステップS11)。
次にRAIDコントローラ14は、物理ディスクSiのオフセットで指定された領域からデータをリードする(ステップS12)。
【0041】
もし、物理ディスクSiのオフセットで指定された領域のデータの破損、またはリードエラーが発生したために、正しいデータが得られないならば(ステップS13)、RAIDコントローラ14は、コピー元論理ディスク15S中の他の物理ディスクのオフセットで指定された領域からデータ(またはパリティ)をリードして、そのデータ(またはパリティ)により物理ディスクSiのオフセットで指定された領域のデータを復元する(ステップS14)。つまりRAIDコントローラ14は、コピー元論理ディスク15Sの冗長性を利用して正しくリードできなかったデータを復元する。
【0042】
次にRAIDコントローラ14は、ステップS12で正しいデータがリードできたならば、そのデータを、正しいデータがリードできなかったならば、ステップS14で復元したデータを、コピー先論理ディスク15D中の物理ディスクDiのオフセットで指定された領域にコピー(ライト)する(ステップS15)。
【0043】
次にRAIDコントローラ14は、コピー元の物理ディスクSiのデータを最後までリードしたか否かを調べる(ステップS16)。もし、リードすべきデータが残っているなら、RAIDコントローラ14はオフセットをステップS12でリードした分だけ進めて(ステップS17)、ステップS12のリード処理に戻る。これに対し、コピー元の物理ディスクSiのデータを最後までリードしたならば、RAIDコントローラ14は、コピー元のディスクSiからコピー先のディスクDiへのディスクコピー処理を終了する。
【0044】
次に、コピー元論理ディスク15Sからコピー先論理ディスク15Dへのデータコピーを行っている間に、ホスト12からのライト要求に応じて、コピー元論理ディスク15Sへのデータライトを実行する場合について、図4のフローチャートを参照して説明する。
【0045】
コピー元論理ディスク15Sからコピー先論理ディスク15Dへのデータコピー中に、ホスト12から当該コピー元論理ディスク15Sへのライト要求が発行された場合、当該コピー元論理ディスク15Sへのデータのライトは、コピー先論理ディスク15Dにも反映されなければならない。そこでRAIDコントローラ14は、以下の処理を行う。
【0046】
まずRAIDコントローラ14は、通常のライト処理と同様に、コピー元論理ディスク15Sを構成する各物理ディスクごとにライト処理を細分化する(ステップS21)。どのようなライト処理になるかは、適用するRAIDレベル、ライトデータのサイズ、物理ディスクの個数によって異なる。
【0047】
次にRAIDコントローラ14は、ライト処理を細分化した結果に応じて、コピー元論理ディスク15S中の実際にライトする物理ディスクのライト先の領域を指定するライト要求と、コピー先論理ディスク15D中の対応する物理ディスクの相対位置が同一の領域を指定するライト要求とを、それぞれ該当する物理ディスクに発行する(ステップS22)。
【0048】
RAIDコントローラ14は、ステップS22で発行したライト要求で指定されたライト処理がすべて完了するのを待って(ステップS23)、ホスト12から指定された全ライトデータについてライト完了したか否かを判定する(ステップS24)。RAIDコントローラ14は、以上のステップS21〜S24の処理を、全ライトデータについてライト完了するまで繰り返す。
【0049】
このように、ライト処理を実行することで、ホスト12から要求されたコピー元論理ディスク15Sは勿論、コピー先論理ディスク15Dへも最新のライトデータが反映されることになり、コピー元論理ディスク15Sからコピー先論理ディスク15Dへのデータコピー中でも、ホスト12からのデータのライト処理を行うことができる。
【0050】
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。
前記第1の実施形態で述べたように、コピー元論理ディスクからコピー先論理ディスクへのデータコピーを行うには、コピー先となる論理ディスクを構成する物理ディスクをディスクインタフェースバスを介してディスクコントローラに接続する必要がある。このとき保守員は、コピー先論理ディスクをコピー元の論理ディスクと同じRAIDレベルに設定し、更にコピー元とコピー先とを間違いないよう指定する、などの論理ディスク構築作業が必要となる。しかし、この作業で設定ミス等が発生すると、データコピーが正しく行われず、場合によっては、コピー元の論理ディスクのデータの破壊につながる可能性がある。
【0051】
そこで、本発明の第2の実施形態の特徴は、RAID装置内に保持されている、論理ディスクの構成及びその状態等を管理するためのRAID構成情報を利用することで、コピー元論理データからコピー先論理ディスクのデータコピーのための作業を容易にして設定ミスを防止するようにしたことにある。
【0052】
図5は、本発明の第2の実施形態に係るディスクコントローラを備えたコンピュータシステムの構成を示すブロック図である。なお、図1と同一部分には同一参照符号を付してある。
【0053】
図5において、RAID装置21は、ホスト12と、ホストインタフェースバス13を介して接続されている。RAID装置21は、RAIDコントローラ24と、論理ディスク25Sと、メモリ27と、入力部28とから構成される。論理ディスク25Sは、複数、例えば3台の物理ディスク251a(Sa),251b(Sb),251c(Sc)から構成されている。物理ディスク251a(Sa),251b(Sb),251c(Sc)は、ディスクインタフェースバス26を介してRAIDコントローラ24と接続されている。
【0054】
RAIDコントローラ24は、図1中のCPU141及びROM142に相当する、CPU241及びROM242を備えている。CPU241及びROM242は内部バス243により接続されている。この内部バス243には、メモリ27及び入力部28も接続されている。
【0055】
メモリ27には、RAID構成情報270が保持されている。メモリ27には、RAID装置21の電源がオフされていても、RAID構成情報270を含む記憶内容が消失しないように、書き換え可能な不揮発性メモリが用いられる。なお、メモリ27に、バッテリバックアップされた揮発性メモリを用いることも可能である。また、RAID構成情報270が、メモリ以外の記憶手段、例えばディスクに格納される構成とすることも可能である。
【0056】
RAID構成情報(論理ディスク構成情報)270は、例えば図6に示すように、論理ディスクの構成を示す情報、つまり論理ディスクを構成する物理ディスク(メンバーディスク)の情報、その物理ディスクの状態を示す情報、及び当該論理ディスクに関する設定情報(RAIDレベル、その他の情報)を含むテーブル形式の情報である。図6の例では、RAID構成情報(RAID構成情報テーブル)270は、コピー元論理ディスク1が、物理ディスクSa,Sb,Scからなり、RAID5で構成されていることを示している。ここでは、図5中の論理ディスク25Sがコピー元論理ディスク1であるものとする。
【0057】
次に、図5の構成のRAID装置21においてRAIDコントローラ24の制御により実行される、RAID構成情報270を利用してのデータコピーについて説明する。
【0058】
今、保守員が、データコピー先となる、図5に示す3台の物理ディスク252a(Da),252b(Db),252c(Dc)をRAID装置21に装着したものとする。この物理ディスク252a(Da),252b(Db),252c(Dc)は、RAID装置21内のディスクインタフェースバス26に接続されている。
【0059】
この状態で、保守員は、RAID装置21の入力部28を操作して、データコピー元の論理ディスクをRAIDコントローラ24に対して指定する。ここでは、コピー元論理ディスク1、即ち論理ディスク25Sがコピー元論理ディスクとして指定されたものとする。
【0060】
RAIDコントローラ24は、入力部28からのコピー元論理ディスクの指定に応じて、メモリ27に保持されている図6に示したデータ構造のRAID構成情報270を参照する。そしてRAIDコントローラ24は、指定された論理ディスク番号で示される論理ディスクを構成するすべての物理ディスクを認識する。ここでは、コピー元論理ディスク1、即ちコピー元論理ディスク25Sが、物理ディスクSa(251a),Sb(251b),Sc(251c)から構成されていることが認識される。
【0061】
次にRAIDコントローラ24は、物理ディスクSa,Sb,Scに対応させるコピー先の物理ディスクを順に選択する。このコピー先のディスクを選択する手順について、図7のフローチャートを参照して説明する。
【0062】
まずRAIDコントローラ24は、コピー元論理ディスク(ここではコピー元論理ディスク25S)を構成する物理ディスクの中から、未選択の物理ディスク(A)を1つ選ぶ(ステップS31)。次にRAIDコントローラ24は、ディスクインタフェースバス26に接続されている未選択の空き物理ディスク(B)を1つ選ぶ(ステップS32,S33)。
【0063】
次にRAIDコントローラ24は、選択した物理ディスク(A)及び物理ディスク(B)の記憶容量を比較し、物理ディスク(B)の容量が物理ディスク(A)の容量以上であるか否かを判定する(ステップS34)。
【0064】
もし、物理ディスク(B)の容量が物理ディスク(A)の容量より少ないならば、当該物理ディスク(B)をコピー先とすることはできないため、RAIDコントローラ24は別の未選択の空き物理ディスクを選ぶ(ステップS32,S33)。これに対し、選択した物理ディスク(B)の容量がステップS31で選択した物理ディスク(A)の容量以上ならば、当該物理ディスク(B)を、コピー先論理ディスクを構成する物理ディスクの1つとして確定する(ステップS35)。
【0065】
RAIDコントローラ24は、コピー先論理ディスクを構成する物理ディスクの1つを確定すると、コピー元論理ディスク中の物理ディスクをすべて選んだか否かを判定する(ステップS36)。もし、未選択の物理ディスクが残っているならば、RAIDコントローラ24はステップS31に戻って、未選択の物理ディスク(A)を1つ選び、しかる後にステップS32以降の処理を再度実行する。これに対し、コピー元論理ディスク中の物理ディスクをすべて選んだならば、RAIDコントローラ24はコピー先の物理ディスクを選択する処理を終了する。
【0066】
このようにして、コピー元として指定されたコピー元論理ディスク25Sを構成する物理ディスクSa(251a),Sb(251b),Sc(251c)に対応させるコピー先の物理ディスクとして、それぞれ、物理ディスクDa(252a),Db(252b),Dc(252c)が選択されたものとする。この場合、RAIDコントローラ24は、選択された物理ディスクDa,Db,Dcから構成される論理ディスクを、コピー先論理ディスクとして、その構成情報をRAID構成情報270に追加登録する。この際、コピー先論理ディスクに関するRAIDレベルを含む設定情報は、コピー元論理ディスクに関するそれと同等にする。
【0067】
RAIDコントローラ24は、コピー先論理ディスクに関する構成情報を自動設定すると、前記第1の実施形態と同様にして、コピー元論理ディスクからコピー先論理ディスクへのデータコピーを実行する。
【0068】
[第2の実施形態の第1の変形例]
次に、上記第2の実施形態の第1の変形例について説明する。
周知のように、論理ディスクが冗長性を持つ論理ディスク(冗長化論理ディスク)では、当該論理ディスクを構成する物理ディスクの1つが故障しても(例えばパリティ生成が必要なRAID4またはRAID5の論理ディスクの場合)、あるいは複数が故障しても(例えばパリティ生成が不要なRAID10の論理ディスクの場合)、その故障をホストに見せず、ホストからのリードまたはライト要求で指定されたデータのリードまたはライトを行うことができる。
【0069】
このように、論理ディスクを構成する物理ディスクの1つまたは複数が故障しているような場合でも、RAIDコントローラ24は、その物理ディスクに対応させるコピー先物理ディスクを選択する処理を、上記第2の実施形態と同様に図7のフローチャートの示す手順で実行する。そしてRAIDコントローラ24は、コピー先論理ディスクの構成情報をRAID構成情報270に追加登録する際に、図8(a)に示すように、コピー元論理ディスクの各ディスクと同じ状態を設定する。この図8(a)の例では、コピー元論理ディスク1中の物理ディスクSaが故障中のため、コピー先論理ディスク1中の対応する物理ディスクDaも故障状態に設定され、ディスクSaからディスクDaへのデータコピーが行われないようにする。このようにしても、何ら不都合はない。その理由は、運用する論理ディスクをコピー元論理ディスクからコピー先論理ディスクに切り替えた後に、上記障害ディスクSaに対応する論理ディスク中の物理ディスクDaに対するリード要求があった場合、その要求先と相対位置が同一の論理ディスク中の他の物理ディスクDb及びDcのデータを用いて、その要求先のデータが復元されるためである(例えばRAID4またはRAID5の場合)。
【0070】
以下、コピー元論理ディスク中に故障状態にある物理ディスクが存在する場合の、コピー元論理ディスクからコピー先論理ディスクへのデータコピーについて、図9のフローチャートを参照して説明する。
【0071】
まずRAIDコントローラ24は、RAID構成情報270を参照して(ステップS41)、コピー元論理ディスクを構成している物理ディスクの中に故障している物理ディスクが存在するかを調べる(ステップS42)。
【0072】
図8(a)のRAID構成情報270の例のように、故障している物理ディスクが存在する場合(ここではSa)には、RAIDコントローラ24は、その故障している物理ディスク(と当該故障している物理ディスクに対応する、コピー先論理ディスク中の物理ディスクと)を除き、コピー元論理ディスク及びコピー先論理ディスク中の対応する物理ディスクごとに、ディスクコピー処理を並列に実行する(ステップS43)。
【0073】
これに対し、故障している物理ディスクが存在しない場合には、前記第1の実施形態におけるステップS1と同様に、コピー元論理ディスク及びコピー先論理ディスク中の対応する物理ディスクごとに、ディスクコピー処理が実行される(ステップS44)。
【0074】
[第2の実施形態の第2の変形例]
次に、上記第2の実施形態の第2の変形例について説明する。
図5のRAID装置21において、コピー元論理ディスク25S中の物理ディスクSaが上記したように故障したために、そのディスクSaが交換されて、そのディスクに対し、コピー元論理ディスク25Sの冗長性を利用して(例えば他のディスクSb及びScのデータをもとに)データの回復処理が行われているものとする。この場合には、以下に述べる処理を行うことで、回復中のディスクSaからコピー先論理ディスク中の対応するディスクDaへのデータコピーを行わせることができる。
【0075】
一般に、ディスクの回復処理を行う場合には、どこまで回復したかを示すオフセット(回復オフセット)が用いられる。この第2の実施形態の第2の変形例では、RAID構成情報270中に回復オフセットが含まれている。
【0076】
今、図7のフローチャートに示す手順で選択された物理ディスクDa,Db,Dcから構成されるコピー先論理ディスクに関する構成情報が、上記第2の実施形態と同様にしてRAID構成情報270に追加登録されたものとする。このときのRAID構成情報270の内容を図8(b)に示す。ここでは、コピー元論理ディスク1(=コピー元論理ディスク25S)中の物理ディスクSaの状態が回復中に設定されている。このため、ディスクSaに対応する、コピー先論理ディスク中の物理ディスクDaの状態も、当該ディスクSaと同一の状態、即ち回復中に設定されている。
【0077】
RAIDコントローラ24は、コピー先論理ディスクに関する構成情報を自動設定すると、コピー元論理ディスクからコピー先論理ディスクへのデータコピーを実行する。ここでは、回復中の物理ディスクSa及びDaについても、物理ディスクSa中の回復済みのデータ、即ち回復オフセットで示される位置までのデータを物理ディスクDaへコピーするディスクコピーを行う。また、Saに対するデータ回復処理、即ちSb,ScからSaにあるべきデータを復元する処理で発生する、Saに対するデータのライトは、前記第1の実施形態におけるデータコピー中のホストからのライト要求の実行の場合と同様に、SaとDaの両方に行う。
【0078】
以下、コピー元論理ディスク中の物理ディスクSi(ここではi=a)に対するデータ回復処理について、図10(a)のフローチャートを参照して説明する。
【0079】
まずRAIDコントローラ24は、コピー元論理ディスク中の物理ディスクSiの回復処理の開始時に、回復オフセットを0に初期設定する(ステップS51)。次にRAIDコントローラ24は、物理ディスクSi中の、回復オフセットで指定された領域のデータを、コピー元論理ディスク中の他の物理ディスクの回復オフセットで指定された領域のデータをもとに復元する(ステップS52)。図8(b)RAID構成情報270の例では、SaのデータがSb及びScのデータから復元される。次に、RAIDコントローラ24は、回復オフセットを回復した分だけ進める(ステップS53)。RAIDコントローラ24は、以上の回復処理を、物理ディスクSi(=Sa)の全領域について繰り返し実行する。
【0080】
なお、ステップS52で、物理ディスクSi(=Sa)のデータを復元した際に、図10中のステップS52aのように、そのデータを、当該物理ディスクSi(=Sa)に対応する、コピー先論理ディスク中の物理ディスクDi(=Da)の回復オフセットで指定される領域に書き込むようにしてもよい。この場合、以下に述べる物理ディスクSiから物理ディスクDiへのディスクコピー処理は不要となる。
【0081】
次に、物理ディスクSiに対するデータ回復処理中での当該物理ディスクSiから物理ディスクDiへのディスクコピー処理について、図10(b)のフローチャートを参照して説明する。ここでのディスクコピー処理の特徴は、図3のフローチャート中のステップS11及びS17とステップS12との間に、判定ステップS60を挿入したことにある。
【0082】
RAIDコントローラ24は、図3中のステップS11またはステップS17を実行すると、(物理ディスクSiに対するデータ回復処理の進捗状況を示す)回復オフセットが、(物理ディスクSiから物理ディスクDiへのディスクコピー処理の進捗状況を示す)オフセットを超えているか否かを判定する(ステップS60)。そしてRAIDコントローラ24は、回復オフセットがオフセットを超えているならば直ちに、超えていないならば超えるのを待って、図3中のステップS12に進む。RAIDコントローラ24は、このステップS12で、回復処理中の物理ディスクSiの、オフセットで指定された領域から、回復(復元)されたデータをリードする。そしてRAIDコントローラ24は、リードしたデータを、図3中のステップS15で、コピー先論理ディスク中の物理ディスクDiの、オフセットで指定された領域にライトする。
【0083】
[第3の実施形態]
次に、本発明の第3の実施形態について説明する。
RAID装置の実際の運用環境においては、コピー先の論理ディスク(を構成する複数の物理ディスク)を、前記第1または第2の実施形態のように、同一のRAID装置内に装着することが困難な場合がある。特に、物理ディスクを最大数搭載している場合には、同一のRAID装置内での増設が困難となる。
【0084】
そこで、本発明の第3の実施形態の特徴は、同一のRAID装置内でのディスクの増設が困難な場合に対応可能としたことにある。
【0085】
図11は、本発明の第3の実施形態に係るディスクコントローラを備えたコンピュータシステムの構成を示すブロック図である。なお、図5と同一部分には同一参照符号を付してある。
【0086】
図11において、RAID装置31は、ホスト12と、ホストインタフェースバス13を介して接続されている。このホスト12及びRAID装置31から構成されるコンピュータシステムが、実際に運用されているシステムである。
【0087】
RAID装置31は、図5中のRAIDコントローラ24と同様の構造のRAIDコントローラ34と、論理ディスク35Sと、RAID構成情報370が保持されているメモリ37と、入力部38とから構成される。論理ディスク35Sは、3台の物理ディスク351a(Sa),351b(Sb),351c(Sc)から構成されている。物理ディスク351a(Sa),351b(Sb),351c(Sc)は、ディスクインタフェースバス36を介してRAIDコントローラ34と接続されている。本実施形態では、このRAID装置31に装着されている論理ディスク35Sがコピー元論理ディスクとなる。
【0088】
RAID装置31の筐体には、コピー元論理ディスク35Sに対するコピー先となる論理ディスク(を構成する物理ディスク)を装着する余裕がないものとする。この場合、本実施形態では、図11に示すように、RAID装置31に、当該RAID装置31のディスクインタフェースバス36を介して別のRAID装置41を新たに接続する。
【0089】
RAID装置41は、RAIDコントローラ44と、論理ディスク45Dとから構成される。図11の状態では、RAIDコントローラ44はRAID装置31のディスクインタフェースバス36と接続されている。また図11の状態では、論理ディスク45Dがコピー元論理ディスク35Sに対するコピー先の論理ディスクとして用いられる。コピー先論理ディスク45Dは、3台の物理ディスク452a(Da),452b(Db),452c(Dc)から構成されている。物理ディスク452a(Da),452b(Db),452c(Dc)は、ディスクインタフェースバス46を介してRAIDコントローラ44と接続されている。ディスクインタフェースバス36及び46は例えばSCSIバスである。
【0090】
さて、RAID装置41をRAID装置31に物理的に接続した状態で、当該RAID装置41内のRAIDコントローラ44を、RAID装置31のディスクインタフェースバス36に論理的にも接続することができるならば、RAIDコントローラ44はRAID装置31内のコピー元論理ディスク35Sを構成する物理ディスク351a(Sa),351b(Sb),351c(Sc)に対してリード処理を行うことができる。この場合、前記第1または第2のの実施形態と同様に、コピー元論理ディスク35Sからコピー先論理ディスク45Dへのデータコピーを行うことができる。
【0091】
この例のように、RAIDコントローラ34と、コピー元論理ディスク35Sを構成する物理ディスク351a(Sa),351b(Sb),351c(Sc)とを接続するディスクインタフェースバス36にSCSIバスが用いられている場合、SCSI ID(SCSI識別子)をRAID装置41内のRAIDコントローラ44に割り当てる必要がある。
【0092】
以下、RAIDコントローラ44へのSCSI ID割り当てについて、図12のフローチャートを参照して説明する。
SCSIバスでは、利用可能なSCSI IDが、0−15のように限られた個数しかない。そのため運用中のRAID装置31内のRAIDコントローラ34は、図12のフローチャートに示す手順で未使用のSCSI ID(空きID)、または未使用と等価なSCSI IDを探索する。
【0093】
まずRAIDコントローラ34は、RAID装置31のディスクインタフェースバス36の空きSCSI IDを探索し、SCSI IDの空きがあるかを調べる(ステップS71,S72)。もし、空きIDがある場合、RAIDコントローラ34は、空きIDを1つ選択して、そのIDを、当該RAIDコントローラ34(を備えたRAID装置31)とディスクインタフェースバス36を介して接続されたRAID装置41内のRAIDコントローラ44に割り当てる(ステップS73)。これにより、RAIDコントローラ44は、RAID装置31のディスクインタフェースバス36に論理的にも接続され、当該割り当てられたIDを用いてイニシエータとして動作し、コピー元論理ディスク35Sからコピー先論理ディスク45DへのデータコピーをRAIDコントローラ34に代わって実行する。
【0094】
これに対し、ディスクインタフェースバス36のSCSI IDに空きがない場合には、RAIDコントローラ34はRAID構成情報370を参照し、使用されていない物理ディスクに割り当てられているIDを探索する(ステップS74)。使用されていない物理ディスクとは、例えば、ディスクインタフェースバス36に接続されているが、論理ディスクとしては構成されていない物理ディスク、あるいは使用されていないホットスペアディスクである。ホットスペアディスクとは、論理ディスクを構成する物理ディスクに障害が発生した場合に当該障害ディスクに代えて用いられる物理ディスクである。
【0095】
RAIDコントローラ34は、使用されていない物理ディスクに割り当てられているIDが見つかった場合、当該物理ディスクをディスクインタフェースバス36から切り離す(ステップS76)。このディスクインタフェースバス36からの物理ディスクの切り離しは、次の第1または第2の方法により実現される。第1の方法は、RAID装置31が切り離しの対象となる物理ディスクへの電源供給を制御できる筐体構造を有している場合に適用されるもので、当該ディスクへの電源供給を遮断して、当該ディスクが使用できないようにすることで、当該ディスクを等価的にディスクインタフェースバス36から切り離す。第2の方法は、切り離しの対象となる物理ディスクが、当該ディスクへのSCSI ID設定を変更可能な機構を持つRAID装置31の筐体に装着されている場合に適用されるもので、この機構により、当該ディスクにSCSI IDを割り当てないように変更する。
【0096】
RAIDコントローラ34は、使用されていない物理ディスクをディスクインタフェースバス36から切り離すと、当該物理ディスクに割り当てられていたSCSI IDを、当該RAIDコントローラ34(を備えたRAID装置31)とディスクインタフェースバス36を介して接続されたRAID装置41内のRAIDコントローラ44に割り当てる(ステップS77)。これにより、RAIDコントローラ44は、RAID装置31のディスクインタフェースバス36に論理的にも接続され、当該割り当てられたIDを用いてイニシエータとして動作する。
【0097】
以上に述べた各実施形態では、RAIDコントローラがRAID装置内に実装されているものとして説明した。しかし、RAIDコントローラが、カード上に実装された状態で、ホストのカードスロットに装着して使用されるものであっても構わない。
【0098】
なお、本発明は、上記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0099】
【発明の効果】
以上詳述したように本発明によれば、複数の物理ディスク(第1の物理ディスク)により構成される冗長性を有する旧論理ディスク(第1の論理ディスク)のデータを、当該旧論理ディスクを構成する上記複数の物理ディスクとそれぞれ対応付けられる同数の物理ディスク(第2の物理ディスク)から構成される新論理ディスク(第2の論理ディスク)に復元するために、これら両論理ディスク中の対応する物理ディスクごとに、それぞれ旧論理ディスク中の物理ディスクからデータをリードして当該データを新論理ディスク中の物理ディスクの対応する領域へライトするディスクコピー処理を並列に実行する構成とした。
【0100】
このように本発明においては、旧論理ディスクからデータをリードして、そのリードデータを新論理ディスクにライトするのではなく、これら両論理ディスク中の対応する物理ディスク間の単純なコピー処理(ディスクコピー処理)によりデータ復元を行う構成としたため、冗長データ計算、更にはデータをライトする際のディスク間の同期待ちが必要なくなり、旧論理ディスクのデータを新論理ディスクに高速に復元することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るディスクコントローラを備えたコンピュータシステムの構成を示すブロック図。
【図2】図1中のRAIDコントローラ14の制御により実行される、コピー元論理ディスク15Sからコピー先論理ディスク15Dへのデータコピーを説明するためのフローチャート。
【図3】上記データコピーで適用されるディスクコピー処理の詳細な手順を説明するためのフローチャート。
【図4】図1中のコピー元論理ディスク15Sからコピー先論理ディスク15Dへのデータコピーを行っている間に、ホスト12からのライト要求に応じて、コピー元論理ディスク15Sへのデータライトを実行する場合の動作を説明するためのフローチャート。
【図5】本発明の第2の実施形態に係るディスクコントローラを備えたコンピュータシステムの構成を示すブロック図。
【図6】同第2の実施形態で適用されるRAID構成情報270のデータ構造例を示す図。
【図7】同第2の実施形態で適用されるコピー先ディスクを選択する手順を説明するためのフローチャート。
【図8】コピー元論理ディスク中に故障物理ディスクを含む場合に、コピー先論理ディスクの構成情報が追加登録された際のRAID構成情報270の一例と、コピー元論理ディスク中に回復処理状態にある物理ディスクを含む場合に、コピー先論理ディスクの構成情報が追加登録された際のRAID構成情報270の一例とを示す図。
【図9】同第2の実施形態の第1の変形例で適用される、コピー元論理ディスク中に故障状態にある物理ディスクが存在する場合の、コピー元論理ディスクからコピー先論理ディスクへのデータコピーを説明するためのフローチャート。
【図10】同第2の実施形態の第2の変形例で適用される、コピー元論理ディスク中の物理ディスクSiに対するデータ回復処理と、物理ディスクSiに対するデータ回復処理中での当該物理ディスクSiから物理ディスクDiへのディスクコピー処理とを説明するためのフローチャート。
【図11】本発明の第3の実施形態に係るディスクコントローラを備えたコンピュータシステムの構成を示すブロック図。
【図12】同実施形態において、運用中のRAID装置31にRAID装置41が接続された場合における、当該RAID装置41内のRAIDコントローラ44へのSCSI ID割り当てを説明するためのフローチャート。
【符号の説明】
11,21,31,41…RAID装置(ディスクアレイ装置)
12…ホスト
14,24,34,44…RAIDコントローラ(ディスクコントローラ)
15S,25S,35S…コピー元論理ディスク
15D,45D…コピー先論理ディスク
16,26,36,46…ディスクインタフェースバス
27,37…メモリ
28,38…入力部
151a〜151c,152a〜152c,251a〜251c,252a〜252c,351a〜351c,452a〜452c…物理ディスク
270…RAID構成情報(論理ディスク構成情報)
Claims (11)
- 複数の第1の物理ディスクにより構成される冗長性を有する第1の論理ディスクのデータを、当該第1の論理ディスクを構成する前記複数の第1の物理ディスクとそれぞれ対応付けられる同数の第2の物理ディスクから構成される第2の論理ディスクに復元するために、ディスクコントローラにより前記第1の論理ディスクのデータを前記第2の論理ディスクにコピーする論理ディスク間データコピー方法であって、
前記第1及び第2の論理ディスク中の対応する前記第1及び第2の物理ディスクごとに、それぞれ前記第1の物理ディスクからデータをリードして当該データを前記第2の物理ディスクの対応する領域へライトするディスクコピー処理を並列に実行するステップと、
前記各第1の物理ディスクから前記第2の物理ディスクへのディスクコピー処理がすべて終了したことをもって、前記第1の論理ディスクから前記第2の論理ディスクへのデータコピーが完了し、前記第1の論理ディスクのデータが前記第2の論理ディスクに復元されたと判定するステップと
を具備することを特徴とする論理ディスク間データコピー方法。 - 前記第1の論理ディスクから前記第2の論理ディスクへのデータコピーの期間に、前記第1の論理ディスク中の前記第1の物理ディスクからのデータリードで正しいデータが得られなかった場合、当該第1の論理ディスクの冗長性を利用して正しいデータを復元するステップと、
前記復元されたデータを、データリードの対象となった前記第1の物理ディスクの領域に対応する、前記第2の物理ディスクの領域にコピーするステップと
を更に具備することを特徴とする請求項1記載の論理ディスク間データコピー方法。 - 前記第1の論理ディスクから前記第2の論理ディスクへのデータコピーの期間に、ホストから前記ディスクコントローラに与えられたライト要求に応じて前記第1の論理ディスクへのデータライトを実行する場合、当該第1の論理ディスク中の実際にデータがライトされる前記第1の物理ディスクの領域に対応する前記第2の物理ディスクの領域にも同一のデータをライトするステップを更に具備することを特徴とする請求項1記載の論理ディスク間データコピー方法。
- 前記ディスクコントローラに対して、当該ディスクコントローラにより管理されている論理ディスクの1つがデータコピー元となる前記第1の論理ディスクとして指定された場合、メモリに保持されている論理ディスク構成情報により示される、当該第1の論理ディスクを構成する第1の物理ディスクごとに、当該第1の物理ディスクに対応付けるべき物理ディスクを、前記ディスクコントローラに接続された未使用の物理ディスクの中から前記第2の物理ディスクとして選択するステップと、
前記選択された第2の物理ディスクから構成される論理ディスクをデータコピー先となる前記第2の論理ディスクとして、当該第2の論理ディスクの少なくとも構成及び当該第2の論理ディスクを構成する前記第2の物理ディスクの状態を前記論理ディスク構成情報に追加登録するステップと
を更に具備し、
前記ディスクコピー処理を実行するステップでは、前記指定された第1の論理ディスクから、前記選択された第2の物理ディスクにより構成される前記第2の論理ディスクへのデータコピーを実行する
ことを特徴とする請求項1記載の論理ディスク間データコピー方法。 - 前記ディスクコピー処理の実行に際し、前記ディスクコントローラにより管理されている論理ディスクごとに、少なくとも当該論理ディスクの構成及び当該論理ディスクを構成する物理ディスクの状態を示す論理ディスク構成情報を参照するステップと、
前記論理ディスク構成情報の参照結果により、前記第1の論理ディスクを構成する前記第1の物理ディスクの中に故障状態にある物理ディスクが存在するかを判定するステップと
を更に具備し、
前記ディスクコピー処理を実行するステップでは、前記判定ステップでの判定結果をもとに、故障状態にある物理ディスクを除いて、前記第1及び第2の論理ディスク中の対応する前記第1及び第2の物理ディスクごとに、それぞれ前記第1の物理ディスクから前記第2の物理ディスクへのディスクコピー処理を並列に実行する
ことを特徴とする請求項1記載の論理ディスク間データコピー方法。 - 前記第1の論理ディスクを構成する前記複数の第1の物理ディスクの1つが交換された場合に、前記第1の論理ディスクの冗長性を利用して前記交換後の新たな第1の物理ディスクに対してデータを回復する処理を実行するステップを更に具備し、
前記ディスクコピー処理を実行するステップでは、前記回復処理の実行中に前記第1の論理ディスクから前記第2の論理ディスクへのデータコピーを実行する場合、前記回復処理中の前記第1の物理ディスクから前記第2の論理ディスク中の対応する前記第2の物理ディスクへのディスクコピー処理を、前記第1の物理ディスクの回復されたデータを用いて実行する
ことを特徴とする請求項1記載の論理ディスク間データコピー方法。 - 前記第1の論理ディスクを構成する前記複数の第1の物理ディスクの1つが交換された場合に、前記第1の論理ディスクの冗長性を利用して前記交換後の新たな第1の物理ディスクに対してデータを回復する処理を実行するステップと、
前記回復処理の実行中に前記第1の論理ディスクから前記第2の論理ディスクへのデータコピーが実行される場合、前記回復処理で回復された前記第1の物理ディスクのデータを、当該第1の物理ディスクと対応付けられている前記第2の論理ディスク中の前記第2の物理ディスクにもライトするステップと
を更に具備することを特徴とする請求項1記載の論理ディスク間データコピー方法。 - 前記ディスクコントローラと前記第1の論理ディスクを構成する前記複数の第1の物理ディスクとが、第1のディスクインタフェースバスにより接続された状態で第1のディスクアレイ装置に実装されると共に、前記第2の論理ディスクを構成する前記複数の第2の物理ディスクと当該第2の論理ディスクを管理・制御するディスクコントローラとが、第2のディスクインタフェースバスにより接続された状態で第2のディスクアレイ装置に実装され、前記第2のディスクアレイ装置内の前記ディスクコントローラが前記第1のディスクインタフェースバスにも接続されている状態で、前記第1の装置内の前記ディスクコントローラに対して前記第1の論理ディスクから前記第2の論理ディスクへのデータコピーが指示された場合に、前記第1のディスクインタフェースバスに接続されるノードに割り当て可能な識別子の空きを探索するステップと、
前記空き識別子が探索できた場合、その空き識別子を前記第2のディスクアレイ装置内の前記ディスクコントローラに割り当てるステップと
を更に具備し、
前記第1の論理ディスクから前記第2の論理ディスクへのデータコピーを、前記第1の装置内のディスクコントローラに代えて前記第2の装置内のディスクコントローラにより実行させる
ことを特徴とする請求項1記載の論理ディスク間データコピー方法。 - 前記空き識別子が探索できなかった場合に、前記第1のディスクインタフェースバスに接続されていて現在使用されていない物理ディスクに割り当てられている識別子を探索するステップと、
現在使用されていない物理ディスクに割り当てられている識別子が探索できた場合、当該物理ディスクを前記第1のディスクインタフェースバスから切り離すステップと、
前記第1のディスクインタフェースバスから切り離された物理ディスクに割り当てられていた識別子を前記第2のディスクアレイ装置内の前記ディスクコントローラに割り当てるステップと
を更に具備することを特徴とする請求項8記載の論理ディスク間データコピー方法。 - 複数の第1の物理ディスクにより構成される冗長性を有する第1の論理ディスクのデータを、当該第1の論理ディスクを構成する前記複数の第1の物理ディスクとそれぞれ対応付けられる同数の第2の物理ディスクから構成される第2の論理ディスクに復元するために、ディスクコントローラにより前記第1の論理ディスクのデータを前記第2の論理ディスクにコピーする論理ディスク間データコピー用プログラムであって、
前記ディスクコントローラに、
前記第1及び第2の論理ディスク中の対応する前記第1及び第2の物理ディスクごとに、それぞれ前記第1の物理ディスクからデータをリードして当該データを前記第2の物理ディスクの対応する領域へライトするディスクコピー処理を並列に実行するステップと、
前記各第1の物理ディスクから前記第2の物理ディスクへのディスクコピー処理がすべて終了したことをもって、前記第1の論理ディスクから前記第2の論理ディスクへのデータコピーが完了し、前記第1の論理ディスクのデータが前記第2の論理ディスクに復元されたと判定するステップと
を実行させるための論理ディスク間データコピー用プログラム。 - 複数の物理ディスクにより構成される冗長性を有する論理ディスクを管理・制御するディスクコントローラにおいて、
前記ディスクコントローラにより管理される、複数の第1の物理ディスクにより構成される冗長性を有する第1の論理ディスクのデータを、前記ディスクコントローラにより管理され、前記第1の論理ディスクを構成する前記複数の第1の物理ディスクとそれぞれ対応付けられる同数の第2の物理ディスクから構成される第2の論理ディスクに復元することが指示された場合に、前記第1及び第2の論理ディスク中の対応する前記第1及び第2の物理ディスクごとに、それぞれ前記第1の物理ディスクからデータをリードして当該データを前記第2の物理ディスクの対応する領域へライトするディスクコピー処理を並列に実行する手段と、前記各第1の物理ディスクから前記第2の物理ディスクへのディスクコピー処理がすべて終了したことをもって、前記第1の論理ディスクから前記第2の論理ディスクへのデータコピーが完了し、前記第1の論理ディスクのデータが前記第2の論理ディスクに復元されたと判定する手段と
を具備することを特徴とするディスクコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002265678A JP2004102815A (ja) | 2002-09-11 | 2002-09-11 | 論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002265678A JP2004102815A (ja) | 2002-09-11 | 2002-09-11 | 論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004102815A true JP2004102815A (ja) | 2004-04-02 |
Family
ID=32264752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002265678A Pending JP2004102815A (ja) | 2002-09-11 | 2002-09-11 | 論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004102815A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007087053A (ja) * | 2005-09-21 | 2007-04-05 | Oki Electric Ind Co Ltd | ディスクアレイ制御装置および制御方法 |
JP2007122463A (ja) * | 2005-10-28 | 2007-05-17 | Fujitsu Ltd | 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法 |
JP2007141229A (ja) * | 2005-11-16 | 2007-06-07 | Internatl Business Mach Corp <Ibm> | ストレージ・アレイ内でネットワーク・アドレスを割り当てるための装置および方法 |
JP2010191615A (ja) * | 2009-02-17 | 2010-09-02 | Fujitsu Ltd | コピー制御装置 |
JP2011258103A (ja) * | 2010-06-11 | 2011-12-22 | Fujitsu Ltd | データ管理プログラム、ストレージシステム、およびデータ管理方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0237418A (ja) * | 1988-07-27 | 1990-02-07 | Hitachi Ltd | 記憶装置のデータ整合性制御方式 |
JPH0449413A (ja) * | 1990-06-19 | 1992-02-18 | Fujitsu Ltd | アレイディスク装置のドライブ位置確認方式 |
JPH1027070A (ja) * | 1996-07-09 | 1998-01-27 | Toshiba Corp | データバックアップシステム |
JPH10260789A (ja) * | 1997-03-17 | 1998-09-29 | Fujitsu Ltd | デバイスアレイ・システム |
JP2000137579A (ja) * | 1998-11-04 | 2000-05-16 | Hitachi Ltd | 記憶装置の保守管理方法および記憶装置 |
JP2000330729A (ja) * | 1999-05-18 | 2000-11-30 | Toshiba Corp | オンラインバックアップ機能を持つディスクアレイシステム |
JP2001100943A (ja) * | 1999-09-30 | 2001-04-13 | Oki Electric Ind Co Ltd | クラスタシステム |
JP2001175422A (ja) * | 1999-12-20 | 2001-06-29 | Nec Corp | ディスクアレイ装置 |
-
2002
- 2002-09-11 JP JP2002265678A patent/JP2004102815A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0237418A (ja) * | 1988-07-27 | 1990-02-07 | Hitachi Ltd | 記憶装置のデータ整合性制御方式 |
JPH0449413A (ja) * | 1990-06-19 | 1992-02-18 | Fujitsu Ltd | アレイディスク装置のドライブ位置確認方式 |
JPH1027070A (ja) * | 1996-07-09 | 1998-01-27 | Toshiba Corp | データバックアップシステム |
JPH10260789A (ja) * | 1997-03-17 | 1998-09-29 | Fujitsu Ltd | デバイスアレイ・システム |
JP2000137579A (ja) * | 1998-11-04 | 2000-05-16 | Hitachi Ltd | 記憶装置の保守管理方法および記憶装置 |
JP2000330729A (ja) * | 1999-05-18 | 2000-11-30 | Toshiba Corp | オンラインバックアップ機能を持つディスクアレイシステム |
JP2001100943A (ja) * | 1999-09-30 | 2001-04-13 | Oki Electric Ind Co Ltd | クラスタシステム |
JP2001175422A (ja) * | 1999-12-20 | 2001-06-29 | Nec Corp | ディスクアレイ装置 |
Non-Patent Citations (1)
Title |
---|
渡辺 誠: "RAIDシステムの最新事情", INTEROP MAGAZINE, vol. 第10巻 第2号, CSND200100736004, 1 February 2000 (2000-02-01), JP, pages 103 - 107, ISSN: 0000797630 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007087053A (ja) * | 2005-09-21 | 2007-04-05 | Oki Electric Ind Co Ltd | ディスクアレイ制御装置および制御方法 |
JP2007122463A (ja) * | 2005-10-28 | 2007-05-17 | Fujitsu Ltd | 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法 |
JP4550717B2 (ja) * | 2005-10-28 | 2010-09-22 | 富士通株式会社 | 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法 |
US7913042B2 (en) | 2005-10-28 | 2011-03-22 | Fujitsu Limited | Virtual storage system control apparatus, virtual storage system control program and virtual storage system control method |
JP2007141229A (ja) * | 2005-11-16 | 2007-06-07 | Internatl Business Mach Corp <Ibm> | ストレージ・アレイ内でネットワーク・アドレスを割り当てるための装置および方法 |
JP2010191615A (ja) * | 2009-02-17 | 2010-09-02 | Fujitsu Ltd | コピー制御装置 |
US8291184B2 (en) | 2009-02-17 | 2012-10-16 | Fujitsu Limited | Copy control apparatus |
JP2011258103A (ja) * | 2010-06-11 | 2011-12-22 | Fujitsu Ltd | データ管理プログラム、ストレージシステム、およびデータ管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7143308B2 (en) | Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk | |
EP0405926B1 (en) | Method and apparatus for managing a shadow set of storage media | |
JP3618529B2 (ja) | ディスクアレイ装置 | |
US6990611B2 (en) | Recovering data from arrays of storage devices after certain failures | |
US6883112B2 (en) | Storage device, backup and fault tolerant redundant method and computer program code of plurality storage devices | |
US8117409B2 (en) | Method and apparatus for backup and restore in a dynamic chunk allocation storage system | |
AU710907B2 (en) | Expansion of the number of drives in a raid set while maintaining integrity of migrated data | |
US8166235B2 (en) | Flash memory storage system | |
JP2603757B2 (ja) | アレ−ディスク装置の制御方法 | |
US7721143B2 (en) | Method for reducing rebuild time on a RAID device | |
JPH08249132A (ja) | ディスクアレイ装置 | |
US6816981B2 (en) | Disk array device including a memory with backup power supply and method thereof | |
KR20020025759A (ko) | 디스크 어레이 장치, 그 장치에 대한 에러 제어 방법, 및그 방법에 대한 제어 프로그램 | |
JPWO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
JPH10254648A (ja) | 可搬メディアを収納する記憶装置 | |
JP4491330B2 (ja) | ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム | |
JPH09269871A (ja) | ディスクアレイ装置におけるデータ再冗長化方式 | |
JP2004102815A (ja) | 論理ディスク間データコピー方法、論理ディスク間データコピー用プログラム、及びディスクコントローラ | |
JPH1195933A (ja) | ディスクアレイ装置 | |
JP4248164B2 (ja) | ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置 | |
JP2005107839A (ja) | アレイコントローラ及びディスクアレイ再構築方法 | |
JP3399398B2 (ja) | フォールトトレラントシステムにおけるミラーディスク復旧方式 | |
JP3597349B2 (ja) | 記憶サブシステムおよびその障害回復方法 | |
JP4398596B2 (ja) | ディスクアレイ装置 | |
JPH07306758A (ja) | ディスクアレイ装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060417 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061219 |