JP3944280B2 - 障害回復方法および装置 - Google Patents
障害回復方法および装置 Download PDFInfo
- Publication number
- JP3944280B2 JP3944280B2 JP18210597A JP18210597A JP3944280B2 JP 3944280 B2 JP3944280 B2 JP 3944280B2 JP 18210597 A JP18210597 A JP 18210597A JP 18210597 A JP18210597 A JP 18210597A JP 3944280 B2 JP3944280 B2 JP 3944280B2
- Authority
- JP
- Japan
- Prior art keywords
- disk
- area
- data
- host computer
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、ディスクアレイ装置において、アクセス不能となったデータの障害回復を行う場合に用いる方法とその方法を用いるディスク制御装置に関する。
【0002】
【従来の技術】
現在RAID(Redundant Array of Inexpensive Disks)技術を用いて信頼性を高めているディスクアレイ装置では、あるディスク装置に障害が発生し、その格納データにアクセス不能になった場合には、障害ディスク装置と同じ冗長構成グループである他のディスク装置に格納されているデータおよびパリティにより、障害ディスク装置内のデータを復元させる。ここで、RAID1いわゆるミラーリングの場合は二重化されているもう一方のディスク装置のデータを用いる。一般的には、復元したデータはスペアとしてディスク制御装置に接続しているディスク装置(以下スペアディスク装置)に保存し、スペアディスク装置を障害ディスク装置に代替する。
【0003】
データの復元は、ディスクアレイ装置の稼働中に行われ、ホストコンピュータの障害ディスク装置に対するアクセスは中断させない。従って、ホストコンピュータのアクセス要求がある障害ディスク装置内のデータが優先的に復元され、ディスク制御装置のアイドル時に他の部分が復元され、スペアディスクに格納される。
【0004】
データの復元中には、ディスク制御装置は冗長構成グループ内の障害ディスク装置以外のディスク装置すべてにアクセスをしなければならないため、その処理量は増大し一般的にホストコンピュータに対するアクセス性能は正常時よりも低下する。従って、データの復元に要する時間は可能なかぎり短時間であることが望ましい。
【0005】
従来技術の公知例としては、例えば、RAIDを提唱した D. Patterson らの「A Case for Redundant Arrays of Inexpensive Disks(RAID)エーシーエム シグモド(ACM SIGMOD)Conference,Chicago,IL,june 1988」やThe RAIDAdvisory Board 発行の「The RAID Book」など、一般的なディスクアレイ装置に関する記事または製品のマニュアル等が挙げられる。
【0006】
【発明が解決しようとする課題】
従来の技術では、障害ディスク装置内のデータをスペアディスク装置に復元するのに要する時間は、ディスク装置の記憶容量に比例して増大する。障害修復時は入出力性能の低下を招くため障害修復時間はできるだけ短い方が望ましい。
【0007】
ここで、ディスク装置内に格納されているデータについて考えると、その中には、ホストコンピュータのオペレーティングシステム(OS)の持つファイルシステムではすでに無効とされたデータで空き領域となっている場合や未使用の領域等も含まれている。本来これらのデータは復元の必要がない。
【0008】
しかし、従来の技術ではディスク制御装置はファイルシステムに見えている論理的なデータの有効,無効やディスク装置内の空き領域を判断する手段を持たないため、ディスク装置内のすべての記憶領域に対してデータ復元処理をしなければならない。ディスク装置障害時の有効なデータの記憶領域占有率(以下ディスク使用率と呼ぶ)が低ければ低いほど無駄なデータの復元を行うことになる。
【0009】
【課題を解決するための手段】
本発明では、障害ディスク装置の修復時、ホストコンピュータ上のOSの持つ論理的なファイル格納位置や空き領域を管理するテーブル(以下ファイル管理テーブル)を基にして、ディスク制御装置内で物理的なディスク制御装置内のファイル格納位置や空き領域に展開することで論理的に有効なデータの格納領域のみを復元することで障害回復に要する時間を短縮する。
【0010】
障害回復時は、ファイル管理テーブルに基づいて、ディスク制御装置のデータ格納の管理単位を一領域とした有効領域を示すテーブル(以下有効領域テーブル)を作り、このテーブルにしたがってデータ復元処理を進めることで、有効領域のみ回復し処理時間を短縮する。
【0011】
この管理単位はRAID1のようなパリティを持たない冗長構成のディスクアレイ装置の場合には、ディスク装置のトラック単位としたりシリンダ単位とすることが自由であるが、RAID3,4,5等のデータのストライプとパリティ格納を行う場合には、パリティを演算するストライプ列を1つの管理単位とする。有効領域テーブルの作成の基となるファイル管理テーブルをディスク制御装置が得る手段として、1)ホストコンピュータにファイル管理テーブルの送信を要求する。2)ファイル管理テーブルの格納位置が既知であるOSの場合はディスク装置が読み出す。以上の二通り方法がある。
【0012】
また、有効領域テーブルはビットマップ形式でも良いし、リスト形式で作成しても良い。そして、1)の方法の場合にはファイル管理テーブルをホストコンピュータから受け取るための手段として、ホストコンピュータに対してファイル管理テーブルの送信を要求するコマンドを新たに創設する。また、上記コマンドをホストコンピュータのOSが理解できるようにOSにもその処理手順をマイクロプログラムに組み込む。
【0013】
【発明の実施の形態】
本発明の提供する障害回復方法と必要な装置を以下に図面を示し実施例を参照して詳細に説明する。
【0014】
図1は本発明に必要なシステム構成の概略である。ディスク制御装置101,ホストコンピュータ102,ディスク装置103の大きく分けて3つの構成要素がある。ホストコンピュータ102のオペレーティングシステム(OS)104の管理下にあるファイルシステム105ではその管理下のファイルの格納位置やディスク装置内の空き領域を管理するためのテーブル(以下ファイル管理テーブルと呼ぶ)106を使用しファイル入出力制御を行う。このテーブルはディスク装置内に格納されている。一方、ディスク制御装置は、マイクロプロセッサ (MP)107,メモリ108,キャッシュメモリ109,ホストI/F110,ディスクI/F制御部111,内部バス112より構成される。ディスク制御装置とディスク装置はディスクI/F(一般的SCSIバス)113により接続される。
【0015】
ECCグループとして、ここではRAID5の場合を例として、4台のディスク装置を1グループ114としている。このグループ内の1台のディスク装置に障害が発生した場合には障害発生ディスク装置と同一SCSIバス上に接続されているスペアディスク装置115に、グループ114の他の3台のディスク装置から復元したデータを格納する。
【0016】
本発明では、ホストコンピュータのOSの管理下にあるファイル管理テーブルを利用して、ディスク装置内の有効領域テーブルを作成してデータ回復を行う。このファイル管理テーブルをディスク制御装置に認識させるには、1)ホストコンピュータから受信する方法、または、2)ファイル管理テーブルの最新データのディスク装置内の格納位置が常に定まった位置で、そのデータ形式も既知の場合には、ディスク制御装置がその格納位置から読み出すという二通りの方法が考えられる。ここでは、より一般的に、ファイル管理テーブルに関する情報はホストコンピュータのOSのみが理解している場合を考えて、上記1)の方法で説明を進める。
【0017】
図2は本発明による障害回復処理時のディスク制御装置の動作のフローチャートである。ここでは、ディスク装置の障害発生を検知し、障害回復処理を開始する。ステップ201ではホストコンピュータの送信してくるファイル管理テーブルを格納する為のキャッシュメモリ領域の確保を行う。ステップ202では、ファイル管理テーブルの送信要求コマンドをホストコンピュータに発行する。ステップ203ではホストコンピュータのファイル管理テーブル送信コマンドを受信する。ステップ204では、用意しておいたキャッシュメモリの領域にファイル管理テーブルのデータを格納する。ステップ205では、キャッシュメモリより、ローカルメモリに上記テーブルのデータを読み込む。ステップ206で有効領域テーブル作成処理を行う。ステップ207では有効領域テーブルに従って障害回復処理を実行する。
【0018】
一方、上記2)の方法の場合、ホストコンピュータと通信することなしに、当該テーブルのデータをディスク制御装置が読み出し、キャッシュメモリに格納後、前述のステップ205以降の動作を行う。
【0019】
具体的なホストコンピュータとディスク制御装置間の上記テーブルの送受信に用いる方法としては、ホストI/FがSCSIである場合を例にとるとディスク制御装置より、イデンティファイ(Identify)メッセージを発行し、それに対してホストコンピュータより、リクエスト センス(Request Sense)コマンドを発行する。ディスク制御装置の障害回復処理を認知したホストコンピュータはファイル管理テーブルをデータとしてライト(write)コマンドを発行する。この時、write コマンドCDBコントロールバイト部のベンダ固有ビット(ビット7,6)に1を立てて、ファイル管理テーブルデータを書き込むことを明示する。これを受けたディスク制御装置はコマンド解析後、受信データを予め確保しておいたキャッシュ領域に格納する。
【0020】
図3はディスク制御装置の有効領域テーブル作成処理のフローチャートである。ステップ301でファイル管理テーブルの格納位置先頭論理ブロックアドレスおよびデータ長または未使用領域の先頭論理ブロックアドレスおよびブロック長を参照する。ステップ302でディスク制御装置の持つディスク装置の論理アドレスと前ステップで参照したファイル管理テーブルの情報を比較する。ステップ303で、前ステップの比較結果に従ってファイルが存在する領域またはファイルの存在しない未使用領域を有効または無効と判断し、実際のディスク装置の格納位置に対する有効領域テーブルを作成する。
【0021】
この時、そのディスクアレイ装置が用いているRIAD方式により有効領域テーブルの管理単位は異なる。RAID0方式およびRAID1方式ではパリティを用いないので、自由な管理単位で良い。しかし、データストライピングとパリティを用いるRAID3,4,5方式等の場合は、パリティを演算しているストライピング列を管理単位としてテーブルを作成する。ステップ304では完成した有効領域テーブルを基にディスク制御装置が障害回復処理を開始する。
【0022】
図4は障害回復処理のフローチャートである。従来の回復処理のパスと本発明のパスを示した。本発明の従来方法との違いは有効領域テーブルに従って有効領域のみを処理して行くことである。
【0023】
ステップ401では、先頭の領域から有効領域テーブルを参照して有効なら処理を続け、無効なら次の領域の処理に移る。
【0024】
ステップ402では障害時の管理単位を1領域として、障害発生ECCグループ内の正常ディスク装置からこの領域を読み出す。RAID1方式であれば正常なディスク装置からこの領域を読み出す。RAID3,4,5方式の場合は障害発生ディスク装置と同一ECCグループを構成していた残りのディスク装置から、ストライプ列を単位としてこの領域を読み出す。
【0025】
ステップ403では、読み出した領域のデータの排他的論理和を演算してこの領域の障害ディスク装置のデータを回復する。ステップ404では、回復した領域のデータをスペアディスクに書き込む。ステップ405は全領域の回復を完了したかどうかの判定である。このステップ401〜405の処理を障害ディスク装置内の全領域のデータを回復するまで繰り返す。
【0026】
また、障害回復処理中に生じる書き込み要求に対しては、キャッシュメモリにデータを格納後、当該データの格納位置に対応する領域の回復処理が終了するまで、ディスク装置に対する書き込みを保留しておく。
【0027】
図5はファイル管理テーブルと有効領域テーブルの変換例を示す。ここでは一例として、ファイル管理テーブル501は論理ボリューム511内に格納されるファイルのファイル名502とそのファイルの先頭論理ブロックアドレス503,データ長504で構成されている、またディスク制御装置の持つ論理ブロックアドレスとディスク装置内ブロックアドレスの対応表505は論理ボリューム番号512,論理ブロックアドレス508,ディスク装置番号509,ディスク装置内ブロックアドレス510より構成される場合を例に取って説明する。
【0028】
障害回復時にはディスク装置内を論理ブロックアドレスの0番地から最終番地までをディスクアレイ装置が使用しているRAID方式に合わせて適当な領域 (Region)507に区切り、これを回復処理の単位とする。この時ファイル管理テーブルの論理ボリューム番号,ファイルの先頭論理ブロックアドレス,データ長を、実際のディスク装置のアドレスに変換し、このアドレス範囲を含む領域は有効として、有効領域テーブル506で有効/無効のビット508を立てる。ここでは有効領域テーブル506はビットマップ形式にしているがリスト形式としても本発明の効果は変わらない。
【0029】
また、ファイル管理テーブルの形式はOSにより各種の形式があるが、論理ボリューム内の空き領域を管理している形式のテーブルの場合は、図5で説明した回復処理の領域にマッピングさせて、その領域を無効領域とするテーブルを作成すればよい。
【0030】
ディスク制御装置で有効領域テーブルを作成する方法の場合には、ホストコンピュータからファイル管理テーブルを受信する場合および既知の格納位置からディスク制御装置が読み出す場合のどちらも、キャッシュメモリ109にファイル管理テーブルを格納した後、メモリ108に上記テーブルを読み込み、論理アドレスと物理アドレスとの変換を行い有効領域テーブルを作成する。
【0031】
図6は本発明におけるデータおよび制御の流れを図示したものである。図中ではディスク装置601が障害を起こした例を考える。ファイル管理テーブル106は、手順602よりディスク制御装置から要求を受けた、ホストコンピュータより、手順603でディスク制御装置へ送信されキャッシュメモリに一時格納される。手順604でキャッシュメモリからローカルメモリ上にファイル管理テーブル106を読み込み、手順605で有効領域テーブルの作成処理を行った後、手順606で、ディスク装置に障害処理手順に従って、読み込みコマンドを発行する。
【0032】
【発明の効果】
本発明により、障害ディスク装置内の有効な領域のみを回復処理することで、ディスクアレイ装置での障害回復に要する時間を短縮できる。ディスク装置内の有効な領域の全領域に対する比率が少なければ少ないほど、本発明の効果は大きい。
【図面の簡単な説明】
【図1】本発明を利用するシステムの概要を示すブロック図。
【図2】本発明におけるディスク制御装置の障害回復処理の一例を示すフロー図。
【図3】本発明における有効領域テーブル作成処理の一例を示すフロー図。
【図4】従来と本発明のディスク制御装置の障害回復処理を示すフロー図。
【図5】ファイル管理テーブルと有効領域テーブルの一例を示した説明図。
【図6】本発明におけるデータおよび制御の流れを示した説明図。
【符号の説明】
101…ディスク制御装置、102…ホストコンピュータ、103…ディスク装置、104…オペレーティングシステム(OS)105…ファイルシステム、106…ファイル管理テーブル、107…マイクロプロセッサ(MP)、108…メモリ、109…キャッシュメモリ、110…ホストI/F、111…ディスクI/F制御部、112…内部バス、113…ディスクI/F、114…ディスク装置グループ、115…スペアディスク装置。
Claims (4)
- ディスク制御装置と複数のディスク装置とからなるディスクアレイ装置において、
ディスク装置の障害発生に基づいて障害回復処理を行う時に、該ディスクアレイ装置に接続しているホストコンピュータのオペレーティングシステムの管理している論理的なディスク装置内のファイル格納領域又は空き領域の状態を、前記ディスク制御装置が前記ホストコンピュータに要求して前記ホストコンピュータから受信した情報に基づいて認識することにより、ディスクアレイ装置内の論理的有効領域のみを回復することを特徴とする障害回復方法。 - 前記情報とは、前記ホストコンピュータが有する、前記オペレーティングシステムの管理下にある論理的なファイル格納領域又は空き領域を管理するためのテーブルであり、前記要求にはSCSIコマンドが使用されることを特徴とする請求項1記載の障害回復方法。
- 前記論理的なファイルファイル格納領域又は空き領域を管理するためのテーブルを受取った前記ディスク制御装置が、前記テーブルの情報に基づいてディスク制御装置内のデータ格納の管理単位を一領域として、その領域が論理的に有効なデータの格納領域か空き領域かを示すテーブルを作成することを特徴とする請求項2記載の障害回復方法。
- コンピュータと接続されるディスクアレイ装置であって、
ディスク制御部と複数のディスク装置とを有し、
前記ディスク制御部は更に、
マイクロプロセッサと、
キャッシュメモリと、
前記コンピュータと接続されるインターフェースとを有し、
前記マイクロプロセッサは、前記複数のディスク装置のうちのいずれかに障害が発生したことを検知し、前記コンピュータが有する前記オペレーティングシステムの管理下にある論理的なファイル格納領域又は空き領域を管理するためのテーブルを要求するコマンドを前記インターフェースを介して前記コンピュータに送信し、前記コンピュータから送信される前記テーブルを前記キャッシュメモリに格納し、前記テーブルに基づいて、前記障害が発生したディスク装置に格納されたデータのうち、論理的に有効な領域のみを他のディスク装置に格納されたデータを用いて回復することを特徴とするディスクアレイ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18210597A JP3944280B2 (ja) | 1997-07-08 | 1997-07-08 | 障害回復方法および装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18210597A JP3944280B2 (ja) | 1997-07-08 | 1997-07-08 | 障害回復方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1124849A JPH1124849A (ja) | 1999-01-29 |
JP3944280B2 true JP3944280B2 (ja) | 2007-07-11 |
Family
ID=16112433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18210597A Expired - Fee Related JP3944280B2 (ja) | 1997-07-08 | 1997-07-08 | 障害回復方法および装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3944280B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3435400B2 (ja) | 2000-12-08 | 2003-08-11 | 株式会社東芝 | ディスクアレイ装置におけるデータ修復方法及びディスクアレイコントローラ |
JP3579389B2 (ja) | 2001-11-30 | 2004-10-20 | 株式会社東芝 | ディスクアレイ装置及び同装置におけるデータ復旧方法 |
JP4765967B2 (ja) * | 2007-03-20 | 2011-09-07 | 日本電気株式会社 | 情報処理装置及び情報処理方法並びにプログラム |
JP4836014B2 (ja) * | 2009-07-24 | 2011-12-14 | 日本電気株式会社 | ディスクアレイ装置及び物理ディスクの復元方法 |
JP5549249B2 (ja) * | 2010-02-04 | 2014-07-16 | 富士通株式会社 | ストレージ装置、ストレージ装置のデータ復元方法及びストレージコントローラ |
JP5640618B2 (ja) * | 2010-10-04 | 2014-12-17 | 富士通株式会社 | 管理プログラム、管理装置、および管理方法 |
-
1997
- 1997-07-08 JP JP18210597A patent/JP3944280B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1124849A (ja) | 1999-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5089958A (en) | Fault tolerant computer backup system | |
JP6009095B2 (ja) | ストレージシステム及び記憶制御方法 | |
JP3742494B2 (ja) | 大容量記憶装置 | |
US6058489A (en) | On-line disk array reconfiguration | |
US7487289B2 (en) | Apparatus and method for detecting disk write omissions | |
JP3243223B2 (ja) | 記憶デバイスアレイ | |
US5790773A (en) | Method and apparatus for generating snapshot copies for data backup in a raid subsystem | |
US7412578B2 (en) | Snapshot creating method and apparatus | |
US5951691A (en) | Method and system for detection and reconstruction of corrupted data in a data storage subsystem | |
US8112679B2 (en) | Data reliability bit storage qualifier and logical unit metadata | |
US6243827B1 (en) | Multiple-channel failure detection in raid systems | |
US6604171B1 (en) | Managing a cache memory | |
US6961818B1 (en) | Method, system and computer program product for managing data in a mirrored cache using an access balancing technique | |
EP0802485B1 (en) | Host-based RAID-5 and NV-RAM integration and method therefor | |
WO2002091111A2 (en) | Parity mirroring between controllers in an active-active controller pair | |
JP3561002B2 (ja) | ディスク装置 | |
JP4324088B2 (ja) | データ複製制御装置 | |
US8140886B2 (en) | Apparatus, system, and method for virtual storage access method volume data set recovery | |
JP4491330B2 (ja) | ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム | |
JPH09269871A (ja) | ディスクアレイ装置におけるデータ再冗長化方式 | |
JP7232281B2 (ja) | ストレージシステム及びストレージシステムの制御方法 | |
JP3944280B2 (ja) | 障害回復方法および装置 | |
JP2001075741A (ja) | ディスク制御システムおよびデータ保全方法 | |
JP3155836B2 (ja) | ディスクアレイ装置 | |
CN107122261B (zh) | 一种存储设备的数据读写方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040330 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070409 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |