JP4844736B2 - ディスクアレイシステムのデータ同期方法及びコンピュータプログラム - Google Patents

ディスクアレイシステムのデータ同期方法及びコンピュータプログラム Download PDF

Info

Publication number
JP4844736B2
JP4844736B2 JP2006231618A JP2006231618A JP4844736B2 JP 4844736 B2 JP4844736 B2 JP 4844736B2 JP 2006231618 A JP2006231618 A JP 2006231618A JP 2006231618 A JP2006231618 A JP 2006231618A JP 4844736 B2 JP4844736 B2 JP 4844736B2
Authority
JP
Japan
Prior art keywords
data synchronization
disk array
synchronization process
data
processing
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
Application number
JP2006231618A
Other languages
English (en)
Other versions
JP2008059014A5 (ja
JP2008059014A (ja
Inventor
雅夫 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006231618A priority Critical patent/JP4844736B2/ja
Publication of JP2008059014A publication Critical patent/JP2008059014A/ja
Publication of JP2008059014A5 publication Critical patent/JP2008059014A5/ja
Application granted granted Critical
Publication of JP4844736B2 publication Critical patent/JP4844736B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はディスクアレイシステムに関し、特に、冗長性を持たせてデータを記憶するディスクアレイシステムに関する。
コンピュータシステムにおいて、ハードディスクなどの記憶装置の信頼性を高める技術としてRAID(Redundant Arrays of Independent (Inexpensive) Disks)がある。RAIDとはハードディスクを複数台使用して高速化や信頼性を高める技術であり、RAID0、RAID1、RAID5等いくつかの種類が定義されている。このうちRAID1及びRAID5等のシステムでは、ハードディスク内のデータに冗長性を持たせる技術であり、このようなシステムでは、例えばRAIDを構成するハードディスクの1台が何らかの理由(故障、媒体キズなど)でデータが読めない状態となっても、残りのハードディスクから該当するデータを読み込むことが出来る。
ところで、ハードディスクは、磁性体が塗布された円盤面(プラッタ)を高速に回転させ、磁気ヘッドを特定の位置に合わせてデータのリード/ライトを行っている。プラッタと磁気ヘッドは数十nmの距離に位置しており、非常に高い記録密度を実現してデータのリード/ライトを行っているため、熱/振動などの外的要因に非常に弱い。例えば、データライトの際、磁気ヘッドはプラッタ上の所定の位置(データライトで指示されたアドレス位置)に合わせてデータを書き込むが、わずかな振動により磁気ヘッドがずれると正しくデータのライトができず、その結果、データが壊れる場合がある。
こうしたデータ破壊の発生頻度は、例えば空調完備のマシン室に設置しているか、換気していない高温になる場所に設置しているか、設置場所が不安定で振動しやすい場所か、などの環境要因により異なってくるが、一般に、こうした外的要因によるデータ破壊の発生は、システム運用期間の長さに比例して徐々に増えていく。これは、RAID1、5等のデータ冗長性を持つRAIDを実現しているシステムにおいては、運用期間が長くなるに従い、一部のデータが徐々に冗長性を失っていき、ハードディスクが一台故障した場合などに、復旧できないデータが発生しやすくなることを意味する。
このため、データ冗長性を持つRAIDシステムでは、RAIDを構成している全てのハードディスク上のデータを順次チェックしてデータ冗長性が失われていないか(データが壊れていないか)確認し、データ冗長性が失われていた場合、正常なデータから壊れたデータ部分を算出して、壊れたデータ箇所のデータを復旧させる処理を実行する手段を備える。以下、この処理をデータ同期処理と呼ぶ。データ同期処理を定期的に実行することにより、システム運用期間が長くなってもデータ冗長性を保つことが可能となり、安定したシステム運用を実現している。
一般にデータ同期処理では、まず、RAIDを構成する全てのハードディスクに対して、先頭アドレスからある程度の大きさのデータをリードする。次に、各々のハードディスクからリードしたデータを比較して冗長性が失われていないかチェックし、これをハードディスクの最後尾アドレスまで続ける。ここでデータのリード中及びデータの比較中に何らかの異常を検出した場合は、異常のあったハードディスクとそのアドレスを特定した後、データ復旧が可能かチェックし、可能な場合は他のハードディスクからリードした正常なデータから壊れていたデータの元データを再計算し、異常のあったハードディスクに対して元データの再書き込み行い、該当データの復旧を行う処理を実施する。このようにデータ同期処理は実行中に多数のIO処理が連続して発行されることになる。特に近年、ハードディスクの容量は数十〜数百ギガバイトに達していることもあり、データ同期処理を実行すると多数のIO処理が長い時間連続して発行され、システムに非常に高い負荷が掛かる状態となる。
一方で、RAIDを備えるコンピュータシステムでは、データ同期処理以外にユーザの業務処理などのIO処理も実行されるが、データ同期処理はシステムに非常に高い負荷が掛かるため、ユーザの業務処理が実行されている期間中にデータ同期処理が実行されると、システムの処理能力がデータ同期処理にとられるため、ユーザの業務処理は単独で実行する場合に比べて処理時間が長くなり、業務に影響を与える。これを避けるため、一般に、データ同期処理は、ユーザ業務処理などの他処理が実行されていない時間帯、例えば深夜等のシステム負荷の低いタイミングにスケジュールされて自動実行される。
従来、データ同期処理のスケジュール設定では、実行日と実行開始時刻を指定する。システム管理者は、システム負荷の低い日時とデータ同期処理に必要な時間とを考慮して、業務のIO処理に影響を与えないように、データ同期処理の開始時刻を決定していた。
ところで、RAIDを構成しているハードディスクは、モータやヘッドなどのさまざまな消耗部品で構成されている。これらの消耗部品は使用時間の経過とともに劣化していく。これは図4に示すように時間の経過に伴い劣化が進み、ある時点から正常に動作したりしなかったりと動作が不安定な状態(半故障状態)となり、さらに時間が経過する(劣化が進む)と、最終的には故障状態に遷移していく。
ここで、半故障状態とは、構成している各々の部品が劣化してくることにより動作精度にばらつきが出てくる状態であり、一部または複数の部品が正しく応答できなかったり、または応答に従来以上の時間がかかったりする。例えば、磁気ヘッドなどが正しい位置に即時に固定できない、或いはモータが必要な回転数を維持できないなどの事象が発生する。このため、半故障状態ではコントローラからコマンドが発行された場合、構成部品の動作精度のばらつきが原因で間欠的にエラーが発生することとなる。ただ、一般にハードディスクでは、エラーが発生した場合、同じコマンドを所定回数リトライした後でコントローラに対して応答するリトライの制御が組み込まれている。これにより、例え半故障状態となり、リードコマンドの実行でエラーが発生しても、リトライ処理が実施され、何回かのリトライによりリードできた場合は正常終了となり、リードできなかった場合はリードエラーとしてRAIDコントローラに返すといった動作をする。
ここで、この内部リトライ処理というのは、ハードディスクにおける信頼性を高めるために組み込まれた処理であるけれども、RAIDコントローラからの要求無しにハードディスク内の制御部がリトライの判断をして実行するものであるため、RAIDコントローラからは、この内部リトライの有無を認識することができない。すなわち、半故障状態になるとハードディスク側では、各消耗部品の動作精度にばらつきが出るため、例えば同じリードコマンドに対しても、(a)すぐにリードに成功して正常終了する、(b)何回かの内部リトライを経てリードに成功して正常終了する、(c)何回かの内部リトライを経てもリードできず異常終了する、というように、(a)(b)(c)の異なる動作が起こりうる。また、各消耗部品は半故障状態でも劣化は進行していくため、運用時間の経過に伴い徐々に(c)の発生頻度が増え、結果、内部リトライ回数は増えていく傾向となる。ただ、RAIDコントローラ側からは、内部リトライが増えてもそれが(c)のように異常終了とならない限り、コマンドに対する応答時間が長くなったという程度しか認識することができない。しかしながら、この応答時間の長さというのは、システムの負荷状態によっても容易に変わってくるものなので、RAIDコントローラとしては、応答時間が長い=ハードディスクに異常がある。と判断し縮退させることは非常に難しい。
従って、ハードディスクが半故障状態に陥り動作が不安定な状態であっても、RAIDコントローラでは、ハードディスクからコマンドの応答がある限り、これを正常なハードディスクとして認識するしかなかった。結果、RAIDを構成しているハードディスクの幾つかがこのような半故障状態に陥った状態でデータ同期処理を実行した場合や、データ同期処理を実行中にハードディスクの幾つかが半故障状態に陥った場合、データ同期処理における多数IO処理について、内部リトライを繰り返すため非常に時間がかかることになる。例えば、正常状態であれば3時間程度で終了していたデータ同期処理が、10時間かかることがある。
従来技術によれば、RAIDを構成するハードディスクが半故障に陥ってしまうと、システム管理者が想定していた時間内にデータ同期処理が終わらず、ユーザの業務の開始時間にずれ込んでしまうことがあった。その結果、データ同期処理のIO処理のために業務IO処理がなかなか動作せず、ユーザの業務に支障を与えることがあった。
特許文献1には、「ユーザがあらかじめ設定した時刻までにバックアップ処理が終わらない場合、もしくはユーザが手動で中断要求を行った場合」に、バックアップ処理を中断し、再開処理要求に応じて中断後の残りの処理を再開する技術が記載されている。この技術によれば、システム管理者が想定していた時間内にデータ同期処理が終了しない場合、データ同期処理を中断し、後で続きを実行することができる。
予定時刻までにデータ同期処理が完了しなかった場合に、ユーザが望む処理はユーザ毎に、或いは、同一ユーザであっても日時等の条件によって異なる。例えば次の(1)〜(4)が考えられるだろう。(1)データ同期処理の完了を優先し、結果的に他処理の実行速度が低下することを容認する。(2)データ同期処理を中断する。他処理は影響を受けない。次のデータ同期処理は最初から行われる。(3)データ同期処理を中断する。他処理は影響を受けない。次のデータ同期処理は中断した箇所からの続きを行う。(4)データ同期処理による影響を一定以下に抑制しつつ他処理との両方を図る。
特開2004−318810号公報(第0022−0025段落、第0031−0033段落)
本発明はこのような状況に鑑みてなされたものであり、本発明が解決しようとする課題は、所定の時刻までにデータ同期処理が完了しなかった場合に、日付等の条件毎に予め定めた処理を続けることを可能とするデータ同期技術を提供することである。
上述の課題を解決するため、本発明は次のようなディスクアレイシステムのデータ同期方法、コンピュータプログラム、ディスクアレイ装置及びディスクアレイシステムを提供する。
まず、本発明は、データを冗長化して保持するディスクアレイシステムにおけるデータの冗長性を維持するためのデータ同期処理を実行する方法において、データ同期処理の実行中に、予め設定した時刻情報(実施の形態等における実行限界日時情報)と現在の時刻情報とを比較する処理を、ディスクアレイシステムにて実行する段階と、データ同期処理が予め設定した時刻に完了していない場合、予め設定した動作候補(表1において動作指定の候補となる0x00、0x01、0x02)のいずれかを選択する処理を、ディスクアレイシステムにて実行する段階と、選択した処理(動作指定x3)をディスクアレイシステムにて実行する段階とを含み、動作候補は次の(1)〜(3)の指定動作、即ち、(1)データ同期処理を続行する(表1動作指定の0x00)、(2)データ同期処理を中止し、今回のデータ同期処理の停止位置に関わらずに次回のデータ同期処理を行う(表1動作指定の0x01)、(3)データ同期処理を一時停止し、今回のデータ同期処理の停止位置から次回のデータ同期処理を再開する(表1動作指定の0x02)、の(1)〜(3)からなることを特徴とするディスクアレイシステムのデータ同期方法を提供する。
上述のディスクアレイシステムのデータ同期方法において、動作候補は、(1)〜(3)に加えて次の(4)の指定動作、即ち、(4)予め定められた実行比率に応じて、データ同期処理及びその他の処理を並行して実行するからなることとしてもよい。この場合、ユーザは、データ同期処理及びその他の処理に起因する負荷を指定しつつ、両者を並列処理させることができる。このため、一方の処理の負荷によって他方の処理が全く進まない、或いは予想を超えて遅れるといった事態を未然に防ぐことが出来る。
上述のディスクアレイシステムのデータ同期方法において、時刻情報は日付または曜日の少なくとも一方を含むこととしてもよい。
また、本発明は、データを冗長化して保持するディスクアレイシステムのディスクアレイコントローラにて実行されるコンピュータプログラムであって、データの冗長性を維持するデータ同期処理に係るコンピュータプログラムにおいて、データ同期処理の実行中に、予め設定した時刻情報と現在の時刻情報とを比較する処理と、比較処理にてデータ同期処理が予め設定した時刻に完了していない場合、予め設定した動作候補のいずれかを選択して実行する処理とをディスクアレイコントローラに実行させるコンピュータプログラムであって、動作候補は次の(1)〜(3)の指定動作、即ち、(1)データ同期処理を続行する、(2)データ同期処理を中止し、今回のデータ同期処理の停止位置に関わらずに次回のデータ同期処理を行う、(3)データ同期処理を一時停止し、今回のデータ同期処理の停止位置から次回のデータ同期処理を再開する、の(1)〜(3)からなることを特徴とするコンピュータプログラムを提供する。
また、本発明は、複数のディスク装置とホストコンピュータとの間に接続される装置であって、ホストコンピュータに対し、複数のディスク装置を用いて、データを冗長化して保持するディスクアレイを提供するディスクアレイ装置において、データ同期処理の実行中に現在の時刻情報と比較するための設定時刻情報と、データ同期処理が設定時刻情報が示す時刻までに完了していない場合に実行され得る動作候補のうち、予め選択された指定動作を示す動作指定情報とを格納する設定記憶部と、実行中のデータ同期処理が設定記憶部に格納された設定時刻情報までに完了していない場合、動作指定情報が示す指定動作を選択して実行するディスクアレイコントローラとを備え、動作候補は次の(1)〜(3)の指定動作、即ち、(1)データ同期処理を続行する、(2)データ同期処理を中止し、今回のデータ同期処理の停止位置に関わらずに次回のデータ同期処理を行う、(3)データ同期処理を一時停止し、今回のデータ同期処理の停止位置から次回のデータ同期処理を再開する、の(1)〜(3)からなることを特徴とするディスクアレイ装置を提供する。
更に、本発明は、上述のディスクアレイ装置、ホストコンピュータ、及び、複数のディスク装置からなるディスクアレイシステムを提供する。
本発明によれば、ディスクが半故障状態になり、見込んでいた設定時刻を過ぎてもデータ同期処理が完了しない場合、ディスクアレイシステムは、指定動作(1)〜(3)のいずれかを実行する。つまり、ユーザはディスクが半故障状態に陥ったときの動作を予め指定することが可能である。
動作候補として指定動作(4)、即ち、予め定められた実行比率に応じて、データ同期処理及びその他の処理を並行して実行することを含む場合、ユーザは、データ同期処理及びその他の処理に起因する負荷を指定しつつ、両者を並列処理させることができる。このため、一方の処理の負荷によって他方の処理が全く進まない、或いは予想を超えて遅れるといった事態を未然に防ぐことが出来る。
また、時刻情報は日付または曜日の少なくとも一方を含むこととすれば、日付毎或いは曜日毎に異なる指定動作を設定することが出来る。これにより、例えばその他の処理による負荷が特に高いと予めわかっている日付や曜日では、その他の処理を優先して指定動作(2)乃至(3)を設定し、その翌日にはデータ同期処理を優先して指定動作(1)を設定するといった柔軟な運用が可能となる。
本発明の一実施の形態であるディスクアレイシステム1について以下に説明する。図1に示すように、ディスクアレイシステム1は、ホストコンピュータ2、ディスクアレイ装置3、ハードディスク装置4及び5からなる。ディスクアレイ装置3はディスクアレイコントローラ6及び設定記憶部7を備える。ハードディスク装置4、5はそれぞれハードディスクコントローラ8、9を備える。
ディスクアレイシステム1は、RAID(Redundant Arrays of Independent(Inexpensive) Disks)1またはRAID5のようにデータを冗長化して保持するディスクアレイシステムである。設定記憶部7には、データ同期処理の開始日時情報、実行限界日時情報、実行限界期限を過ぎた場合の動作指定情報等が格納される。ディスクアレイコントローラ3は、データ同期処理を実行することにより、内部または外部の原因によって失われたデータの冗長性を復旧してデータの冗長性を維持するが、データ同期処理と並行して、設定情報に基づいて現在時刻と実行限界日時とを比較し、実行限界日時を過ぎてもデータ同期処理が完了していない場合、対応する動作指定情報にて指定されている動作を実行する。
これにより、RAIDを構成するハードディスクが半故障状態に陥り、データ同期処理の実行時間が通常より非常に長い時間にわたった結果、実行限界日時、例えばユーザの業務開始時刻以降にデータ同期処理がずれ込んだとしても、業務に伴うIO処理に対して、予期せぬ悪影響が及ぶのを防ぐことが出来る。
ディスクアレイシステム1についてより詳細に説明する。
設定記憶部7に格納されるデータ同期処理のスケジュール設定のデータ構造を表1に示す。スケジュール設定はユーザにより指定される。スケジュール設定は情報100、200、300より構成される。データ同期処理のスケジュール実行はこのスケジュール設定に基づいて行われる。
Figure 0004844736
情報100は、データ同期処理の実行開始日時と、継続フラグとで構成されている。実行開始日時はデータ同期処理を開始する日時の情報が格納される。また、継続フラグは、開始するデータ同期処理が継続動作、または新規動作かを示す情報が格納される。ここでは、情報100の実行開始日時として年月日及び時分秒の値を指定する。継続フラグとして0x00(新規動作)、0x01(継続動作)のいずれかの値を指定する。
情報200はデータ同期処理の実行限界を示す日時の情報である。情報200には年月日及び時分秒の値を指定する。
情報300は、データ同期処理を実行中に情報200に格納された実行限界日時をオーバした場合における、データ同期処理の取り扱いを指定する情報である。本実施例では、情報300は0x00=データ同期処理の継続、0x01=データ同期処理の強制中断、0x02=データ同期処理の一時中断(翌日の同時刻から再実行)のいずれかが定義されているものとする。
データ同期処理のスケジュール設定の際、システム管理者は、業務時間、システム負荷の低い日時、データ同期処理に必要な時間を考慮しつつ、実行開始時刻、実行限界時刻、動作指定の情報を入力する。例えば、業務開始時刻の前に実行限界時間を設定し、データ同期処理の所要時間から逆算して実行開始時刻を設定する。動作指定については、データ冗長性の復旧のために業務処理よりも優先してデータ同期処理を実行したいならば、0x00を指定し、業務開始時刻以降にデータ同期処理が動作して欲しくなければ0x01を指定し、業務時間内にデータ同期処理が動作して欲しくないがデータ同期処理自体は進めて欲しいならば0x02を指定する。このように、システム管理者はシステムの運用状態に応じて動作指定を選択することができる。
図2を参照してディスクアレイシステム1の動作フローについて説明する。この動作フローは、データ同期処理部10、復旧処理部20、判定処理部30、スケジュール監視部40により構成されている。これら処理部10〜40はディスクアレイコントローラ6にて実行される。
データ同期処理部10ではデータ同期処理が実行される。一般的なデータ同期処理では、RAIDを構成している各ハードディスクの先頭アドレスから順次リードして、冗長データの比較という動作を最後尾のアドレスまで継続して実施する。一般的なデータ同期処理では、RAIDを構成する各ハードディスクの先頭アドレスから最後尾のアドレスまで順次リードして、冗長データを比較する。これに加えて、データ同期処理10では、破線楕円部11で囲んだ処理、即ち、定期的に現在の日時と情報200の値とを比較する処理を実行する。実行限界日時をオーバした場合は判定処理30へ移行する。
復旧処理部20は、データ同期処理部10において、ハードディスクからのデータリード時に何らかのエラーを検出した場合や、冗長データ部分の比較時に不一致データを検出した場合に移行する処理である。リードエラーや不一致となったデータが復旧可能かどうかを判定し、復旧可能な場合には復旧処理を行う。
判定処理30は、前述のようにデータ同期処理部10の実行中に実行限界時間をオーバした場合に実行される処理である。判定処理部30では、情報300に格納された値に応じて、実行中のデータ同期処理について中断、継続などの処理を行う。
スケジュール監視部40は、設定記憶部7に予め設定された情報100の実行開始日時と現在日時とを比較し、一致するとデータ同期処理部10に移行する。
ディスクアレイシステム1の動作例についてより詳細に説明する。ここではディスクアレイシステム1はRAID1で構成されているものとする。ユーザはディスクアレイシステム1を用いての業務を毎日午前7時0分0秒から開始するものとする。ハードディスクが全て正常な状態にあるとき、ディスクアレイシステム1におけるデータ同期処理は3時間で完了するものとする。
まず、システム管理者は、業務開始時刻とデータ同期処理の正常時の所要時間とを考慮してデータ同期処理のスケジュール設定を行う。ここでは情報100の実行開始日時として2005年08月22日 午前2時0分0秒を設定するものとする。情報200の実行限界日時として2005年8月22日 午前6時45分0秒を設定するものとする。また、情報300の動作指定として、業務時間にはデータ同期処理を実行しないこととして0x01=データ同期処理の強制中断を設定するものとする。尚、ここでは初回の設定とするので、継続フラグ=0x00(新規動作)と設定される。
スケジュール監視部40はシステムの現在の日時を定期的に監視し、情報100に格納されている値と比較する。現在の日時が2005年08月22日 02:00:00になると、スケジュール監視部40はデータ同期処理部10へ移行する。
データ同期処理部10は、RAID1を構成しているハードディスク4、5に対して、それぞれの先頭アドレスから0x4000カウント分のデータをリードした後、互いのデータを比較する処理を行う。この処理をそれぞれのハードディスクの最後尾アドレスまで行う。データのリード及び比較の過程において、リードエラー等の何らかの異常を検出した場合、復旧処理部20へ移行する。復旧処理部20は、異常を検出したハードディスクのアドレス情報と異常の内容とを元にデータの復旧の可否を判定し、可能な場合、正常なハードディスクから該当するデータをリードし、異常を検出したハードディスクのデータを復旧したあと、再びデータ同期処理部10に戻る。
データ同期処理部10の実行中にハードディスク4または5が半故障状態に陥ると、リードリトライの発生や、エラーの検出とその復旧のため、データ同期処理に非常に長い時間を要するようになる。ここで、ハードディスク4が半故障状態に陥ったため、実行限界日時である2005年8月22日午前6時45分0秒までに完了しなかったものとする。このとき、判定処理30へ移行する。
このとき、判定処理30では、情報300に格納された0x01の値から、データ同期中断処理を実行し、スケジュール設定されたデータ同期処理は中断されたことを示すログ情報などを出力してデータ同期処理を終了する。
また、ユーザのシステムの状況等によっては、業務時間内にはデータ同期処理は動作して欲しくないものの、データ同期処理は実施したい場合がある。この場合には、先のデータ同期処理のスケジュール設定において、情報300に0x02=データ同期処理の一時中断を設定することになる。このように設定したときの動作について説明する。
実行限界日時をオーバして、判定処理30に移行するまでは上記説明と同じである。判定処理部30にて、情報300に格納された0x02の値から、データ同期の一時中断処理を行い、データ同期処理を実行中のハードディスク4、5のアドレス情報を記憶させ、情報100のデータ同期の実行開始日時を、翌日である2005年08月23日 02:00:00に書き換え、継続フラグを0x01(継続動作)に書き込み、また情報200の実行限界日時を翌日である2005年08月23日 06:45:00に書き換えた後、データ同期処理の中断を行い、スケジュール設定されたデータ同期処理は一時中断されたことを示すログ情報などを出力して終了する。
スケジュール監視部40はシステムの現在の日時を定期的に監視している。翌日の同時刻である2005年08月23日 02:00:00になると、データ同期処理10へ移行する。データ同期処理10では、情報100から継続フラグが0x01であることから継続処理と判断し、継続処理のため記憶していたハードディスク4、5のアドレス情報を展開しデータ同期処理を中断していた箇所から継続して実行する。
以上の手順を行うことで、データ同期処理の実施中にRAIDを構成しているハードディスクが半故障状態に陥った後に、ユーザの業務時間にデータ同期処理が意図せずに動作してしまい、業務に多大な影響を与えることを防止することができる。また、ユーザの業務開始時間やシステム状況にあわせて、データ同期処理を中断/続行させたり、翌日の同じ時間から継続させたりすることが可能となる。
実施例1では、情報300に動作指定として設定される動作候補は、0x00=データ同期処理の継続、0x01=データ同期処理の強制中断、0x02=データ同期処理の一時中断の3つであった。実施例2では、これらの動作に加えて、0x03=データ同期処理と通常IOとの実行比率を10:90に変更して続行する、0x04=データ同期処理と通常IOとの実行比率を20:80に変更して続行する、を動作候補とする。また、図2のフローチャートにおいて、判定処理部30の代わりに図3の判定処理部31を用いる。
判定処理部31にて情報300の指定動作が0x03のとき、ディスクアレイコントローラ6は、データ同期処理に係るIO処理と、その他の処理に係るIO処理との比率が10:90になるようにIO処理の実行比率を変更した後、図2内の(1)に戻り、データ同期処理を継続する。同様に、指定動作が0x04のとき、ディスクアレイコントローラ6は、データ同期処理に係るIO処理と、その他の処理に係るIO処理との比率が20:80になるようにIO処理の実行比率を変更した後、図2内の(1)に戻り、データ同期処理を継続する。
このように、ディスクアレイコントローラ6にて実行されるIO処理の比率を定めることにより、データ同期処理やその他の処理の実行が予期できないほどに遅延するのを防止することができる。
以上、本発明を実施の形態及び実施例に基づいて説明したが、本発明はこれに限定されるものではなく、当業者の通常の知識の範囲内でその変更や改良が可能であることは勿論である。
例えば、上述の実施例では、設定記憶部7は1日分の設定情報を記憶し、これを日毎に更新する動作を説明したが、この代わりに、1週間、1ヶ月、1年間分の設定情報を日毎に記憶することとしてもよい。この場合、例えば早朝から多忙な曜日は通常業務による処理を優先して情報300の指定動作を0x01(データ同期処理の強制中断)とし、その他の曜日はデータ同期処理を優先して0x00(データ同期処理の継続)とするといった運用が可能となる。
本発明の一実施の形態であるディスクアレイシステム1の機能ブロック図である。 ディスクアレイシステム1の動作を説明するためのフローチャートである。 判定処理部31の動作を説明するためのフローチャートである。 ハードディスクの状態遷移を説明するための図である。
符号の説明
1 ディスクアレイシステム
2 ホストコンピュータ
3 ディスクアレイ装置
4、5 ハードディスク装置
6 ディスクアレイコントローラ
7 設定記憶部
9 ハードディスクコントローラ

Claims (10)

  1. データを冗長化して保持するディスクアレイシステムにおけるデータの冗長性を維持するためのデータ同期処理を実行する方法において、
    データ同期処理の実行中に、予め設定した時刻情報と現在の時刻情報とを比較する処理を、前記ディスクアレイシステムにて実行する段階と、
    データ同期処理が予め設定した時刻に完了していない場合、予め設定した動作候補のいずれかを選択する処理を、前記ディスクアレイシステムにて実行する段階と、
    前記選択した処理を前記ディスクアレイシステムにて実行する段階とを含み、
    前記動作候補は次の(1)〜(3)の指定動作、即ち、
    (1)データ同期処理を続行する、
    (2)データ同期処理を中止し、今回のデータ同期処理の停止位置に関わらずに次回のデータ同期処理を行う、
    (3)データ同期処理を一時停止し、今回のデータ同期処理の停止位置から次回のデータ同期処理を再開する、
    の(1)、(2)及び(3)からなる
    ことを特徴とするディスクアレイシステムのデータ同期方法。
  2. 請求項1に記載のディスクアレイシステムのデータ同期方法において、前記動作候補は、前記(1)〜(3)に加えて次の(4)の指定動作、即ち、
    (4)予め定められた実行比率に応じて、データ同期処理及びその他の処理を並行して実行する、
    からなることを特徴とするディスクアレイシステムのデータ同期方法。
  3. 請求項1に記載のディスクアレイシステムのデータ同期方法において、前記時刻情報は日付または曜日の少なくとも一方を含むことを特徴とするディスクアレイシステムのデータ同期方法。
  4. データを冗長化して保持するディスクアレイシステムのディスクアレイコントローラにて実行されるコンピュータプログラムであって、データの冗長性を維持するデータ同期処理に係る前記コンピュータプログラムにおいて、
    データ同期処理の実行中に、予め設定した時刻情報と現在の時刻情報とを比較する処理と、
    前記比較処理にてデータ同期処理が予め設定した時刻に完了していない場合、予め設定した動作候補のいずれかを選択して実行する処理と、
    を前記ディスクアレイコントローラに実行させるコンピュータプログラムであって、
    前記動作候補は次の(1)〜(3)の指定動作、即ち、
    (1)データ同期処理を続行する、
    (2)データ同期処理を中止し、今回のデータ同期処理の停止位置に関わらずに次回のデータ同期処理を行う、
    (3)データ同期処理を一時停止し、今回のデータ同期処理の停止位置から次回のデータ同期処理を再開する、
    の(1)、(2)及び(3)からなる
    ことを特徴とするコンピュータプログラム。
  5. 請求項4に記載のコンピュータプログラムにおいて、前記動作候補は、前記(1)〜(3)に加えて次の(4)の指定動作、即ち、
    (4)予め定められた実行比率に応じて、データ同期処理及びその他の処理を並行して実行する、
    からなることを特徴とするコンピュータプログラム。
  6. 請求項4に記載のコンピュータプログラムにおいて、前記時刻情報は日付または曜日の少なくとも一方を含むことを特徴とするコンピュータプログラム。
  7. 複数のディスク装置とホストコンピュータとの間に接続される装置であって、前記ホストコンピュータに対し、前記複数のディスク装置を用いて、データを冗長化して保持するディスクアレイを提供するディスクアレイ装置において、
    データ同期処理の実行中に現在の時刻情報と比較するための設定時刻情報と、データ同期処理が前記設定時刻情報が示す時刻までに完了していない場合に実行され得る動作候補のうち、予め選択された指定動作を示す動作指定情報とを格納する設定記憶部と、
    実行中のデータ同期処理が前記設定記憶部に格納された設定時刻情報までに完了していない場合、前記動作指定情報が示す指定動作を選択して実行するディスクアレイコントローラとを備え、
    前記動作候補は次の(1)〜(3)の指定動作、即ち、
    (1)データ同期処理を続行する、
    (2)データ同期処理を中止し、今回のデータ同期処理の停止位置に関わらずに次回のデータ同期処理を行う、
    (3)データ同期処理を一時停止し、今回のデータ同期処理の停止位置から次回のデータ同期処理を再開する、
    の(1)、(2)及び(3)からなる
    ことを特徴とするディスクアレイ装置。
  8. 請求項7に記載のディスクアレイ装置において、前記動作候補は、前記(1)〜(3)に加えて次の(4)の指定動作、即ち、
    (4)予め定められた実行比率に応じて、データ同期処理及びその他の処理を並行して実行する、
    からなることを特徴とするディスクアレイ装置。
  9. 請求項7に記載のディスクアレイ装置において、前記時刻情報は日付または曜日の少なくとも一方を含むことを特徴とするディスクアレイ装置。
  10. 請求項7に記載のディスクアレイ装置、ホストコンピュータ、及び、複数のディスク装置からなるディスクアレイシステム。
JP2006231618A 2006-08-29 2006-08-29 ディスクアレイシステムのデータ同期方法及びコンピュータプログラム Expired - Fee Related JP4844736B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006231618A JP4844736B2 (ja) 2006-08-29 2006-08-29 ディスクアレイシステムのデータ同期方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006231618A JP4844736B2 (ja) 2006-08-29 2006-08-29 ディスクアレイシステムのデータ同期方法及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2008059014A JP2008059014A (ja) 2008-03-13
JP2008059014A5 JP2008059014A5 (ja) 2009-08-13
JP4844736B2 true JP4844736B2 (ja) 2011-12-28

Family

ID=39241720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006231618A Expired - Fee Related JP4844736B2 (ja) 2006-08-29 2006-08-29 ディスクアレイシステムのデータ同期方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4844736B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5183650B2 (ja) * 2010-02-17 2013-04-17 株式会社日立製作所 計算機システム,計算機システムにおけるバックアップ方法及びプログラム
US8838920B2 (en) * 2010-11-17 2014-09-16 International Business Machines Corporation Determining whether to extend a drain time to copy data blocks from a first storage to a second storage

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4546629B2 (ja) * 2000-05-25 2010-09-15 株式会社日立製作所 記憶システム、記憶システムの応答方法及び記録媒体

Also Published As

Publication number Publication date
JP2008059014A (ja) 2008-03-13

Similar Documents

Publication Publication Date Title
JP4886209B2 (ja) アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法
US7526684B2 (en) Deterministic preventive recovery from a predicted failure in a distributed storage system
US20090198888A1 (en) Disk Array System
JP2010128773A (ja) ディスクアレイ装置、そのディスク管理方法及びそのディスク管理プログラム
JP2009187049A (ja) 装置
US20040153753A1 (en) Backup method on a hierarchical backup system
JP5040331B2 (ja) 記憶装置、記憶装置の制御方法、及び記憶装置の制御プログラム
JP4984613B2 (ja) Raid装置の制御方法、raid装置、およびraid装置の制御プログラム
JP4844736B2 (ja) ディスクアレイシステムのデータ同期方法及びコンピュータプログラム
JPH1195933A (ja) ディスクアレイ装置
JP2004213470A (ja) ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
JP2009104369A (ja) ディスクサブシステム
JP4248164B2 (ja) ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
JP4143040B2 (ja) ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム
US20100169572A1 (en) Data storage method, apparatus and system for interrupted write recovery
JP4956135B2 (ja) バックアップ装置、バックアップ方法及びプログラム
JP6175771B2 (ja) ディスクアレイ装置、バッドセクタ修復方法および修復プログラム
JP2000122813A (ja) ディスクアレイ装置
JP2005149248A (ja) メタデータ修復方式,方法および記憶装置ならびにプログラム
JP2830840B2 (ja) ディスクアレイ修復処理方式及び方法
JP2002215336A (ja) 記憶装置の制御方法および記憶サブシステム
JP2007183808A (ja) 磁気ディスク装置
JPH0588988A (ja) デイスクアレイ装置及びデータの復元方法
JP2006202254A (ja) 分散記憶システムにおける予測される故障からの決定論的予防回復
JP2010020840A (ja) 磁気ディスク装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090626

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: 20110914

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110927

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4844736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees